Prefacio

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Este libro presenta un enfoque por fases para construir e implementar microservicios Java más fiables. Las capacidades presentadas en cada capítulo están pensadas para ser seguidas en orden, cada una de ellas basándose en las capacidades de los capítulos anteriores. Hay cinco fases en este viaje:

  1. Mide y monitorea la disponibilidad de tus servicios.

  2. Añade señales de depuración que te permitan hacer preguntas sobre los periodos de indisponibilidad.

  3. Mejora tu canal de entrega de software para limitar la posibilidad de introducir más fallos.

  4. Crea la capacidad de observar el estado de los activos implementados hasta el código fuente.

  5. Añade la gestión de tráfico justa para que tus servicios alcancen un nivel de disponibilidad que te satisfaga.

Nuestro objetivo no es construir un sistema perfecto, eliminar todo fallo. Nuestro objetivo es acabar con un sistema altamente fiable y evitar pasar tiempo en el espacio de los rendimientos decrecientes.

Evitar los rendimientos decrecientes es la razón por la que dedicaremos tanto tiempo a hablar de la medición y el monitoreo eficaces, y por la que esta disciplina precede a todas las demás.

Si te dedicas a la gestión de ingeniería, el Capítulo 1 es tu declaración de misión: construir una plataforma de aplicaciones famosa por su fiabilidad y la cultura de un equipo de ingeniería de plataformas eficaz que pueda ofrecer estas capacidades a una organización de ingeniería más amplia.

Los capítulos que siguen contienen los planos para lograr esta misión, dirigidos a los ingenieros. El alcance de este libro se limita intencionadamente a los microservicios de Java, precisamente para poder ofrecer consejos detallados sobre cómo hacerlo, incluyendo medidas específicas probadas en batalla para microservicios de Java, ejemplos de código y otras idiosincrasias, como los problemas de gestión de dependencias que son exclusivos de la máquina virtual Java (JVM). Se centra en la capacidad de acción inmediata.

Mi viaje

Mi trayectoria profesional en la ingeniería de software forma un arco que me llevó a escribir este libro:

  • Una startup de software a medida

  • Una compañía de seguros tradicional llamada Shelter Insurance en Missouri

  • Netflix en Silicon Valley

  • Un ingeniero del equipo Spring que trabaja a distancia

  • Un ingeniero de Gradle

Cuando dejé Shelter Insurance, a pesar de mis esfuerzos, no entendía la nube pública. En casi siete años allí, había interactuado con el mismo grupo de máquinas virtuales con nombre (bare metal en realidad, originalmente). Estaba acostumbrada a ciclos de lanzamiento trimestrales y a pruebas manuales exhaustivas antes de los lanzamientos. Tenía la sensación de que los jefes recalcaban y volvían a recalcar lo "duras" que esperábamos que fueran las congelaciones de código previas a los lanzamientos, cómo después de un lanzamiento una congelación de código no era tan dura como nos hubiera gustado, etc. Nunca había experimentado el monitoreo de producción de una aplicación: eso era responsabilidad de un centro de operaciones de red, una sala a la que mi placa no me daba acceso porque no necesitaba saber lo que pasaba allí. Esta organización tuvo éxito en la mayoría de los aspectos. Ha cambiado mucho en algunos aspectos desde entonces, y poco en otros. Estoy agradecido por la oportunidad de haber aprendido allí con algunos ingenieros fantásticos.

En Netflix aprendí valiosas lecciones sobre ingeniería y cultura. Me marché al cabo de un tiempo con la gran esperanza de que algunas de estas mismas prácticas pudieran aplicarse a una empresa como Shelter Insurance, y me uní al equipo de Spring. Cuando fundé la biblioteca de métricas de código abierto Micrometer, fue con una profunda apreciación del hecho de que las organizaciones están en un viaje. En lugar de dar soporte únicamente a los mejores sistemas de monitoreo de hoy en día, las cinco primeras implementaciones de sistemas de monitoreo de Micrometer contenían tres sistemas de monitoreo heredados que yo sabía que aún se utilizaban de forma significativa.

