PaaSTA es un sistema distribuido de alta disponibilidad para crear, implementar y ejecutar servicios utilizando contenedores y Kubernetes.
PaaSTA ha estado ejecutando servicios de producción en Yelp desde 2016. Originalmente fue diseñado para ejecutarse sobre Apache Mesos, pero posteriormente se actualizó para usar Kubernetes. Con el tiempo, las características y funcionalidades que proporciona PaaSTA han aumentado, pero el diseño principal sigue siendo el mismo.
PaaSTA tiene como objetivo tomar una descripción declarativa de los servicios que los equipos necesitan ejecutar y luego garantizar que esos servicios se implementen de manera segura, eficiente y de una manera que sea fácil de mantener para los equipos. En lugar de administrar archivos YAML de Kubernetes, PaaSTA proporciona un esquema simplificado para describir su servicio y, además de configurar Kubernetes, también puede configurar otras herramientas de infraestructura para proporcionar monitoreo, registro, administración de costos, etc.
¿Quiere saber más sobre las opiniones detrás de lo que hace que PaaSTA sea especial? Consulte los principios de PaaSTA.
Nota : PaaSTA es una plataforma obstinada que utiliza algunas herramientas sin opinión. Requiere que exista una cantidad no trivial de infraestructura antes de que funcione por completo:
Una ventaja de tener una PaaS compuesta por componentes como estos es que puedes reutilizarlos para otros fines. Por ejemplo, en Yelp Sensu no es sólo para PaaSTA, puede usarse para monitorear todo tipo de cosas. También utilizamos Kubernetes para ejecutar otras cargas de trabajo más complejas como Jolt y Cassandra. Nuestra malla de servicios, que es una versión muy personalizada de SmartStack y Envoy, permite que muchos sistemas en Yelp se comuniquen con los servicios PaaSTA y entre sí.
Por otro lado, requerir muchos componentes significa mucha infraestructura que configurar antes de que PaaSTA pueda funcionar de manera efectiva. De manera realista, ejecutar PaaSTA fuera de Yelp no sería sensato, porque además de las integraciones mencionadas anteriormente, también tenemos opiniones sólidas codificadas en otras herramientas que necesitaría replicar. Sin embargo, codificamos PaaSTA abiertamente porque creemos que es útil compartir nuestro enfoque y esperamos que el código al menos pueda ayudar a otros a comprender o resolver problemas similares.
Además de las integraciones directas anteriores, PaaSTA también depende de otros componentes para proporcionar a los usuarios de PaaSTA otras funciones y administrar la capacidad informática en Yelp.
Consulte la documentación de introducción para saber cómo implementar PaaSTA. Esta referencia tiene como objetivo ayudar a comprender cómo funciona PaaSTA, pero no recomendamos que utilice PaaSTA en producción.
Para depurar PaaSTA en VS Code, consulte la página wiki interna de PaaSTA "Depuración de PaaSTA (en VS Code)".
Lea la documentación en Leer los documentos.
PaaSTA tiene la licencia Apache, versión 2.0: http://www.apache.org/licenses/LICENSE-2.0
Se anima a todos a contribuir a PaaSTA bifurcando el repositorio de Github y realizando una solicitud de extracción o abriendo un problema.