Dejando la nube

Dec 23 2022
Ahora se habla mucho sobre cómo se pasa la nube, y en realidad es solo una forma costosa de enviar personas al espacio. Una publicación de blog de David Heinemeir Hansson publicada hace algún tiempo sobre cómo cree que la nube es en gran medida nuevas capas de pintura sobre cosas viejas y, por lo tanto, quiere dejarla atrás de inmediato.

Ahora se habla mucho sobre cómo se pasa la nube, y en realidad es solo una forma costosa de enviar personas al espacio. Una publicación de blog de David Heinemeir Hansson publicada hace algún tiempo sobre cómo cree que la nube es en gran medida nuevas capas de pintura sobre cosas viejas y, por lo tanto, quiere dejarla atrás de inmediato. Como profesional que ha pasado tiempo dentro y fuera de la nube con empresas grandes y pequeñas, estos son mis comentarios.

Tengo esta imagen creada por DALL-E-2

Ahora David no es un peso ligero. Él es el hombre detrás de Basecamp que usan millones de personas. También es el hombre detrás del marco Ruby on Rails ampliamente utilizado que utilizan decenas de millones de personas. Es un autor superventas. Incluso es un piloto de carreras certificado. Nunca he escrito un gran proyecto de código abierto, y solo paso en bicicleta por las pistas de carreras, así que seamos claros: estoy atacando a los gigantes. Mi única defensa: he hecho algunas de estas cosas en todo tipo de escala. He nacido una vez en la nube, pasé tiempo puramente en el suelo y he estado de un lado a otro varias veces y espero que esto me dé una vista que valga la pena mirar.

El argumento central de Davi, que uno no debe alquilar si puede comprar, es correcto, pero solo en algunas circunstancias. El mismo David señala dos de ellos; una empresa nueva sin clientes todavía o una empresa establecida con un crecimiento altamente volátil donde dice que la nube es mejor. Sin embargo, su argumento es que estos son los ÚNICOS dos casos en los que la nube es mejor, es donde creo que tropieza con su auto de carreras.

Primero, veamos algunos antecedentes. David: uno tiene que entender su punto de vista. La empresa 37Signals es una empresa pequeña: 7,9 millones de dólares en ingresos y unos 95 empleados. Tiene alrededor de 14 millones de usuarios por mes en unos 150,000 clientes pagos. Es una empresa rentable y en constante crecimiento que no está financiada por capital de riesgo y, a diferencia de la mayoría de las otras empresas tecnológicas, valora el crecimiento rentable lento sobre el escalado rápido. Esto es algo de lo que han hablado repetidamente: su ideal es la tienda de comestibles local en lugar de Slack o NetFlix.

Esto hace que 37Signals sea bastante atípico. Debido a esto, lo que funciona para ellos no siempre funciona para los demás, por lo que necesitamos más matices.

Escalar sin la nube

El artículo dice que Basecamp ya está ejecutando un servicio grande y complejo, pero eso no es realmente correcto. Por lo que puedo deducir del propio sitio de Basecamp y de buscar en Google otras fuentes, la empresa tiene entre 8 y 10 millones de visitantes al día y 130 000 cuentas. Esto no es muy grande; incluso el banco RBL, donde trabajo actualmente, tiene entre 7 y 8 millones de visitantes al mes. Además de eso, Basecamp no tiene transacciones en tiempo real, un procesamiento de back-end relativamente simple y requisitos de seguridad mucho más fáciles.

El mismo David dice: “Tenemos un modelo de negocio que es increíblemente compatible con poseer hardware y cancelarlo durante muchos años. Trayectorias de crecimiento que son en su mayoría predecibles. Personal experto que bien podría emplear su talento operando nuestras propias máquinas”

Esta diferencia es crucial. Las cargas de Basecamp probablemente estén gestionadas por un puñado de servidores, en comparación con los más de 3000 servidores de RBL Bank que ejecutan más de 40 líneas de negocio. Ejecutar una operación de infraestructura completa con cientos de bastidores y miles de servidores, sin mencionar montones de enrutadores y conmutadores. Y, existe toda esta necesidad de soporte 24x7. ¿Puede un puñado de personas manejar esto?

Para la mayoría de los CTO de las empresas, la respuesta es un no inmediato. Por lo general, tanto hardware deletrea. Está el equipo de servidores con sus expertos en Linux, el equipo de redes con sus expertos en Cisco, el equipo de almacenamiento con sus expertos en EMC, el equipo de virtualización con sus expertos en VMWare, el equipo de bases de datos con sus expertos en Oracle, etc. Muchos expertos, muchos supervisores, mucha complejidad a la que enfrentarse.

