PaaSTA est un système distribué hautement disponible pour créer, déployer et exécuter des services à l'aide de conteneurs et de Kubernetes.
PaaSTA gère des services de production chez Yelp depuis 2016. Il a été initialement conçu pour fonctionner sur Apache Mesos, mais a ensuite été mis à jour pour utiliser Kubernetes. Au fil du temps, les fonctionnalités fournies par PaaSTA ont augmenté, mais la conception principale reste la même.
PaaSTA vise à prendre une description déclarative des services que les équipes doivent exécuter, puis à garantir que ces services sont déployés en toute sécurité, efficacement et d'une manière facile à maintenir pour les équipes. Plutôt que de gérer les fichiers Kubernetes YAML, PaaSTA fournit un schéma simplifié pour décrire votre service et en plus de configurer Kubernetes, il peut également configurer d'autres outils d'infrastructure pour assurer la surveillance, la journalisation, la gestion des coûts, etc.
Vous voulez en savoir plus sur les opinions qui font la particularité de PaaSTA ? Consultez les principes PaaSTA.
Remarque : PaaSTA est une plateforme avisée qui utilise quelques outils sans opinion. Il nécessite la mise en place d’une quantité non négligeable d’infrastructures avant de fonctionner complètement :
L’un des avantages d’avoir un PaaS composé de composants comme ceux-ci est que vous pouvez les réutiliser à d’autres fins. Par exemple, chez Yelp Sensu n'est pas uniquement destiné à PaaSTA, il peut être utilisé pour surveiller toutes sortes de choses. Nous utilisons également Kubernetes pour exécuter d'autres charges de travail plus complexes comme Jolt et Cassandra. Notre maillage de services, qui est une version fortement personnalisée de SmartStack et Envoy, permet à de nombreux systèmes de Yelp de communiquer avec les services PaaSTA et entre eux.
D'un autre côté, nécessiter beaucoup de composants signifie beaucoup d'infrastructure à configurer avant que PaaSTA puisse fonctionner efficacement ! En réalité, exécuter PaaSTA en dehors de Yelp ne serait pas judicieux, car en plus des intégrations mentionnées ci-dessus, nous avons également des opinions bien arrêtées encodées dans d'autres outils que vous auriez besoin de reproduire. Néanmoins, nous codons PaaSTA ouvertement parce que nous pensons qu'il est utile de partager notre approche et espérons que le code pourra au moins aider d'autres à comprendre ou à résoudre des problèmes similaires.
En plus des intégrations directes ci-dessus, PaaSTA s'appuie également sur d'autres composants pour fournir aux utilisateurs de PaaSTA d'autres fonctionnalités et pour gérer la capacité de calcul de Yelp.
Consultez la documentation de démarrage pour savoir comment déployer PaaSTA. Cette référence est destinée à aider à comprendre le fonctionnement de PaaSTA mais nous ne vous conseillons pas d'utiliser PaaSTA en production.
Pour déboguer PaaSTA dans VS Code, veuillez vous référer à la page wiki interne de PaaSTA "Débogage de PaaSTA (dans VS Code)".
Lisez la documentation sur Lire la documentation.
PaaSTA est sous licence Apache, version 2.0 : http://www.apache.org/licenses/LICENSE-2.0
Tout le monde est encouragé à contribuer à PaaSTA en bifurquant le référentiel Github et en faisant une pull request ou en ouvrant un ticket.