El imperativo de la modernización: la belleza del aburrimiento
Richard Seroter
Director, estrategias comerciales y habilitación
Google Cloud Next
Está abierta la inscripción a nuestro evento insignia, del 29 al 31 de agosto.
RegístrateEn este momento, en tu bolsillo hay algo que tiene más poder de cómputo que naves espaciales a quince mil millones de kilómetros de distancia de la Tierra. No, no es tu teléfono celular: ¡es el llavero de tu auto! Las sondas Voyager 1 y Voyager 2 se lanzaron en 1977, y cuarenta y cinco años después, estos pequeños bribones todavía funcionan y envían datos a la Tierra mientras se mueven a través del espacio gélido y vacío a más de cuarenta y ocho mil kilómetros por hora. ¿Crees que tu llavero seguirá funcionando en 2068? También es sorprendente que los romanos crearan un hormigón tan duradero que, dos mil años después, las estructuras construidas con él todavía se utilicen. Mientras tanto, en las calles cerca de mi casa se forman baches si un conejo estornuda sobre ellos.
Soy fanático de la durabilidad porque te permite pensar con originalidad. Si supiera que mis cimientos son seguros, me inclinaría más por superar los límites para innovar y salir de mi zona de confort porque el entorno podría manejarlo. La durabilidad debe ser el tema central de la conversación sobre la modernización de apps, ya que cada app y entorno que creamos para nuestros clientes es el primer paso de su tecnología y estrategia comercial de nueva generación. Los objetivos y sueños de toda una organización se basan en las arquitecturas tecnológicas que estamos construyendo y debemos asegurarnos de que la base tenga la fuerza necesaria para soportar todo lo que depare el futuro, y más también.
En el momento de seleccionar las tecnologías fundamentales adecuadas para las apps modernas, es crucial tener en cuenta la longevidad y la fiabilidad de la tecnología. ¿Habrá un nuevo y emocionante modelo grande de lenguaje de código abierto en un año? ¿O una nueva base de datos interesante de PayPal? ¿Cómo elijo algo del diagrama del panorama de CNCF, que está en constante crecimiento? Aquí es donde entra en juego la fortaleza de las comunidades de código abierto y el respaldo de los proveedores. Por ejemplo, Kubernetes, PostgreSQL y Java resistieron el paso del tiempo gracias a sus conjuntos de funciones, comunidades dedicadas y un sólido soporte de proveedores.
Kubernetes proporciona una solución escalable para administrar e implementar apps y cuenta con el fuerte respaldo de Google: Hasta julio, hicimos más de 1.000.000 de contribuciones al proyecto k8s, 2,3 veces más que cualquier otro contribuyente. Por su parte, PostgreSQL, es una de las bases de datos de código abierto más avanzadas del mundo y ofrece un conjunto completo de funciones que satisfacen una amplia gama de necesidades de procesamiento de datos. También cuenta con una comunidad vibrante que mejora constantemente sus capacidades. Y Java, un lenguaje de programación de uso general, ha sido un elemento básico en la comunidad de desarrollo durante décadas, en las que proporcionó una plataforma confiable para construir apps robustas.
Elegir una tecnología establecida no solo trae el beneficio de un conjunto de funciones maduro, sino también la garantía de continuidad. Una base de datos o un modelo de lenguaje nuevo puede ser prometedor, pero carecen del historial de estas tecnologías probadas. El riesgo de adoptar estas nuevas tecnologías es su posible interrupción o falta de soporte, lo que podría poner en peligro la estabilidad y la longevidad de tu app.
El uso de papel de aluminio por parte del equipo de la Voyager es un gran ejemplo de este principio. Eligieron una solución simple, confiable y disponible para proteger los instrumentos sensibles durante su misión. La elección del papel de aluminio podría no haber sido la más vanguardista o emocionante, pero fue práctica, confiable y, en última instancia, exitosa. Del mismo modo, al elegir las tecnologías fundamentales para sus apps modernas, a veces la opción “aburrida” es la mejor. No se trata de perseguir las últimas tendencias; se trata de elegir lo que funciona y resiste el paso del tiempo.
El respaldo de los proveedores es otra de las cuestiones importantes que se deben considerar al elegir las tecnologías fundamentales. Un proveedor de plataforma confiable que ejecute estas tecnologías garantiza un Acuerdo de nivel de servicio (ANS) de largo tiempo de actividad. Por ejemplo, Google Kubernetes Engine (GKE) ofrece un ANS de tiempo de actividad del 99,95%, mientras que Bigtable “simplemente funciona” y Cloud Storage no pierde datos gracias a un diseño que admite una durabilidad anual del 99,9999999%.
Aburrido no significa malo
Esto no quiere decir que no debamos experimentar con nuevas tecnologías y alentar a nuestros clientes a hacer lo mismo. Todo el mundo necesita una estrategia de innovación. En este punto, es útil el concepto de un “espectro de innovación”. Este espectro representa diferentes grados de innovación tecnológica que las empresas pueden emplear en función de sus necesidades y capacidades específicas. En un extremo del espectro, está la innovación incremental, que implica hacer pequeñas mejoras o extensiones en los productos, servicios o procesos existentes. En el otro extremo, está la innovación radical o disruptiva, que implica crear productos o servicios completamente nuevos que pueden afectar industrias enteras.
Un ejemplo clásico de equilibrar la tecnología de vanguardia con la tecnología “aburrida” o heredada se ve en muchas instituciones financieras. Pueden usar IA y ML para la detección de fraudes o el análisis predictivo, mientras siguen confiando en tecnologías probadas y verdaderas en sus sistemas bancarios centrales. Esta combinación de tecnologías nuevas y antiguas les permite beneficiarse de los últimos avances sin poner en peligro la estabilidad y la fiabilidad de sus operaciones críticas. Sin embargo, como la industria bancaria está descubriendo, eso también puede correr el riesgo de sofocar la innovación y puede hacer que los clientes busquen en otra parte.
Para los desarrolladores, las plataformas basadas en Kubernetes de Google Cloud presentan un equilibrio similar entre innovación y estabilidad. Por ejemplo, los investigadores pueden aprovechar el uso compartido de GPU de vanguardia en GKE para explorar los orígenes del universo, mientras que la BBC utiliza contenedores sin servidor Cloud Run para mantenerse al día con las demandas de un día de muchas noticias.
Adoptar las prácticas recomendadas, como la ingeniería de plataformas, puede proporcionar una base sólida para implementar nuevas tecnologías. La ingeniería de plataformas se centra en crear una plataforma estable, escalable y segura, que permita la implementación rápida de apps. GitOps es otra práctica importante que implica el uso de Git como fuente única de referencias para la infraestructura y las apps declarativas. Con Git como base de los flujos de procesamiento de entrega, los desarrolladores pueden usar herramientas familiares para realizar solicitudes de extracción. Los cambios se pueden implementar o revertir fácilmente, lo que facilita el proceso de adopción de nuevas tecnologías.
En lo que respecta al desarrollo de apps modernas, los desarrolladores deben poder confiar en que las tecnologías fundamentales que elijan sean fiables y duraderas. Sin esta garantía, los desarrolladores pueden dudar en asumir riesgos o explorar soluciones creativas. Para darles la confianza que necesitan, una estrategia de ingeniería de plataformas efectiva puede proporcionar una base sólida para implementar nuevas tecnologías, al tiempo que garantiza la estabilidad y la seguridad.
El aburrimiento puede ser hermoso, especialmente si estás creando para el largo plazo. Más allá de lo que estés desarrollando, desde carreteras y cohetes hasta microservicios o arquitectura de red, la estructura fundamental debe soportar todo lo que el futuro concebible pueda imponer. Una base sólida y duradera ofrece a los desarrolladores las capacidades que necesitan para superar los límites y la confiabilidad que necesitan para que su creación siga avanzando, a 24 mil millones de kilómetros de distancia.