La columna vertebral de Sonata.ai
La comunicación entre los componentes individuales es simple. Coherencia de codeEasier to refactorAl actualizar, se debe probar toda la aplicación antes de desplegar el despliegue. La preparación debe estar preparada para toda la instancia, lo que generalmente requiere más trabajo de adivinación y un potente hardware. Un error puede llevar a un mal funcionamiento de toda la plataforma.
Microservicios
Desarrollo continuo más sencillo: cada parte se puede implementar de forma individual Mayor disponibilidad del servicio Sin límite para las tecnologías utilizadasComunicación compleja entre servicios Transacciones distribuidas El diseño general necesita un mayor nivel de sofisticación Necesidad de monitoreo de alta calidad
¿Por qué elegimos microservicios?
El requisito básico para la plataforma era una disponibilidad 24/7. En parte porque nosotros mismos hemos sido testigos de cortes frecuentes de otras plataformas y en parte porque este problema fue una de las quejas más comunes de nuestros encuestados. Nuestros DevOps han preparado un conjunto de herramientas para monitorear la utilización de procesos individuales. Cada servicio se ejecuta en un contenedor separado. Gracias a los microservicios, podemos aumentar la capacidad de cómputo para una parte específica del sistema sobre la marcha.
Sonata.ai es, ante todo, una plataforma fácil de usar. Nuestros diseñadores querían poder reaccionar ante una demanda popular y las necesidades de los usuarios. Por esta razón, la capacidad de implementar rápidamente parte actualizada del servicio era una necesidad. Podemos modificar cualquier parte de la aplicación en poco tiempo y sin afectar la experiencia del usuario. También es por eso que hemos desarrollado una infraestructura de CI / CD con una implementación de tiempo de inactividad cero.
Nuestro equipo de desarrolladores no se basa en una sola oficina, sino que se dispersa en diferentes lugares. Basados en nuestra experiencia previa, estamos utilizando una metodología ágil. Es por eso que podemos evitar errores comunes y hacer las cosas de manera rápida y efectiva. El uso de microservicios nos ayuda a elegir la solución tecnológica adecuada para cada problema. También podemos reescribir cada parte completamente si la encontramos subóptima. Con suerte, esto no sucederá con demasiada frecuencia.