Resumen de Platform Engineering (Cap 1)
by Camille Fournier & Ian Nowland

Search for a command to run...
by Camille Fournier & Ian Nowland

No comments yet. Be the first to comment.
Por Roger Fisher y William Ury

Objetivo del blog: compartir mi proceso, dificultades y aprendizajes. 📚 ¿Por qué decidí aprender Flutter y Dart? La capacidad de flutter para crear aplicaciones con alto desempeño para sistemas operativos iOS y Android a partir de un mismo código b...

En la nube, hay un número de principios que pueden ayudarte a fortalecer la seguridad. Principios de diseño: Implementar una sólida base de identidad. Implementar el principio de privilegio mínimo y hace cumplir la separación de tareas con la autori...

Libros Code Smells. Refactoring por Martin Fowler Clean code por Robert Martin, Dean Wamper Básicos de clean code Hacer ejercicio de un código hecho, y revisar. Crear PR de código limpio Testing Tangentially related for determining whether w...

Porque Platform Engineering ofrece una visión clara y práctica sobre cómo construir plataformas internas que realmente empoderen a los equipos de desarrollo, mejoren la eficiencia operativa y escalen con el crecimiento de tu organización. Con la experiencia combinada de Camille Fournier e Ian Nowland, este libro te ayuda a evitar errores comunes, entender qué hace valiosa a una plataforma y cómo liderar equipos técnicos hacia soluciones sostenibles, reutilizables y centradas en el usuario interno. Es una lectura esencial si quieres que tu equipo construya más rápido, con menos fricción y mayor impacto.
Las plataformas nacen de los desafíos modernos en la ingeniería de software a escala. Los equipos deben gestionar ecosistemas tecnológicos cada vez más diversos y cambiantes, sin sacrificar disponibilidad ni desempeño. Esta presión llevó a la necesidad de crear soluciones reutilizables y eficientes que reduzcan complejidad sin ralentizar la innovación.
“Las plataformas son los cimientos de APIs self-service, herramientas, servicios, conocimiento y soporte que se disponen como un producto interno muy interesante. Equipos de aplicación autónomos pueden hacer uso de la plataforma para la entrega de funciones de producto más rápido y con menor coordinación.”
— Evan Bottcher, 2018
Es la disciplina dedicada al diseño, construcción y operación de plataformas. Su propósito: manejar la complejidad técnica para acelerar el negocio.
El trabajo de unos pocos ingenieros en una plataforma puede tener un impacto positivo en toda la organización. Esto se logra aumentando la productividad de los equipos de aplicación y evitando esfuerzos duplicados.
Ver la plataforma como un producto significa adoptar un enfoque centrado en el cliente interno (los desarrolladores), guiando el desarrollo de funcionalidades con base en sus necesidades reales.
Aunque la industria ha evolucionado mucho en cuanto a herramientas e infraestructura en los últimos 25 años, los costos de mantener sistemas complejos han crecido. Las aplicaciones son más fáciles de construir, pero más difíciles de operar. Y a medida que escalan, se vuelven más lentas… como caminar en un pantano.
Según Jossi Koskinen, entre el 60 y 75% del costo de un software ocurre después de su lanzamiento inicial, y gran parte se va en mantenimiento y migraciones.
La llegada de la nube pública trajo una avalancha de alternativas. Los desarrolladores buscaban independencia, rapidez y menos fricción con equipos de infraestructura. Sin embargo, la diversidad trajo consigo complejidad, riesgos de seguridad y costos ocultos.
Este nuevo ecosistema exigía no solo nuevas herramientas, sino también nuevos roles. Apareció el movimiento DevOps, con una cultura centrada en colaboración y automatización. Más adelante, Google presentó SRE (Site Reliability Engineering) como su forma de garantizar confiabilidad en producción. Aunque fue revolucionario, fuera de Google ha sido difícil de replicar con éxito.
Las plataformas permiten:
Reducir la cantidad de tecnologías primitivas (por ejemplo, herramientas OSS) sin sacrificar flexibilidad.
Disminuir el acoplamiento entre equipos y herramientas, al ofrecer abstracciones reutilizables.
Centralizar migraciones, encapsulando tecnologías y exponiéndolas a través de APIs internas. Y mejorarando la observabilidad, controlando qué se usa y cómo se usa en la organización.
Empoderar a los developers, permitiéndoles operar lo que construyen, sin cargar con la complejidad operativa de fondo.
Un ejemplo clásico es Terraform: en vez de que cada equipo gestione su propia infraestructura, la plataforma puede encargarse de abstraer esa complejidad y ofrecer una experiencia más alineada con las necesidades reales de los equipos.
Se mencionan cuatro enfoques que son populares y traen valor a la organización, pero debido a los sesgos de su rol, no es común que estén aptos para la tarea de crear plataformas. Por lo tanto, la ingeniería de plataformas promueve que estos grupos de ingenieros salgan de los silos y trabajen en equipos con una misión más amplia para crear plataformas que provean un balance. Incluyendo a los equipos de:
Infraestructura, balancear las capacidades de infraestructura y las simplicidades centradas en el desarrollador.
DevTools, balancear la experiencia de desarrollo con la experiencia de soporte en producción.
DevOps, balancear la cohesión idónea por aplicación con un software más general para dar soporte a muchas más aplicaciones.
SRE, balancear la fiabilidad con otros atributos de sistema como agilidad de funciones, eficiencia de costos, seguridad y desepeño
La ingeniería de plataformas une estos mundos. Promueve equipos más integrados, con misiones claras y un foco en construir soluciones escalables, mantenibles y centradas en el usuario interno.
¿Te interesa este tema? ¡Estoy escribiendo un resumen por cada capítulo!
Puedes seguirme para más artículos sobre platform engineering, DevOps y arquitectura moderna.