Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
El enorme volumen de software que requiere el mundo actual ha hecho necesaria una evolución en la forma en que estructuramos nuestras organizaciones de ingeniería. Hemos aprendido que los equipos más pequeños e independientes funcionan mejor que los más grandes y altamente acoplados. Dado que la ley de Conway -que las empresas producirán sistemas que se ajusten a su estructura organizativa- es inevitable, esta evolución ha precipitado el auge de los microservicios: servicios más pequeños e independientes propiedad de equipos más pequeños e independientes. Como resultado de estas fuerzas, las empresas están ejecutando ahora cientos e incluso miles de servicios en producción.
El auge de los microservicios ha permitido a los equipos de desarrollo escalar y enviar código más rápidamente, pero también ha provocado un aumento exponencial de la complejidad para los equipos de operaciones. Lo que antes era una llamada a una función en memoria, ahora es una petición a una API intercontinental que puede fallar de forma inesperada y espectacular. Lo que antes era un único panel de monitoreo es ahora un laberinto bizantino de métricas, registros y trazas. Un modelo de seguridad que antes era un simple cortafuegos ahora debe proteger contra una miríada de vectores de ataque y amenazas en constante evolución. Por último, lo que antes era un único servicio monolítico es ahora cientos de servicios construidos con diferentes tecnologías y desplegados en múltiples tiempos de ejecución: máquinas virtuales (VM), Kubernetes, plataformas sin servidor, etc.
Los equipos de operaciones, también conocidos como DevOps e ingeniería de fiabilidad del sitio (SRE), se enfrentan así a un reto monumental. En medio de esta complejidad, deben reforzar la seguridad, aumentar la fiabilidad, simplificar la observabilidad y acelerar la entrega de aplicaciones, y deben hacerlo de forma que funcione en múltiples tiempos de ejecución y lenguajes. La malla de servicios es una nueva y emocionante tecnología que promete una solución a estos problemas.
Consul es una malla de servicios completa de HashiCorp, la empresa que también creó Terraform, Vault, Nomad, Packer y Vagrant. Un pequeño equipo de operaciones puede aprovechar Consul para influir en la seguridad, fiabilidad, observabilidad y entrega de aplicaciones en toda su pila, todo ello sin necesidad de que los desarrolladores modifiquen sus microservicios subyacentes.
En este libro aprenderás a instalar, configurar y utilizar Consul para dominar la complejidad y recuperar el control de tu infraestructura. Estoy deseando que empieces tu viaje por la malla de servicios con Consul: ¡empecemos y pongámonos en marcha!
Quién debería leer este libro
Si eres un ingeniero de plataformas u operaciones encargado de mantener un entorno de microservicios en crecimiento en Kubernetes o máquinas virtuales, este libro es para ti.
Si eres un desarrollador de microservicios interesado en aumentar la fiabilidad o en experimentar con estrategias de implementación avanzadas como blue/green y canarying, este libro también es para ti.
O quizás tu organización ya utiliza Consul y quieres aprender cómo funciona a un nivel más profundo y cómo utilizarlo mejor.
Este libro también resultará útil a los ingenieros de seguridad y a los responsables de la toma de decisiones de alto nivel (gerentes, directores, vicepresidentes de ingeniería y directores técnicos) para proporcionar una visión general de los conceptos que hay detrás de una malla de servicios y del valor que aporta.
Este libro asume un conocimiento general del desarrollo de microservicios y de conceptos de red como los equilibradores de carga. Contiene instrucciones para instalar Consul en máquinas virtuales Kubernetes o Linux, y asume que estarás familiarizado con una de esas plataformas. Contiene ejercicios que puedes completar en máquinas Windows, macOS o Linux.
Navegar por este libro
El libro comienza con los fundamentos de la malla de servicios: qué es una malla de servicios y cómo funciona. A continuación, aprenderás qué hace que Consul sea único, su arquitectura y los protocolos específicos que utiliza. Una vez sentadas las bases, estarás preparado para implementar Consul en Kubernetes o máquinas virtuales y añadir tus servicios a la malla de servicios.
Luego aprenderás a utilizar Consul para asegurar tus sistemas con redes de confianza cero, añadir observabilidad, aumentar la fiabilidad y controlar el tráfico. En el capítulo final, cubro temas avanzados como la implementación multiclúster.
A lo largo del libro, incluyo ejercicios tanto para Kubernetes como para máquinas virtuales, para que puedas utilizar estos conceptos con una aplicación de microservicios real. Si quieres seguir los ejercicios, te recomiendo que completes los capítulos en orden, ya que a menudo se apoyan unos en otros.
Consejo
Únete al servidor oficial de Discord de Cónsul: Up and Running para charlar con otros lectores y con el autor.
Lo que no está en este libro
Este libro no cubre las características de Consul no relacionadas con su funcionalidad de malla de servicios. Por ejemplo, no cubre el almacén de claves/valores de Consul ni el descubrimiento de servicios del Sistema de Nombres de Dominio (DNS). Además, este libro no es una guía detallada de las operaciones de Consul listas para la producción. El objetivo es familiarizar a los lectores con los conceptos de Consul y ponerlos "en marcha" con su funcionalidad.
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 otro texto que debe ser tecleado literalmente por el usuario. También se utiliza ocasionalmente en listados de programas para resaltar texto de interés.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Advertencia
Este elemento indica una advertencia o precaución.
Utilizar ejemplos de código
El material complementario (ejemplos de código, ejercicios, etc.) se puede descargar en https://oreil.ly/consul-examples.
Si tienes una pregunta técnica o un problema al utilizar los ejemplos de código, envía un correo electrónico a bookquestions@oreilly.com.
Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.
Agradecemos, pero generalmente no exigimos, la atribución. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo: "Cónsul: Up and Running por Luke Kysow (O'Reilly). Copyright 2022 Luke Kysow, 978-1-098-10614-0".
Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
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 https://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 erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/consul-up-and-running.
Envía un correo electrónico a bookquestions@oreilly.com para comentar o hacer preguntas técnicas sobre este libro.
Para noticias e información sobre nuestros libros y cursos, visita https://oreilly.com.
Encuéntranos en LinkedIn: https://linkedin.com/company/oreilly-media
Síguenos en Twitter: https://twitter.com/oreillymedia
Míranos en YouTube: https://youtube.com/oreillymedia
Agradecimientos
Ante todo, me gustaría dar las gracias a todos los que han contribuido a Consul a lo largo de los años. Los creadores de Consul, Armon Dadgar y Mitchell Hashimoto, los empleados actuales y anteriores de HashiCorp, y cientos de colaboradores de la comunidad han hecho de Consul el software único que es hoy. Es un privilegio trabajar con todos vosotros y escribir sobre Consul.
Gracias a Paul Banks y Matthew Keeler por sus conocimientos de Cónsul, a Sabeen Syed por su apoyo y a Hannah Hearth por diseñar la interfaz de usuario de la aplicación de muestra. Por último, tengo una deuda de gratitud con mis revisores, Nitya Dhanushkodi, Brandon McRae, Guy Barros e Isha, junto con mis editores de O'Reilly, Corbin Collins, Liz Wheeler y Gregory Hyman. Muchas gracias por vuestras ideas, sugerencias y ánimos. Este libro no sería lo que es sin vosotros.
Get Consulta: En marcha 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.