En este artículo, me gustaría hablar sobre cómo cambiamos nuestro enfoque hacia la orquestación en nuestro proyecto de startup, por qué lo hicimos y qué problemas enfrentamos en el camino. Esta artículo puede no ser único, pero aún así creo que puede ser útil para algunos, ya que durante el proceso de resolver el problema, recopilamos material de manera considerable.
¿Qué teníamos y de qué se trata? Teníamos un proyecto de startup con aproximadamente 2 años de historia de desarrollo en el campo de la publicidad. El proyecto fue originalmente concebido como un microservicio, y su parte del servidor está escrita en Symfony, con un poco de Laravel, Django y NodeJs nativo. Los servicios consisten principalmente en API para clientes móviles (tenemos 3 en el proyecto) y nuestro propio SDK para iOS (que se integra en las aplicaciones de nuestros clientes), así como interfaces web y varios paneles de control para esos mismos clientes. Todos los servicios fueron inicialmente dockerizados y funcionaban bajo la gestión de docker-compose.
Sin embargo, docker-compose no se usó en todas partes, solo en el entorno local de los desarrolladores, en la fase de pruebas servidor y dentro del pipeline durante la construcción y prueba de los servicios. En el entorno de producción se utilizó Google Kubernetes Engine (GKE). Además, configuramos GKE al inicio del proyecto completamente a través de su interfaz web, lo cual fue bastante rápido y, en ese momento, parecía conveniente. Solo se automatizó el proceso de construcción de imágenes de docker para ejecutar los servicios en GKE.