Sin embargo, estoy de acuerdo con David; esta no es la realidad de hoy.

La infraestructura actual, incluso en las instalaciones, por lo general ya está virtualizada y existen herramientas maduras para administrar todos los aspectos de una manera en gran parte automatizada, de modo que un equipo pequeño (no particularmente experto) pueda hacer, con la ayuda de los OEM, todo lo que solía requerir un ejército. Recuerde que hubo un tiempo en que una máquina Xerox solía requerir un operador certificado; hoy, un niño pequeño puede presionar el botón y obtener respuestas perfectas porque la tecnología ha progresado, las interfaces se han simplificado y las piezas móviles se han reducido. Algo similar ha pasado con los servidores y las redes; la mayoría de los CIO simplemente no se han dado cuenta. Todo el material de administración integrada fácil que está disponible en la nube hoy en día también está disponible de manera fácil (y confiable) en las instalaciones.

Amazon y Google tienen el código abierto útil de muchas de las herramientas que utilizan, además de que los VMWare, Nuntanixs y Dells del mundo han copiado y madurado. Los hiperescalares hoy en día logran proporciones de servidor a personas del orden de 10 000, lo que significa que una persona administra 10 000 servidores. En la escala de una empresa algo más pequeña, aún es posible administrar fácilmente unos pocos miles de servidores con no más que un equipo de cricket. Recuerde que no estamos hablando de admitir el código de la aplicación, que es el mismo esfuerzo en la nube o en las instalaciones, sino más bien de administrar la infraestructura de redes de almacenamiento de cómputo subyacente.

No hay magia. Una configuración de hardware simplificada y virtualizada (todo es del mismo tipo) y personas con múltiples habilidades y excelentes herramientas de administración, todo lo cual la mayoría de las empresas tienen al alcance de la mano si lo intentaran. NSE lo hace en IFSC Gift City, Zerodha lo hace, las nuevas empresas lo hacen, pero las empresas establecidas luchan por salir de los paradigmas existentes para hacerlo de esta manera.

Sin embargo, hay una advertencia (y podría ser una grande). Su pila de hardware debe ser uniforme y relativamente nueva para que esto funcione (que, por cierto, es la realidad). La mayoría de las herramientas y habilidades se vuelven complicadas o imposibles a menos que se comprometa con pilas simplificadas y modernizadas. Un poco como Southwest Airlines que solo tiene un tipo de avión que es una parte clave de la estrategia que usa Southwest para literalmente llevarse a las nubes.

Spiking sin la nube

La declaración de David de que los negocios son estables o volátiles es demasiado simple. Cualquier entidad comercial compleja siempre tiene múltiples líneas de negocios y múltiples productos y, por lo tanto, una combinación de estabilidad y volatilidad. Los nuevos negocios pueden lanzarse pequeños y escalar rápidamente, o lanzarse a lo grande y escalar aún más rápido, o tener un crecimiento constante en cualquier escala. Además, es difícil predecir los picos en el futuro.

Basecamp tiene el lujo de un crecimiento constante y la previsibilidad de los picos futuros. Después de años en el mismo negocio con el mismo producto, es poco probable que tenga picos inesperados. Esto no es cierto en la mayoría de los negocios complejos, donde los nuevos lanzamientos y presentaciones constantes hacen que las cosas sean más volátiles. Incluso aquí, sin embargo, el propio David habla de la gran ayuda que tuvo la nube cuando lanzaron Hey: 300 000 usuarios en horas en lugar de los 30 000 proyectados en meses.

¿Se puede lograr esto sin la nube? Aquí la respuesta es un no (pero con algunas cláusulas de escape). El escalado local para una sola empresa significa esencialmente dejar la capacidad inactiva; no hay otra forma de obtener capacidad según la demanda. Parte de la carga se puede aliviar mediante la reasignación dinámica de recursos de aplicaciones inactivas a aplicaciones ocupadas (una capacidad que tienen hoy en día la mayoría de las pilas locales modernas), pero la capacidad local es finita y, finalmente, relativamente limitada.

Lo que se puede hacer hoy es estallar en la nube. Incluso las empresas tradicionales han comenzado a hacer esto de manera limitada, ejecutando trabajos masivos de administración de datos en la nube en lugar de comprar el hardware para ello. Oracle y muchos otros OEM de hardware brindan una manera de expandirse a la nube con pago a medida que va más allá de la carga central en las instalaciones: RBL Bank hizo un gran uso de esto durante los primeros días de la actualización de la banca central, cuando muchos trabajos estaban tomando mucho más cómputo mientras la optimización estaba activada. No todas las aplicaciones admiten esto, pero a medida que las aplicaciones se contengan, esto se convertirá cada vez más en la norma.