Un par de años trabajando y asesorando a empresas de diversos tamaños sobre el monitoreo de aplicaciones y la automatización de la entrega con Spinnaker me dieron una idea tanto de la diversidad de las dinámicas organizativas como de sus puntos en común. Es mi comprensión de los puntos en común, aquellas prácticas y técnicas de las que todas las empresas podrían beneficiarse, lo que constituye la esencia de este libro. Toda empresa Java puede aplicar estas técnicas, con un poco de tiempo y práctica. Eso incluye a tu organización.

Convenciones utilizadas en este libro

En este libro se utilizan las siguientes convenciones tipográficas:

Cursiva

Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.

Constant width

Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.

Constant width bold

Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.

Constant width italic

Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.

Consejo

Este elemento significa un consejo o sugerencia.

Nota

Este elemento significa una nota general.

Advertencia

Este elemento indica una advertencia o precaución.

Aprendizaje en línea O'Reilly

Nota

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 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

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 las erratas y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/SRE_with_Java_Microservices.

Envía un correo electrónico para comentar o hacer preguntas técnicas sobre este libro.

Para noticias e información sobre nuestros libros y cursos, visita http://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

Olga Kundzich

Lo que no sabía antes de escribir este libro es cuántas voces del círculo de colegas de un autor se cuelan en un libro. Tiene todo el sentido, por supuesto. ¡Nos influimos mutuamente simplemente por trabajar juntos! Las perspicaces opiniones de Olga sobre una amplia gama de temas han tenido probablemente la mayor influencia individual en mi forma de pensar en los dos últimos años, y su voz está por todas partes en este libro (o al menos la mejor aproximación a ella que puedo representar). Las reflexiones que encontrarás sobre "la plataforma de aplicaciones", la entrega continua (no, no, no la implementación continua; siempre las confundía), el inventario de activos, el monitoreo y los elementos de la gestión del tráfico están muy influidos por ella. Gracias Olga por invertir tanta energía en este libro.

Troy Gaines

A Troy le debo mi introducción inicial a la gestión de dependencias, la automatización de la construcción, la integración continua, las pruebas unitarias y tantas otras habilidades esenciales. Fue una influencia temprana y significativa en mi crecimiento como desarrollador de software, como sé que lo ha sido para muchos otros. Gracias, viejo amigo, por tomarte también la molestia de revisar este trabajo.

Tommy Ludwig

Tommy es uno de los raros expertos en telemetría que contribuye tanto a las tecnologías de rastreo distribuido como a las de métricas agregadas. Es muy común que los colaboradores en el espacio de la observabilidad estén hipercentrados en un área del mismo, y Tommy es uno de los pocos que flota entre ambas. Por decirlo suavemente, temía la revisión del Capítulo 3 por parte de Tommy, pero me alegró descubrir que teníamos más en común en esto de lo que esperaba. Gracias por señalar la visión más matizada de la cardinalidad de la etiqueta de trazado distribuido que se abrió camino en el Capítulo 3.

Sam Snyder

No hace mucho que conozco a Sam, pero no he tardado en comprender que es un mentor excelente y un profesor paciente. Gracias Sam por aceptar someterte a la ardua tarea de reseñar un libro técnico, y dejar tantos comentarios positivos y alentadores.

Mike McGarr

Recibí un correo electrónico inesperado de Mike en 2014 que, poco tiempo después, hizo que empaquetara todo y me mudara a California. Ese correo electrónico me puso en el camino que lo cambió todo. Llegué a conocer a muchos expertos en Netflix que me aceleraron en el proceso de aprendizaje porque Mike se arriesgó conmigo. Cambió radicalmente mi forma de ver el desarrollo y las operaciones de software. Mike también es simplemente un ser humano fantástico: un amigo y líder amable e inquisitivo. Gracias, Mike.

Josh Long

Una vez en el libro, cité una frase típica de Josh Long sobre que "no hay lugar como" la producción. Pensé que estaba siendo descarado y divertido. Y entonces Josh escribió un prólogo en el que aparece Buzz Lightyear... Josh es una bola imparable de energía. Gracias Josh por inyectar un poco de esa energía en esta obra.

Get SRE con Microservicios Java 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.