Elige tecnología clásica y aburrida
por:Uno de los problemas que solemos tener los programadores, es que nos gusta estar a la última y usar aquello que acabamos de leer que usa Google, Facebook o la startup que lo está rompiendo. Sin embargo, ¿es esto lo mejor?
Tú no eres Google
Últimamente veo muchos equipos pequeños, startups y compañías con equipos técnicos poco maduros y no muy grandes apostar por arquitecturas o tecnologías muy modernas, como los microservicios, bases de datos NoSQL, etc. En mi opinión, uno de los principales problemas de esto, es utilizar una herramienta, tecnología o metodología porque X empresa lo usa. Está claro que todos queremos hacerlo lo mejor posible y aprovechar todas las novedades, pero muchas veces se toman decisiones que son como matar moscas a cañonazos.
Donde digo Google, puedes poner cualquier otra tecnológica grande como Facebook, Microsoft, Amazon, etc.
¿Cuáles son tus problemas? ¿Cuáles son los problemas de Google?
Los problemas de Google los podemos resumir en los siguientes puntos:
- Un tráfico ingente
- Miles de desarrolladores a gestionar
- Muchísimos servicios distintos
- Necesidad de integrar todos los productos
- Un nivel de disponibilidad de prácticamente el 100%
Sin embargo, dudo mucho que tú/tu empresa tengáis un tráfico similar al de Google, ni seáis miles de desarrolladores, ni tengaís decenas de productos. Entonces, cuál es la necesidad de cosas como:
- Bases de datos NoSQL cuando tus datos siempre siguen un esquema
- Microservicios cuando con un par de instancias de tu monolito soportas todo tu tráfico
- Microservicios cuando solo tienes un producto, hecho en una tecnología y por un único equipo de desarrollo
- Colas de eventos cuando lanzas un número muy limitado de eventos
- Microfrontents cuando el equipo de front son pocas personas
Si quieres leer más, te recomiendo el artículo que me dio idea para realizar esta sección.