Tecnología¿Cómo construir una aplicación moderna cloud-native en 3 días?

Netflix y la arquitectura de microservicios nos abrió un nuevo paradigma de desarrollo para cualquier aplicación cloud-native y que es una oportunidad para todas las empresas.

Image Alt

11 de Abril 2021 · 4 minutes

Todas las startup y empresas de distintos tamaños necesitan crear aplicaciones modernas. ¿Cómo lograrlo en un muy corto tiempo? ¿Cuáles son los aprendizajes que nos deja Netflix respecto a este punto?

Netflix vs Blockbuster

Netflix el servicio de películas online que destruyó a Blockbuster y que todos usamos en nuestras casas, no hizo un lift-and-shift hacia el cloud, sino que tomó directamente una estrategia Cloud-Native de Microservicios. Que cambió el paradigma de construcción acelerada de software para atender y escalar a nivel global.

¿Qué podemos aprender de Netflix para construir aplicaciones modernas cloud-native para startup (MVP) o empresas gigantes?

La arquitectura de microservicios es un método de desarrollo de aplicaciones software que funciona como un conjunto de pequeños servicios que se ejecutan de manera independiente y autónoma, proporcionando una funcionalidad de negocio completa. En ella, cada microservicio es un código que puede estar en un lenguaje de programación diferente, y que desempeña una función específica. Los microservicios se comunican entre sí a través de APIs, y cuentan con sistemas de almacenamiento propios, lo que evita la sobrecarga y caída de la aplicación. Netflix es también uno de los primeros impulsores importantes detrás de la arquitectura de microservicios.

Prework: Antes de Construir Aceleradamente

Les dejo los puntos centrales que deben tener antes de comenzar a construir aceleradamente.

  1. Automatiza la creación de recursos en el cloud (ex. Terraform, aws cli, etc)
  2. Crea tu aplicación usando Docker container
  3. CI/CD debe ser automatizado al 100% - (ex. Github + Github Actions)
  4. Utiliza Kubernetes o AWS Fargate para orquestrar los containers
  5. API Gateway con Serverless tales como AWS Lambda, Google Cloud Functions o Azure functions.
  6. Cluster DB (NoSQL o SQL según sea la necesidad)

Concepto: Atomic Building

Es importante entender que para construir en forma acelerada es indispensable tener Building Blocks hechos y alcanzar una alta reutilización de las unidades lógicas y funcionales. Tal como los seres vivos que tenemos: átomos, moléculas, organismos, etc. El desarrollo del software acelerado usando microservicios tiene un trabajo previo que crece en forma orgánica. Esto lo aplicamos en el Front-end (Micro-Frontend) y en el Backend con el uso de API Gateway para gatillar todas las funcionalidades necesarias a nivel de microservicios.

MVP e iteración a la velocidad de la luz

Crear muchos MVP, lanzarlos y hacerlos competir es una buena táctica para encontrar el camino y validar hipótesis de negocio, iterando en forma acelerada, repitiendo el ciclo hasta lograr cubrir las necesidades.

Design Thinking + Agile + DevOps

Si aplicas estos simples consejos que aprendimos de Netflix y la arquitectura de Microservicios podrás crear lo que sea.