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.
- Automatiza la creación de recursos en el cloud (ex. Terraform, aws cli, etc)
- Crea tu aplicación usando Docker container
- CI/CD debe ser automatizado al 100% - (ex. Github + Github Actions)
- Utiliza Kubernetes o AWS Fargate para orquestrar los containers
- API Gateway con Serverless tales como AWS Lambda, Google Cloud Functions o Azure functions.
- 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.
Si aplicas estos simples consejos que aprendimos de Netflix y la arquitectura de Microservicios podrás crear lo que sea.