Con un 94% de empresas que utilizan servicios en la nube hoy en día, se puede decir que (casi) todas las empresas son una empresa en la nube. Pero, como suele ocurrir en TI, ahora que estamos familiarizados con cloud-ready, un nuevo concepto ha ganado protagonismo: el desarrollo cloud-native. Cloud-native ha crecido a partir de ahí, ofreciendo otra capa por encima de cloud-ready, en la que también se incluyen requisitos adicionales no funcionales.
Si está explorando plataformas de desarrollo nativas en la nube, hay algunas consideraciones que debe tener en cuenta a la hora de seleccionar la tecnología adecuada.
- 1. Containerization. Cuando se trata de plataformas nativas de la nube, se espera que incluyan contenedores en la arquitectura. En términos sencillos, los contenedores permiten que la aplicación se ejecute de forma independiente y agnóstica del sistema operativo. Esto es vital para una aplicación cloud-native y el tema número uno a tener en cuenta.
- 2. Facilidad de adaptación a escala. La escalabilidad es fundamental desde el punto de vista financiero. Sólo debe pagar por lo que utiliza. La mayoría de las plataformas nativas de la nube le permiten escalar, lo que significa que cuando tiene picos de uso y necesita recursos adicionales, la plataforma le permite aumentar la capacidad y el rendimiento de su sistema o infraestructura.
- 3. Status siempre verde. ¿Parches y actualizaciones? Eso no es motivo de indisponibilidad. Elija un socio cloud-native que siga evolucionando su plataforma sin afectar a su negocio. Hoy en día existen mecanismos que permiten a las empresas realizar actualizaciones sin inactividad.
- 4. Arquitectura de microservicios. Se trata de un atributo esencial de las aplicaciones nativas de la nube. Dividir las aplicaciones en partes pequeñas y poco acopladas facilita a los desarrolladores la creación de software ágil y resistente. Además, los microservicios acortan los ciclos de desarrollo.
- 5. Autenticación moderna. No diría que es imprescindible, pero sin duda es una gran ventaja para añadir a tus aplicaciones. A medida que los ciberataques se vuelven más sofisticados, busca una plataforma con capacidades de vanguardia en lo que respecta a la autenticación, es decir, la integración con los servicios de autenticación externos más comunes que existen.
- 6. Soporte del ciclo de vida. No se trata sólo de ejecutar aplicaciones en la nube; la plataforma que elija debe soportar todo el ciclo de vida. Necesita poder desarrollar, probar y cambiar su aplicación rápidamente.
- 7. DevOps y CI/CD. Esto forma parte del ciclo de vida, pero es lo suficientemente importante como para tener su propia entrada. Para ser tan rápido como lo exige su empresa, debe ser capaz de desplegar su aplicación con rapidez y frecuencia.
- 8. Fácil de integrar. Las integraciones siempre serán una parte importante del desarrollo de aplicaciones personalizadas. Debe asegurarse de que la plataforma que elija se integre fácilmente con sus aplicaciones locales, en la nube o en paquetes comerciales.
- 9. Seguridad desde el diseño. Una de las mayores preocupaciones en torno a la computación en nube es la seguridad. Por lo tanto, elija una plataforma de desarrollo que gestione perfectamente esta cuestión por usted. Esto es importante no sólo en el momento del despliegue, sino también desde la perspectiva de la ejecución de la aplicación.
- 10. Monitoreo y observación. Hay muchos servicios que una plataforma nativa de la nube puede ofrecerle. Es imprescindible disponer de un conjunto completo de herramientas que le permitan supervisar su infraestructura y sus aplicaciones. Debe poder rastrear cada paso/acción/capa de sus aplicaciones, así como recopilar métricas sobre el uso siempre que sea conveniente.
Es importante señalar que implantar una infraestructura nativa en la nube no es fácil ni barato. Un estudio para identificar cuánto cuesta pasarse a la nube nativa concluye que la implantación de la infraestructura puede costar a una empresa 5,3 millones de dólares. La buena noticia es que, a medida que la tecnología evoluciona, ya existen soluciones que proporcionan todas las capacidades anteriores por default y una infraestructura increíble para que pueda empezar a centrarse en su producto desde el primer día.
Por: Otávio Souza Solutions Engineer role at OutSystems