OPTIMIZAR EL RENDIMIENTO DE LAS APLICACIONES EN LA NUBE

5 principios para optimizar el rendimiento de las aplicaciones en la nube

CONTENIDO RELACIONADO

Distributed Systems Observability ›

This report from O’Reilly provides an overview of monitoring challenges and trade-offs to help you choose the best observability strategy for your distributed systems.

Get the report ›

La velocidad y la agilidad siguen siendo algunos de los principales motivos para la adopción de la nube empresarial, ya que la lentitud se ha vuelto inaceptable en este mundo de ritmo acelerado en el que vivimos. Pero como profesional de DevOps encargado de acelerar las implementaciones de las aplicaciones mientras mejora el rendimiento de las mismas y garantiza la seguridad, ¿qué se necesita para modernizar los sistemas y procesos de manera que se supere la lentitud en la nube? Le sugerimos varias cosas.

1. La infraestructura como código está de su lado

En el 99 % de los casos, la palabra «manual» puede ser sinónimo de letargo e imprevisibilidad; la mayoría estaría de acuerdo en que cuando se busca velocidad y fiabilidad, la automatización es un buen punto de partida. Ya sea que se estén utilizando recursos adicionales de la nube para ampliar una aplicación o implementando y configurando servicios esenciales de aplicaciones, debería ser en realidad tan sencillo como hacer una llamada de API o uno o dos clics en una consola. La utilización de la infraestructura como código (IaC) es la clave del éxito en este caso. Trabajar con sus compañeros de Infraestructura/NetOps/SecOps para establecer archivos de definición validados que detallen qué y cómo se están implementando las cosas le permitirá aprovisionar la infraestructura y los servicios de una manera rápida, repetible y fiable.

Aprovechar este enfoque de plantillas para las implementaciones de autoservicio le hará, en última instancia, menos dependiente de otros equipos y evitará los cuellos de botella de las implementaciones causados por las solicitudes de aprovisionamiento de infraestructura manual basadas en tickets.

2. Aproveche al MÁXIMO la distribución de CI/CD

La infraestructura como código aporta un paso en la dirección correcta cuando se trata de acelerar las implementaciones, pero se pueden obtener beneficios considerablemente mayores explotando el valor de una distribución completa de CI/CD. Más allá de la capacidad de integrar nuevo código de aplicaciones de forma más frecuente y de hacer que esas actualizaciones se pongan en producción de forma automática, ¿sabía que también puede integrar la inserción de servicios de aplicaciones en su distribución? Al definir estos servicios como código (IaC) y almacenarlos en una herramienta de control de código fuente donde se pueden supervisar, actualizar y verificar regularmente, sus herramientas de CI/CD (como Ansible y GitLab) pueden llevar automáticamente estos servicios a la fase de implementación mediante una llamada de API. De esta manera, se asegurará de que cada aplicación salga con los controles de seguridad y cumplimiento adecuados sin retrasar las implementaciones.

3. Incorpore contenedores, pero siempre de forma segura

La capacidad de agrupar el código, las bibliotecas y los binarios necesarios para una aplicación completa en un paquete ligero que puede implementarse rápida y consistentemente en todas las plataformas, es la clave para el reciente aumento de adopción de contenedores. Estas características son buena señal para la optimización de la velocidad en la nube, ya que permiten aumentar y escalar las aplicaciones sobre la marcha, acelerar los procesos de CI/CD y construir arquitecturas de microservicios altamente dinámicas y manejables.

Dejando a un lado ese bombo y platillo, es más que fácil quedarse atrapado en la búsqueda de la velocidad y olvidarse de que todavía hay aplicaciones que requieren los mismos (o mayores) niveles de optimización de seguridad y rendimiento que el resto de su cartera de aplicaciones. Y, desafortunadamente, es probable que solo tenga un éxito limitado cuando trate de adaptar los servicios de aplicaciones existentes para satisfacer las distintas necesidades de los contenedores. En cambio, tendrá que identificar un conjunto más dinámico de servicios que se integren con su sistema de orquestación de contenedores para proporcionar un verdadero soporte a sus contenedores, ayudando a evitar interrupciones no deseadas y problemas de seguridad/cumplimiento.

4. Conocimiento La visibilidad es poder

Poner en marcha aplicaciones rápidamente es una cosa. Mantenerlas y conseguir que estén disponible para los usuarios es un reto totalmente diferente. Hay un sinfín de posibles amenazas para el estado de las aplicaciones una vez que pasan a producción: interrupciones de la red, problemas de plataforma, ciberataques y errores de código, por nombrar solo algunas de ellas. Con frecuencia, esto hace que la tarea de solucionar una sola interrupción de aplicación resulte tan difícil como buscar una aguja en un pajar. Pero si nos paramos a pensar en la magnitud de los múltiples fallos de aplicaciones simultáneos de diferentes entornos de nube. ¿Por dónde empezaría?

En este supuesto, la visibilidad es el precursor del conocimiento, lo que hace que tenga un valor incalculable a la hora de solucionar problemas de aplicaciones. Cuanto mayor sea el grado de visibilidad de cada capa de la pila de aplicaciones, mayor será su capacidad para identificar las anomalías operativas y las causas raíz. Para ello, es fundamental implementar una solución de visibilidad centralizada que sea agnóstica de la nube y las aplicaciones para resolver más rápidamente los problemas de las aplicaciones en arquitecturas multinube.

5. Mediante el trabajo en equipo, el sueño se hace realidad

Para finalizar, la agilidad de la nube no se trata solo de tener las herramientas y la tecnología adecuadas (sí, definitivamente son de utilidad). También cuentan las personas y los procesos. Hay algo de verdad en aquello que dicen de que «Una red es tan rápida como su cable más lento». Y esa cita es cierta cuando se aplica a los equipos responsables de la creación, implementación y gestión de aplicaciones en la nube. Es un esfuerzo de equipo que normalmente abarca al menos a los equipos de DevOps, SecOps y NetOps, y arquitectos, lo que significa que las ineficiencias individuales o de colaboración probablemente impactarán en el equipo en su conjunto.

Derribar los silos y aplicar un modelo de compromiso regular y sólido entre los equipos proporcionará una buena base para ayudar a acelerar la planificación, la resolución de problemas y el intercambio de información, asegurando que todos marchen al mismo ritmo. No sólo podrá aprovechar mejor la experiencia multifuncional que hará su vida más fácil, sino que podrá corresponder abogando por cosas como la automatización y la optimización de los procesos en otras ocupaciones, ayudando a todo el mundo a moverse más rápidamente.

DESCUBRIR MÁS

Artículo

¿Está consiguiendo todo lo que necesita de los servicios de nube nativos?

¿Cuáles son los signos de que ha sobrepasado los servicios de seguridad y rendimiento nativos de la nube?

Solución

Opte por la velocidad sin quemarse

Descubra cómo obtener la seguridad, el rendimiento y la visibilidad que su empresa exige sin ralentizar el desarrollo.

Seminario web

Trabajar entre equipos para pasar del código al cliente más rápidamente

La responsabilidad del desarrollo de aplicaciones se ha ido desplazando hacia los desarrolladores y se ha alejado de los equipos de red y seguridad en aras de la velocidad.