Prólogos
Prólogo de la segunda edición
Architecting for Scale es un libro completo para directivos que se dan cuenta de que todas las empresas han dejado de llamarse simplemente "empresas digitales" y ahora reconocen que si no funcionan realmente como tales, quebrarán. La banca, los seguros y otros sectores que solían tener enormes fosos están siendo perturbados por empresas advenedizas que ofrecen experiencias asombrosas porque operan como un negocio digital en lugar de limitarse a hablar de ser un negocio digital.
Architecting for Scale es una guía definitiva para directores, gerentes y arquitectos que deseen una hoja de ruta procesable sobre cómo operar a escala con alta fiabilidad, implementando principios operativos modernos (DevOps, ingeniería de fiabilidad del sitio), así como sobre cómo utilizar los conceptos y servicios actuales más avanzados (microservicios, nube, perímetro).
Tuve el placer de trabajar con Lee en New Relic, que permite a las empresas monitorizar su negocio digital en todo el mundo. Mientras estuvo en New Relic, Lee viajó por todo el mundo, ayudando a las empresas a navegar por la transformación digital, acelerar las ideas hasta la producción y ofrecer servicios que funcionaran el 100% del tiempo.
Una y otra vez, he visto a Lee dar un salto en el progreso de transformación de las empresas en una sola reunión de treinta minutos. ¡Disfruta del libro! ¡Será impactante para tu empresa y tu carrera!
Prólogo de la primera edición
Vivimos tiempos interesantes, una explosión cámbrica del software si se quiere, en la que el coste de construir nuevos sistemas ha caído en órdenes de magnitud y la conectividad de los sistemas ha crecido en órdenes de magnitud iguales. Recursos como AWS de Amazon, Azure de Microsoft y GCP de Google nos permiten escalar físicamente nuestros sistemas a tamaños que hace unos años sólo podíamos imaginar.
La economía de estos recursos y la capacidad aparentemente ilimitada están produciendo una irradiación excepcionalmente rápida de nuevas ideas, nuevos productos y nuevos mercados de formas que nunca antes habían sido posibles. Pero todas estas nuevas exploraciones sólo son posibles si los sistemas que construimos pueden escalar. Aunque es más fácil que nunca construir algo pequeño, construir un sistema que pueda escalar de forma rápida y fiable resulta ser mucho más difícil que simplemente poner en marcha más hardware y más almacenamiento.
Los sistemas de software atraviesan un ciclo de vida predecible que comienza con pequeñas soluciones bien diseñadas y comprendidas por una sola persona, pasa por un rápido crecimiento hasta convertirse en un monolito de deuda técnica, de ahí se fragmenta en una colección ad hoc de servicios frágiles y, finalmente, se convierte en un sistema distribuido bien diseñado capaz de escalar de forma fiable tanto en amplitud (más usuarios) como en profundidad (más funciones). Es fácil ver lo que hay que hacer desde fuera (¡hacerlo más fiable!) y mucho más difícil ver el camino desde dentro. Afortunadamente, este libro es la guía esencial para el viaje: de la disponibilidad a los niveles de servicio, de los días de juego a las matrices de riesgo, Lee describe las decisiones y prácticas clave para los sistemas que escalan.
Lee se unió a mí en New Relic cuando estábamos pasando de ser un monolito de un solo producto a ser una empresa multiproducto, todo ello mientras disfrutábamos del hipercrecimiento de clientes satisfechos que hizo que New Relic tuviera tanto éxito. Lee llegó con mucha experiencia en Amazon, tanto en el lado minorista, donde crecieron mucho, como en el lado de AWS, donde -¿adivina qué?- crecieron mucho. Lee ha formado parte de equipos y ha dirigido equipos y ha participado activamente en un montón de escaladas, y tiene cicatrices que lo demuestran. Afortunadamente para nosotros, ha vivido los errores y sufrido interrupciones diabólicamente difíciles y ahora está transmitiendo esas lecciones para que no tengamos que sufrir esas mismas cicatrices.
Cuando Lee se unió a New Relic, estábamos sufriendo nuestros incómodos años adolescentes de ballena fracasada. Nuestro primitivo monolito se resentía de nuestro éxito, y nuestra disponibilidad, fiabilidad y rendimiento no eran buenos. Al poner en práctica las técnicas sobre las que ha escrito en este libro, nos graduamos de esos años de instituto y construimos el robusto servicio de nivel empresarial que existe hoy. Una de nuestras herramientas fue establecer cuatro niveles de ingeniería de disponibilidad: Bronce, Plata, Oro y Platino. Para obtener el nivel Bronce, un equipo tenía que tener una matriz de riesgos: tenía que tener SLA definidos. Para obtener el nivel Plata, un equipo tenía que estar monitorizando los problemas identificados en la matriz y utilizar días de juego; Oro significaba que los riesgos estaban mitigados; y Platino era como un CMM Nivel 5 en el que los sistemas se autorreparaban y la atención se centraba en la mejora continua. Priorizamos estos esfuerzos para los servicios de Nivel 1 primero, luego para los de Nivel 2, etc., y al final conseguimos que todos alcanzaran al menos el nivel Plata y la mayoría de los equipos el Oro (y un par el Platino).
Cuando me trasladé a InVision App, me uní a una empresa más joven, de nuevo en la transición del éxito inicial al hipercrecimiento, y así estoy impulsando todas estas mismas técnicas y herramientas que Lee describe. Te insto a que, en tu viaje como parte de esta emocionante explosión de nuevos sistemas y productos y empresas, hagas lo mismo: aprender de Lee en la construcción de tus sistemas para la escala.
Get Arquitectura a escala, 2ª edición now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.