Por supuesto, si está en modo de hipercrecimiento, toda esta capacidad de explosión no ayudará; prefieres quedarte en la nube.

Nuevas capas de pintura brillantes

David dedica mucho tiempo a hablar sobre cómo la gente se deja engañar por la magia de AWS. Esto parece contradecir que empresas tecnológicamente muy sofisticadas (como Capital One, Nasdaq, Slack o Netflix) sigan en la nube y sigan apostando por ella. Netflix gasta alrededor de 12 millones de dólares al mes en la actualidad y se ha comprometido públicamente a triplicar esa cifra para 2025. Slack se ha comprometido a gastar 400 millones de dólares. Es poco probable que estas empresas no hayan hecho los cálculos o estén deslumbradas por las nuevas capas de pintura.

Entonces, ¿qué sabe un Netflix que Basecamp no sabe? Nada realmente, es solo una diferencia de punto de vista. Cualquier cosa que haga en la nube, puede hacerlo en las instalaciones, y no es tan difícil ni tan laborioso como solía ser, pero es más trabajo que hacerlo en la nube. Basecamp prioriza el ahorro de costos y está dispuesto a poner algunas personas adicionales para administrar el servicio. Capital One, que es mucho más grande y también más complejo, probablemente priorice otras tareas sobre el ahorro de costos de la nube; pueden, por ejemplo, optar por desplegar personas en el desarrollo de productos en lugar de la gestión de la infraestructura. También hay una cuestión de escala: crezca a cientos de miles de servidores y ya no se trata de unas pocas herramientas de código abierto y algo de automatización.

Y luego están los servicios. La nube puede ofrecer muchos servicios totalmente predigeridos; simplemente tome el servicio y no se preocupe ni por la aplicación ni por la infraestructura. Análisis, registro, base de datos, backend móvil, almacenamiento de objetos, servicio web sin servidor, mensajería, todos están disponibles al tocar, bajo demanda y con extrema confiabilidad. Por supuesto, tienen una prima, pero incluso las personas que poseen automóviles y casas alquilan de Hertz y Marriott. El truco está en usarlo de manera adecuada y sabia, y saber cuándo dejar el alquiler.

Resumen

La adopción de la nube implica muchas cosas, incluido el costo. Las empresas que necesitan agilidad necesitan mantener un pie en la nube. Manejar preocupaciones secundarias con habilidades secundarias eventualmente infla la fuerza laboral de una organización. Cloud no es una bala de plata: es una opción más poderosa en un arsenal de armas. El tiempo en que IAAS es el objetivo se ha ido. Muévase a la nube solo si está listo para ser nativo de la nube: en contenedores, DevOps, escalado horizontalmente, etc.

Lecciones clave:

  • No ponga cosas ciegamente en la nube. Considere continuamente, para cada lanzamiento de producto, si es más Basecamp o más Netflix. Las aplicaciones nuevas o las aplicaciones altamente volátiles son candidatas obvias, pero también hay otras. Y las cosas cambian, revisa esto periódicamente para ver dónde mover qué.
  • Esté menos preocupado por no poder contratar o retener habilidades en las instalaciones. Ya no necesita esos ejércitos de expertos, por lo que puede capacitar a toda su fuerza laboral de manera mucho más amplia y frecuente. DevOps absorbe gran parte de sus cargas de trabajo expertas (requiere un cambio cultural significativo).
  • Limpie y simplifique su pila. La mayor parte de la complejidad y el costo en las instalaciones proviene de la compra de múltiples variantes, proveedores y versiones.- Be Southwest
  • Muévase internamente para obtener los bits más costosos: en AWS hoy en día es RDS (bases de datos de Postgres administradas), por lo que recomendaría encarecidamente alejarse de él. Desarrolle habilidades internas para la administración de Postgres y deje de tener tanto miedo a las bases de datos.
  • El tiempo en que IAAS es el objetivo se ha ido. Muévase a la nube solo si está listo para ser nativo de la nube: en contenedores, DevOps, escalado horizontalmente, etc. Cuando tenga sentido, utilice algunos de los valores agregados adicionales que ofrece la nube de forma gratuita, como un monitoreo mucho mejor, escalado automático Operaciones de IA, control de costos mucho más detallado (Netflix ha hecho algunas cosas increíbles aquí). Si no está listo para hacer todo eso, reemplace a su CIO en lugar de su infraestructura.