PaaSTA é um sistema distribuído altamente disponível para construir, implantar e executar serviços usando contêineres e Kubernetes.
PaaSTA executa serviços de produção no Yelp desde 2016. Ele foi originalmente projetado para rodar em Apache Mesos, mas foi posteriormente atualizado para usar Kubernetes. Com o tempo, os recursos e funcionalidades que o PaaSTA oferece aumentaram, mas o design principal permanece o mesmo.
PaaSTA visa obter uma descrição declarativa dos serviços que as equipes precisam para executar e, em seguida, garantir que esses serviços sejam implantados de forma segura, eficiente e de uma maneira que seja fácil de manter pelas equipes. Em vez de gerenciar arquivos YAML do Kubernetes, o PaaSTA fornece um esquema simplificado para descrever seu serviço e, além de configurar o Kubernetes, também pode configurar outras ferramentas de infraestrutura para fornecer monitoramento, registro, gerenciamento de custos, etc.
Quer saber mais sobre as opiniões por trás do que torna o PaaSTA especial? Confira os Princípios PaaSTA.
Nota : PaaSTA é uma plataforma opinativa que usa algumas ferramentas não opinativas. Requer que uma quantidade não trivial de infraestrutura esteja instalada antes de funcionar completamente:
Uma vantagem de ter um PaaS composto por componentes como esses é que você pode reutilizá-los para outros fins. Por exemplo, no Yelp Sensu não é apenas para PaaSTA, ele pode ser usado para monitorar todo tipo de coisa. Também usamos Kubernetes para executar outras cargas de trabalho mais complexas, como Jolt e Cassandra. Nossa malha de serviço, que é uma versão altamente customizada do SmartStack e do Envoy, permite que muitos sistemas do Yelp se comuniquem com os serviços PaaSTA e entre si.
Por outro lado, exigir muitos componentes significa muita infraestrutura para configurar antes que o PaaSTA possa funcionar de maneira eficaz! Realistamente, executar o PaaSTA fora do Yelp não seria sensato, porque além das integrações mencionadas acima, também temos opiniões fortes codificadas em outras ferramentas que você precisaria replicar. No entanto, codificamos o PaaSTA abertamente porque achamos útil compartilhar nossa abordagem e esperamos que o código possa pelo menos ajudar outras pessoas a compreender ou resolver problemas semelhantes.
Além das integrações diretas acima, o PaaSTA também conta com outros componentes para fornecer aos usuários do PaaSTA outros recursos e para gerenciar a capacidade computacional no Yelp.
Consulte a documentação de introdução para saber como implantar o PaaSTA. Esta referência tem como objetivo ajudar a entender como o PaaSTA funciona, mas não recomendamos que você use o PaaSTA em produção.
Para depurar PaaSTA no VS Code, consulte a página wiki interna do PaaSTA "Debugging PaaSTA (in VS Code)".
Leia a documentação em Leia os documentos.
PaaSTA é licenciado sob a Licença Apache, Versão 2.0: http://www.apache.org/licenses/LICENSE-2.0
Todos são incentivados a contribuir com o PaaSTA bifurcando o repositório Github e fazendo uma solicitação pull ou abrindo um problema.