My Authors
Read all threads
Hoy me gustaría compartir algunas reflexiones fruto de las últimas novedades aparecidas y mis experiencias en cliente con #infrastructureascode en #AWS. Vamos al lío 👇
Siempre me he sentido más atraido hacia el enfoque declarativo por su falsa sensación de control y orden, pero con configuraciones grandes, poder refactorizar el código hacia abstracciones propias y modificar su definición/parametrización con código ha sido determinante
En ese sentido, #cloudformation como tal siempre me ha parecido muy locura y un formato más de bajo nivel que otra cosa. En general siempre trabajo con herramientas que lo generan como #serverlessframework o #amplify
He estado evaluando alternativas como #sam de #AWS, pero me sigue dando la impresión de que está demasiado cerca de #cloudformation en sus definiciones y, además, #serverlessframework está super maduro y es muy estable. Así que mi apuesta para el back en #lambda sigue siendo esa
Con #amplify, dotamos al frontend de capacidades interesantes como autenticación con #cognito o subida de ficheros directa a #s3, que hacen que integrar servicios de #AWS en una aplicación #react, resulte muuuucho más sencillo que hacerlo a mano
Esto quiere decir que los comandos del cli de #amplify, también van a generar #cloudformation y sincronizarán elementos de la infra de forma automágica

github.com/aws-amplify/am…
Como comentaba, #serverlessframework define todo lo relativo a #lambda, #dynamo y #apigateway, pero tampoco es la herramienta ideal cuando quieres tener control sobre la creación de otros elementos de la infraestructura (logs, streams, ml, storage, ...)
Para otros elementos, en general se siguen utilizando aproximaciones como #terraform o #pulumi, que son multi-cloud y permiten o bien de forma más declarativa o con código, generar el resto de elementos que necesitamos (ELB, ECS, ECR, etc)
Aquí es donde el panorama de #AWS ha cambiado más en los últimos meses y donde se ha visto influenciada mi postura y aproximación a la gestión de servicios cloud. Bienvenido pues #AWS #cdk 🎉

docs.aws.amazon.com/cdk/latest/gui…
Con #cdk tenemos cobertura de toda la API de #AWS, ya que es un producto que ofrecen ellos directamente. Con una aproximación similar a #pulumi, nos permite definir nuestra infraestructura como código (#typescript, #javascript, #python, #java y #csharp)

docs.aws.amazon.com/cdk/latest/gui…
Además, resulta que la gente de #hashicorp se han subido al carro y #terraform ha anunciado ya soporte para #cdk en #python y #typescript, con lo que si ya estabas convencido con #terraform, no tienes porque cambiar

hashicorp.com/blog/cdk-for-t…
Lo que ha cambiado más mi forma de utilizarlo ha sido la facilidad de tener la definición de la infra más cerca de los #boundedcontexts de la aplicación. Por cada dominio que puede ser desplegado y escalado individualmente, ahora además de front y el back, puedo tener la infra
El layout pues de cualquier dominio o #boundedcontext puede quedar distribuido así:

- Tests de aceptación: #cypress
- Frontend: #react
- Backend: #lamba
- Infraestructura: #cdk

Y además todo con #typescript!!!
Para mi es la solución perfecta, ya que #cdk permite un control y unas posibilidades de reutilización muy potentes. Aquí tenéis más ejemplos para haceros una idea de su potencia (no olvidéis consultar la documentación de la API que está muy currada):

github.com/aws-samples/aw…
Por último y con el objetivo de potenciar #ecs como plataforma de despliegue rápido y sencillo de aplicaciones basadas en contenedores. #AWS ha lanzado hace nada también #copilot:

github.com/aws/copilot-cli
#copilot sigue un enfoque muy parecido a #vercel o incluso #heroku a la hora de facilitar la puesta en marcha de aplicaciones indivuales de forma sencilla. Es un wrapper sobre #cloudformation para crear ELB, Cluster de ECS y #cloudformation rápidamente
Si tenéis una única aplicación, puede ser vuestra opción, pero si necesitas más control, tu aplicación consta de varios servicios y además tienes que involucrar otros elementos de la infra, #cdk creo que puede encajar mejor...
Esta es la evolución que percibo desde mi experiencia, opinionada, en los servicios de #AWS. Espero que os haya resultado de interés y encontréis en alguno de estos escenarios una mejor solución a vuestro caso de uso 😀
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with Ricardo Borillo

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!