Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Hace cinco años, Pini Reznik y Jamie Dobson fundaron Container Solutions, una empresa de servicios profesionales que ayuda a las empresas pioneras a descubrir las mejores formas de aprovechar el emergente paradigma de la computación en nube. Jamie había estado trabajando con muchas empresas para promover prácticas de desarrollo ágil, y Pini fue quien identificó los contenedores como algo que cambiaría el mundo del desarrollo de software. Los contenedores eran bastante nuevos, y una forma poderosa de desarrollar y distribuir software en paquetes independientes e independientes de la plataforma, más ligeros que las máquinas virtuales e infinitamente más portátiles. Decidieron trabajar juntos, formando una empresa dedicada a ayudar a las empresas a aprovechar esta nueva y potente tecnología.
En 2014, las empresas que pasaban a aplicaciones en contenedores utilizaban Apache Mesos para la gestión de clusters, ya que era la única herramienta capaz de programar contenedores en ese momento. Avanzando unos años, Mesos se ha quedado obsoleto, y ahora estas empresas quieren pasarse a Kubernetes, algo que deberían hacer sin duda. Pero vuelven a pedirnos ayuda para hacerlo. Este negocio repetido es halagador, pero nos llevó a un momento de realización.
Hace tres años, cuando ayudamos a estas empresas a pasar a Mesos, fue un salto. Ahora acuden a nosotros para que les ayudemos a saltar de nuevo, esta vez a K8s, lo que significa que no incorporaron capacidades de innovación para estar preparadas y poder evolucionar al siguiente paso cuando llegara. Seguían funcionando con la vieja mentalidad de "Compra una herramienta importante e instálala; el proceso es perturbador durante unas semanas, pero luego vuelves a estar bien durante los próximos cinco o diez años".
No nos malinterpretes, no es trivial migrar de Mesos a Kubernetes si estás ejecutando más de 100 microservicios y utilizando integración continua/entrega continua (CI/CD) con una gestión de la configuración bastante especializada para Mesos. Pero pasar a una nueva forma de gestionar las aplicaciones en contenedores que ya estás ejecutando no debería parecer otro gran salto. Más bien debería parecer un paso razonablemente sencillo. Para nosotros, el proceso era bastante obvio: implantar la nueva plataforma, hacer algunas migraciones de prueba. No es necesario que lo hagas todo a la vez, ni que traslades todos los servicios juntos: tienes tiempo. Empieza a experimentar con servicios sencillos sin estado y, mientras tanto, aprende sobre K8s en el proceso. Lo conseguirás. Sin embargo, lo que era evidente para nosotros no lo era tanto para nuestros clientes, que seguían pensando que la adopción de nuevas herramientas debía hacerse de una sola vez.
Y ese fue el momento en que nos dimos cuenta: nuestro trabajo ya no consiste simplemente en guiar a los clientes hacia la nube, ayudándoles a elegir y adoptar las mejores herramientas y tecnologías para su migración. Nuestro verdadero trabajo ahora es ayudarles a lograr una transformación digital completa, no sólo adoptando nuevas tecnologías, sino también evolucionando hacia una forma de pensar completamente nueva. Porque la tecnología es cada vez más rápida. Ser nativo de la nube significa ofrecer un sistema distribuido de microservicios que se iteran constantemente y se implementan cada día, si no muchas veces al día. Ahora estamos cambiando todo en cada parte de la organización todo el tiempo, y todo al mismo tiempo, lo cual es una forma de pensar completamente diferente. Siempre estarás haciendo esto, innovando y pasando a lo siguiente, y a lo siguiente. Ahora la innovación tiene que ser simplemente una pieza más de tu flujo de trabajo, una que esté incorporada.
No inventamos esto. Ni siquiera inventamos cómo hacerlo. Decidimos escribir este libro para describir cómo hacerlo, para trazar el camino nativo de la nube que nosotros y otros pioneros descubrimos antes incluso de que esta forma de trabajar tuviera realmente un nombre. Los patrones son la forma más eficaz que vemos para hacerlo. Sin embargo, si buscas un libro de patrones de diseño de software altamente técnico, éste no es el libro para ti.
Por otra parte, si eres un mando intermedio, un jefe de proyecto o incluso un responsable de la toma de decisiones a nivel ejecutivo que está considerando seriamente la nube nativa para su empresa, éste es el libro que estabas esperando.
Hay muchos libros de patrones técnicos muy buenos que te pueden decir las diez mejores maneras de Terraformar un clúster de Kubernetes. Nosotros estamos aquí para explicarte qué es Kubernetes, cómo encaja en la nube nativa y por qué lo necesitas en primer lugar. No tienes que construir el sistema, sólo entenderlo.
Se trata de patrones de alto nivel para la estrategia y la reducción de riesgos que guiarán la toma de decisiones en la transición de tu organización y tu cultura a esta nueva forma de pensar y trabajar. Esperamos que los ingenieros también lean este libro, porque son la clave para ayudar a sus empresas a ejecutar una transformación y a destacar en la entrega posterior mediante procesos optimizados en su nueva plataforma nativa en la nube. Después de leer este libro, podrán entregárselo a sus jefes y decirles: "Esto es lo que tenemos que hacer".
Acerca de este libro
Al principio empezamos escribiendo un libro bastante directo y académico: aquí tienes algunos patrones, así es como funciona todo esto.
Con el tiempo, sin embargo, quedó claro que muchos, si no la mayoría, de los problemas que vemos surgir durante las transformaciones del mundo real tienen poco que ver con la tecnología en sí. La tecnología y las herramientas son concretas -puedes hacerte a la idea de la infraestructura, aunque sea virtual- y están bastante bien respaldadas. En cambio, la cultura, el proceso y los demás cambios centrados en el ser humano son, según hemos observado, el aspecto más difícil de una transformación. Muchas migraciones tropiezan, o incluso fracasan, por cometer errores comunes arraigados en prejuicios cognitivos. Los patrones pueden ayudarles a evitar estos escollos.
Por eso decidimos presentar este libro de una forma más centrada en el ser humano, contando la historia de una transformación típica. El relato se ha extraído de proyectos reales en los que hemos trabajado con empresas clientes, aunque no daremos nombres, para contar la historia de una empresa típica cuando emprende una migración a la nube, incluidos los fracasos por el camino.
Creamos una empresa ficticia llamada WealthGrid para representar a esta "empresa típica", que es muy similar a las empresas que se plantean seriamente adoptar la nube nativa ahora que la tecnología está entrando en el primer perímetro de adopción generalizada. La historia de transformación de WealthGrid se presenta como una serie de interludios con capítulos informativos intermedios. Los cinco primeros capítulos describen los conocimientos y conceptos básicos esenciales de la nube nativa y, a continuación, presentan herramientas, enfoques y estrategias para trabajar tanto con la tecnología como con los modelos. Proporcionamos nuestra propia herramienta Matriz de Madurez nativa de la nube para ayudarte a averiguar la situación actual de tu empresa y seleccionar tu destino nativo de la nube. La primera mitad del libro termina con el momento de crisis de WealthGrid: ¿por qué, después de esforzarse tanto e invertir tanto, su intento de transformación nativa en la nube simplemente no tiene éxito?
La segunda mitad del libro nos lleva a los patrones propiamente dichos, organizados en capítulos para la estrategia, la organización/cultura, el desarrollo/proceso y la infraestructura. Después viene nuestra parte favorita: mostramos una ruta de transformación nativa en la nube con éxito para una empresa típica, contada en patrones. Básicamente, ésta es la historia de lo que WealthGrid debería haber hecho.
Los patrones se revelan en el contexto a medida que se desarrolla la narración, junto con los prejuicios que suelen surgir en estas situaciones para ralentizar o incluso hacer descarrilar una iniciativa. Te mostramos cómo utilizar algunos de estos sesgos de forma positiva, para impulsar las cosas hacia adelante, al tiempo que se evitan errores comunes. Al final, se establece un lenguaje de patrones completo. La historia funciona como un diseño de transformación que puede utilizarse como punto de partida sólido para una iniciativa nativa en la nube del mundo real de una empresa pequeña o mediana.
Al diseño de la transformación (y, alerta de spoiler, final feliz para WealthGrid) le sigue un capítulo en el que desgranamos los escollos y retos habituales de la transformación y te mostramos cómo evitarlos. La segunda mitad del libro concluye con dos casos prácticos reales de transformación nativa en la nube, ilustrados con patrones. Greg Hawkins, CTO fundador de Starling Bank, describe cómo él y su equipo construyeron un challenger bank nativo de la nube en un año, y Daniel Eichten, estratega sénior de plataformas en la nube, nos cuenta cómo ayudó a Adidas, el segundo mayor fabricante y minorista de ropa deportiva del mundo, a atravesar la jungla informática y llegar a la nube.
Todo esto se basa en nuestra propia experiencia, no en ningún tipo de investigación formal (y, siendo realistas, se trata de conocimientos tan nuevos que la investigación formal aún no existe realmente). Son nuestras opiniones y observaciones, y como tales no se ofrecen como una especie de Decálogo definitivo de la nube nativa.
Nuestra esperanza es que mostrar, en lugar de simplemente contar, cómo encajan todas estas complicadas piezas facilite la comprensión de cómo se fabrica un sistema funcional y eficiente nativo de la nube. Comprometerse con una transformación organizativa completa provoca ansiedad, porque te sales del camino conocido para adentrarte en un mundo completamente nuevo, allá en las nubes. Los patrones nos dan una serie de pequeños pasos a seguir en este nuevo camino, para cambiar lenta y gradualmente en la dirección correcta. Y la historia de los que te precedieron, afrontando algunos retos habituales en el camino pero completándolo con éxito, te da la confianza de que tú también puedes hacerlo.
Pero lo más importante es que aprenderás que también puedes utilizar todo lo que aprendas en este libro para hacerlo una y otra vez. No intentamos enseñarte a "hacer" la nube nativa. Intentamos enseñarte a convertirte en una organización receptiva y adaptable, capaz de moverse rápidamente hacia lo que venga, sin romper nada.
Últimos desarrollos de patrones
Constantemente surgen nuevos patrones nativos de la nube. Para seguir compartiéndolos y ampliando el lenguaje de patrones nativos de la nube que hemos establecido aquí, visita www.CNpatterns.org.
Aquí es donde encontrarás los últimos desarrollos de patrones, pero también una comunidad online para debatir y crear nuevos patrones. Invitamos a personas de todo el sector, líderes de opinión y personas influyentes, pero sobre todo a ingenieros y gestores cotidianos -aquellos que trabajan hasta los codos en código y arquitectura nativos de la nube- a que contribuyan y participen. ¡Esperamos verte allí!
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
Este elemento significa un consejo o sugerencia.
Este elemento significa una nota general.
Este elemento indica una advertencia o precaución.
Aprendizaje en línea O'Reilly
Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.
Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos, conferencias y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita http://oreilly.com.
Cómo contactar con nosotros
Por favor, dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-998-9938 (en Estados Unidos o Canadá)
- 707-829-0515 (internacional o local)
- 707-829-0104 (fax)
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/cloud-nat-tr.
Envía un correo electrónico a bookquestions@oreilly.com para comentar o hacer preguntas técnicas sobre este libro.
Para más información sobre nuestros libros, cursos, conferencias y noticias, consulta nuestro sitio web en http://www.oreilly.com.
Encuéntranos en Facebook: http://facebook.com/oreilly
Síguenos en Twitter: http://twitter.com/oreillymedia
Míranos en YouTube: http://www.youtube.com/oreillymedia
Agradecimientos
Los autores tienen que dar las gracias a muchas personas por haber contribuido a la realización de este libro.
En primer lugar, todo el equipo de Container Solutions ha contribuido a que este libro vea la luz. Queremos agradecer especialmente a los ingenieros que han contribuido con sus conocimientos y experiencia a la creación de estos patrones y de todos los conceptos que los rodean. El equipo de diseño de CS trabajó de forma creativa y competente para ofrecer los dibujos y diagramas que dan vida a este material, por lo que damos las gracias especialmente a Svitlana Chunyayeva, Mickey Houlder y Wijnand Lustof. La experta edición de Heather Joslyn y sus comentarios productivos a medida que surgían los capítulos mejoraron el texto enormemente.
También nos gustaría dar las gracias al personal editorial y de producción de O'Reilly, incluido Christopher Guzikowski, por su disposición a arriesgarse con nuestro enfoque ligeramente radical de la narración del diseño de patrones. Damos las gracias especialmente a Michele Cronin, cuya hábil orientación ayudó a que este libro tomara forma: siempre sabe cuándo ofrecer ánimos (y chocolate).
Gracias también a las muchas personas que generosamente ofrecieron su tiempo y su visión para mejorar el libro. Anne Currie, que estuvo presente desde el principio, merece un reconocimiento especial por inspirar un tono animado en todo momento. Adrian Mouat, por su honesta y concienzuda revisión y sus comentarios a lo largo del proyecto, que ayudaron significativamente a los autores a aclarar y mejorar el material. Hans Wegener, que guió y luego ayudó a crear la primera ponencia de Pini en la conferencia PLoP (Pattern Languages of Programs) sobre patrones nativos de la nube, que fue la génesis de este libro. Así como a Kyle Brown, que como jefe del comité organizador del PLoP animó a Pini a mejorar y perfeccionar la ponencia y a seguir invirtiendo tiempo en los patrones. También damos las gracias a Kyle por actuar como revisor técnico y, en especial, por prestar su experiencia particular en la revisión y corrección de los patrones.
Jamie quiere dar las gracias a todos los primeros clientes de Container Solutions que estuvieron dispuestos a arriesgarse con nuevas ideas, nuevas tecnologías y, por aquel entonces, una nueva empresa. Se trata de Henk Kolk, de ING Bank; Max Schöfmann, entonces de HolidayCheck; y Ken Owens, entonces de Cisco. Sin vosotros, Container Solutions no estaría aquí, y este libro no se habría escrito. Gracias al equipo de Container Solutions, que sigue asombrando a diario con su apetito absolutamente insano de experimentación y aprendizaje. A Adrian Mouat, por su amistad durante los últimos 17 años y su continuo apoyo compasivo y crítico. A Andrew Hesketh, Ian Ravenscroft y Andrew Clark, simplemente por aguantar a Jamie. A Andrea Dobson, esposa de Jamie, y fuente constante de amor, compasión y honestidad. Por último, y lo más importante, a Jamie le gustaría dar las gracias a Pini, su compañera durante media década, y a Michelle, sin las cuales este libro nunca se habría empezado y mucho menos terminado.
A Pini le gustaría dar las gracias a su mujer, Sarit, por su inquebrantable apoyo durante los últimos 20 años. Ella tuvo que escuchar durante horas interminables sobre patrones y le animó a invertir muchas tardes y fines de semana en escribir este libro, todo ello mientras intentaba convertir Container Solutions en la increíble empresa en la que se ha convertido. También le gustaría dar las gracias a Sarit por ser la mejor madre para nuestra hija, Shachar, y nuestro hijo, Yonatan, que siempre nos dan la inspiración para convertirnos en los mejores modelos de conducta que podamos ser.
Michelle quiere dar las gracias a su familia, y en especial a sus hijos, Jack y Cole, por soportar todas las tardes y fines de semana que desapareció en su despacho para trabajar en este libro. Está agradecida a su marido, Jeff, por su apoyo durante todo el proyecto y su paciencia al escuchar hablar sin parar sobre los nativos de las nubes en general y los patrones en particular. Le gustaría dar las gracias a Sally Neustadt por su inestimable estímulo y perspicacia en ámbitos de la vida ajenos al trabajo, todo lo cual también fluyó en este proyecto. Sobre todo, Michelle quiere dar las gracias a su madre, Marlene Gienow, por enseñarle con el ejemplo el valor del trabajo duro, la persistencia y una copa de vino al final de un día productivo.
Y, por último, gracias a todas las demás innumerables personas que contribuyeron con su apoyo e ideas a este proyecto. Puede que no hayamos tenido espacio para incluir vuestros nombres aquí, ¡pero os estamos agradecidos de todos modos!
Get Transformación nativa en la nube 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.