Neste artigo gustaríame falar de como cambiamos o enfoque da orquestración no noso proxecto de inicio, por que o fixemos e que problemas resolvemos ao longo do camiño. Este artigo dificilmente pode pretender ser único, pero sigo pensando que pode ser útil para alguén, xa que no proceso de resolución do problema, recollemos o material cun esforzo decente.
Que tiñamos e de que falamos? E tivemos un proxecto de inicio con preto de 2 anos de historia de desenvolvemento no campo da publicidade. O proxecto foi construído inicialmente como un microservizo, e a súa parte do servidor escribiuse en Symfony + un pouco de Laravel, Django e NodeJs nativos. Os servizos son principalmente unha API para clientes móbiles (no proxecto hai 3) e o noso propio SDK para IOS (integrado nas aplicacións dos nosos clientes), así como interfaces web e varios paneis de control destes mesmos clientes. Todos os servizos foron inicialmente dockerizados e executáronse baixo docker-compose.
É certo que docker-compose non se usou en todas partes, senón só no entorno local dos desenvolvedores, na fase de proba. servidor e dentro da canle ao crear e probar servizos. No ambiente de produción, empregamos Google Kubernetes Engine (GKE). Ademais, configuramos GKE completamente a través da súa interface web ao comezo do proxecto, o que foi bastante rápido e, como pensamos nese momento, cómodo. O único proceso automatizado foi crear imaxes de Docker para lanzar servizos en GKE.
