Prólogo

Empecé mi carrera cuando se estaba inflando la burbuja puntocom. Las empresas se propusieron convertirse en "el futuro de [rellena el espacio en blanco]" aprovechando Internet para transformar la forma en que la gente hacía todo, desde pedir comida para mascotas hasta comprar libros. Las empresas se apresuraron a construir centros de datos, los llenaron de servidores y empezaron a escribir el software que se comería el mundo, pero no antes de que estallara la burbuja: la mayoría de las empresas se declararon en quiebra, pero dejaron atrás los servidores y una montaña de deudas técnicas.

El estallido de la burbuja puntocom dio lugar a un universo en el que todas las empresas se transformaron en empresas tecnológicas construidas sobre granjas de servidores y la maleza de infraestructuras que crecían a su alrededor. Pronto la deuda técnica nos alcanzó y obligó a la industria a ir más despacio -muy despacio- y a centrarse en mantener las luces encendidas. En lugar de crear aplicaciones innovadoras para nuestros clientes, la mayoría de nosotros pasábamos el tiempo parcheando servidores y escondiéndonos tras cortafuegos, mientras nuestros equipos de seguridad perseguían vulnerabilidades.

Lo que debía impulsarnos hacia el futuro se convirtió en un ancla al pasado.

Mientras nuestras granjas de servidores evolucionaban lentamente, la nube vino al rescate y ofreció una alternativa más rápida, barata y mejor. En lugar de montar y apilar nuestros propios servidores, podíamos alquilar los suyos por horas. Aunque esto era realmente una mejora, aún había algo que nos frenaba: los servidores.

Las herramientas de automatización iban y venían, cada una ofreciendo una forma mejor de gestionar los servidores, pero seguían ocupando demasiado de nuestro tiempo. Paralelamente, el sector de las aplicaciones evolucionaba mucho más rápido, y los desarrolladores decidieron tomar las riendas. Crearon los contenedores, que introdujeron una forma universal de empaquetar aplicaciones que ya no requería que los servidores estuvieran correctamente configurados antes de que las aplicaciones pudieran ejecutarse en ellos.

Plataformas como Docker y Kubernetes permitieron a la industria (en particular a los administradores de sistemas) ejecutar aplicaciones en contenedores en nuestros servidores existentes, y finalmente arrojaron luz sobre un conjunto de patrones "nativos de la nube" para hacerlo a escala. Kubernetes se considera un proyecto de gran éxito, pero ni siquiera llega a eliminar los retos de ejecutar los servidores subyacentes, que siguen necesitando parches, configuración y mantenimiento.

Lo que tienes en tus manos es un vistazo a un futuro sin servidores, en el que el concepto de servidor ha quedado enterrado bajo un conjunto de abstracciones nativas de la nube y flujos de trabajo dedicados a ejecutar y asegurar tus aplicaciones en contenedores. Se trata de un futuro en el que los proveedores de la nube soportan la carga de gestionar los servidores, para que tú puedas centrarte en crear aplicaciones innovadoras para tus clientes.

Puede que te estés diciendo: "El futuro ya está aquí". No te equivocas; por desgracia, no está distribuido uniformemente.

En este libro, Wietse Venema expone cómo adoptar hoy el futuro de la computación en la nube. Te guía a través de los fundamentos aprovechando la plataforma Cloud Run de Google, guiándote en la parte menos profunda de la piscina sin servidor mientras te enseña a nadar a través de una colección de ejemplos prácticos. Cada capítulo te acerca más a la parte más profunda basándose en lecciones anteriores, ayudándote a comprender cómo escalar tus aplicaciones sin sacrificar el rendimiento y evitando costes inesperados al pagar sobre la marcha.

A medida que te adentras en áreas más profundas y avanzadas, como los retos de compartir una piscina con otros, Wietse mantiene una vigilancia constante como tu salvavidas. Wietse subraya los problemas de seguridad más importantes y cómo abordarlos mediante políticas de red y permisos IAM detallados. Su enfoque pragmático evita que te ahogues en la complejidad.

Como ocurre con la mayoría de las plataformas sin servidor, Cloud Run representa lo que la mayoría consideraría una caja negra: el proveedor de la nube posee y ejecuta la infraestructura responsable de hacer funcionar tus aplicaciones, y tendrás que confiar en que cumpla su parte. Wietse no te deja hacer un acto de fe. En su lugar, te enseña a "confiar pero verificar", aprovechando las piedras angulares de la observabilidad: registro estructurado, métricas y rastreo.

El otro inconveniente de la mayoría de las plataformas sin servidor es la dependencia del proveedor. Dependiendo de la plataforma, puede que tus aplicaciones sólo funcionen dentro de la oferta de un proveedor de nube concreto. Aunque algunos consideran que la preocupación por la dependencia de un proveedor es alarmista, es una preocupación válida para cualquier profesional. Wietse explica cómo crear aplicaciones que funcionen bien no sólo en la oferta Cloud Run de Google, totalmente gestionada, sino también en su homóloga de código abierto, Knative, que aprovecha el mismo contrato subyacente para ejecutar aplicaciones sin servidor sobre Kubernetes, la plataforma de orquestación de contenedores estándar del sector .

He tenido la suerte de formar parte del equipo de Google que ayudó a crear Knative y a lanzar Cloud Run al mercado. He visto cómo Cloud Run maduraba como producto a lo largo de los años. He incorporado a miles de clientes y he escrito un marco de trabajo para ayudar a los desarrolladores Go a crear aplicaciones Cloud Run más rápidamente, e incluso he aprendido un par de cosas de este libro. Lo que a mí me llevó tres años aprender, Wietse lo ofrece en menos de una docena de capítulos.

Get Construir aplicaciones sin servidor con Google Cloud Run 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.