Leyendo el futuro de AWS a 3 años desde los anuncios de re:Invent - El ciclo de vida de los servicios y las leyes de la discontinuación
Enfrentamos el hecho de que los servicios de AWS también tienen vida útil, como la suspensión de nuevas inscripciones de CodeCommit y el fin de facto de SimpleDB, proporcionando una perspectiva de selección tecnológica para analizar el ciclo de vida de los servicios e identificar los servicios que no desaparecerán.
Los servicios de AWS también tienen vida útil
AWS se ha sostenido sobre la confianza implícita de que "los servicios una vez lanzados no se discontinúan". Sin embargo, la situación cambió en julio de 2024. AWS anunció la suspensión de nuevas inscripciones para múltiples servicios incluyendo CodeCommit, Cloud9, S3 Select, CloudSearch y SimpleDB. Los clientes existentes pueden seguir utilizándolos, pero la política es no agregar nuevas funciones. OpsWorks también anunció el fin de su vida útil. Estos anuncios obligaron a la industria a reconocer que los servicios de AWS no son eternos y que la selección tecnológica debe considerar el ciclo de vida del servicio.
Patrones comunes de los servicios que desaparecieron
Los servicios discontinuados o reducidos comparten patrones comunes. SimpleDB fue lanzado en 2007 como la primera base de datos NoSQL de AWS, pero perdió rápidamente su presencia cuando DynamoDB fue lanzado en 2012. Desapareció de la lista de servicios de AWS y el acceso desde la consola se hizo imposible, pero la API se mantuvo durante muchos años. Finalmente en 2024 se suspendieron las nuevas inscripciones. CodeCommit fue superado por GitHub y GitLab, y Cloud9 fue superado por VS Code y los IDEs en la nube. El patrón común es: un servicio que fue superado por una alternativa superior (interna o externa) y cuya base de usuarios se redujo gradualmente.
Las 4 etapas del ciclo de vida de un servicio
El ciclo de vida de los servicios de AWS se divide en 4 etapas. La primera etapa es Preview. Se anuncia en eventos como re:Invent y se ofrece como preview limitado. En esta etapa no hay SLA, la API puede cambiar y no es adecuado para cargas de trabajo de producción. Hay que tener en cuenta que existen servicios que permanecen en Preview sin llegar a GA. La segunda etapa es GA (disponibilidad general). Se proporciona SLA, la API se estabiliza y es adecuado para uso en producción. La tercera etapa es Madurez. Las nuevas funciones disminuyen pero la estabilidad es alta, y la base de usuarios es grande. La cuarta etapa es Declive. Las nuevas funciones se detienen, la documentación se actualiza con menos frecuencia y aparecen servicios sucesores.
Condiciones de los servicios que no desaparecen
Los servicios que perduran a largo plazo comparten características comunes. Primero, ser la base de otros servicios. S3 es utilizado como almacén de datos por numerosos servicios de AWS, y discontinuar S3 es prácticamente imposible. EC2 es la base de ejecución de ECS, EKS, RDS, Redshift y muchos otros servicios. IAM es la base de autenticación y autorización de todos los servicios. Estos servicios base tienen un costo de discontinuación prohibitivo debido a la profundidad de sus dependencias. Segundo, ser un pilar de ingresos. Los servicios con grandes ingresos tienen baja probabilidad de discontinuación. Tercero, estar vinculado a estándares de la industria. Los servicios basados en estándares abiertos (Kubernetes, SQL, HTTP) tienen alta portabilidad y baja probabilidad de discontinuación. Para profundizar en selección tecnológica, los libros relacionados (Amazon) también son una buena referencia.
Framework práctico de selección tecnológica
Al juzgar la adopción de un nuevo servicio de AWS, el siguiente framework es efectivo. Primero, verificar cuánto tiempo ha pasado desde GA. Los servicios con más de 2 años desde GA y adición continua de funciones probablemente han entrado en la etapa de madurez y son una opción estable. Segundo, verificar si el servicio es la base de otros servicios de AWS. Los servicios que aparecen frecuentemente en la documentación y guías de arquitectura de AWS tienen alta probabilidad de continuidad. Tercero, verificar si existe un servicio sucesor. Si AWS ha lanzado un servicio con funcionalidad superpuesta, el servicio anterior puede estar en declive. Cuarto, siempre tener una estrategia de salida. Diseñar para poder migrar a un servicio alternativo si el servicio actual se discontinúa.
Resumen
Los servicios de AWS tienen un ciclo de vida y no son existencias permanentes. La suspensión de nuevas inscripciones de CodeCommit, Cloud9 y SimpleDB en 2024 demostró claramente este hecho. Las condiciones de los servicios que no desaparecen son: ser la base de otros servicios, ser un pilar de ingresos y estar vinculado a estándares de la industria. En la selección tecnológica, siempre mantener la pregunta "¿qué haría si este servicio no existiera en 3 años?" y diseñar con una estrategia de salida es la clave para una arquitectura cloud sostenible.