Ir al contenido principal

Encontrar las mejores herramientas para DevOps

Para alcanzar la velocidad y agilidad ofrecida por DevOps necesitas elegir las herramientas correctas con las cuales podrás automatizar todas las tareas de desarrollo, producción y operación. De acuerdo al estudio realizado el 2013 por PuppetLabs, más del 80% de las organizaciones de alto desempeño que usan tecnología en aspectos claves de su negocio confían en herramientas de automatización para el manejo de su plataforma y pasos a producción de sus sistemas. Según esto, es probable que ya tengas muchas de las herramientas usadas en ambientes DevOps, ¿pero son las herramientas correctas para tu empresa?

Toma un acercamiento estratégico

No existe una única forma de seleccionar las herramientas correctas para tus necesidades. Los requerimientos de tu industria, departamento de TI, sistemas legados y flujos de trabajos son únicos a tu empresa. Y también es la manera para elegir las herramientas que usarán para maximizar los beneficios de DevOps.
La clave es crear una estrategia centrada en lo que es importante para tu empresa. Si tu objetivo es la colaboración, las herramientas correctas pueden alentar a tu equipo a hacer las cosas correctamente. En un breve tiempo se darán cuenta de que el esfuerzo puesto al principio aprendiendo a utilizar nuevas herramientas, se verá recompenzado a no tener que lidiar con trabajo tedioso como puede ser la habilitación de ambientes de prueba y la revisión de código o configuraciones de servidores.

Identificar los cuello de botella

El primer paso es identificar los cuello de botella de tus flujo de trabajo que impiden que tu empresa pueda contar con una plataforma más estable y usar la tecnología más fácilmente para apoyar a al negocio.
Hay dos caminos para identificar estos cuellos de botella. Primero: Pregunta! Pregunta a tu equipo en que parte las cosas se ponen lentas o problemáticas. Pídeles que generen un ranking según la severidad de estos cuellos de botella, y que identifiquen los que afectan a sistemas críticos.
Pero esto no es todo. También deberás analizar los logs de tus sistemas. Aprender que tareas y servicios son usados más y tienen un peor desempeño, que sistemas son los más inestables, y suma y sigue. Esto te dará evidencia dura de que está funcionando bien en tu plataforma y empresa, donde esta peor, y que es lo que está fallando.
Combina estos dos métodos para categorizar y comenzar la búsqueda de las herramientas que necesitan.

Enfócate en categorías claves

Las empresas más exitosas en implementar DevOps automatizan sólo utilizando herramientas en una pocas categorías claves, como por ejemplo:
Administración de configuraciones. Cuando los aficionados de DevOps hablan de cosas como “automatización de infraestructura”, “infrastructura como código” e “infrastructura programable”, ellos se refieren a la administración de configuraciones. Esto es la mantención y el seguimiento de forma centralizada de cambios en la configuración de los sistemas y softwares, lo que permite realizar operaciones rápidamente y de forma segura sobre la plataforma. Las herramientas más conocidas en este ámbito son AnsibleCFEngineChefPuppet y SaltStack. La real pregunta es que necesitan ustedes de un sistema de configuración? Por ejemplo usando Puppet puedes tener de forma inmediata un inventario de tu plataforma, mientras que está está trabajando como debe.
Paso a Producción. Las herramientas para hacer deploys permiten que el paso a producción de sistemas, lo que es el corazón de continuous delivery, uno de los principales objetivos de DevOps.Capistrano, una librería de deploy, es la herramienta más popular en esta categoría. Otras herramientas importantes para automatizar los pasos a producción son AnsibleFabric, y Jenkins. Nuevamente, lo importante es encontrar una herramienta que haga el seguimiento del historial de los sistemas y que esta información sea significativa para tu equipo.
Monitoreo. En DevOps se requieren dos tipos de monitoreo. El primero tiene que ver con la disponibilidad de los servicios, y aquí Nagios es la herramienta más conocida, aunque [Sensu][http://sensuapp.org] está ganando terreno rápidamente. El otro tipo de monitoreo es sobre el desempeño de aplicaciones y dispositivos (CPU, Memoria, Disco, etc.), en este campo la recolección de estadísticas está gobernada por herramientas como statsd y collectd, mientras que para la visualización recomendamos sin lugar a dudas Grafana.
Análisis de Logs. Si hay un espacio importante en nuestra actividad que ha sido dejado de lado por años, este es el análisis de los logs de nuestros sistemas y aplicaciones. Es en los logs donde encontramos la verdad de la salud de nuestra plataforma. Para la recoleción y transformación de logs en datos analisables la herramienta que se impone es Logstash la cual viene hoy con una consola gráfica de análisis excelente como es Kibana.
Pruebas de configuraciones. Otro ámbito importante y que no es muy usual ver que se aplique es la automatización de pruebas de los servicios que dan nuestras plataformas TI. Por ejemplo revisar que desde Internet sólo estén habilitados ciertos puertos, o que ninguno de los servidores permita el acceso del usuario root utilizando ssh. Hoy gracias a Serverspec es ridículamente sencillo escribir estos test y así estar seguro de que nuestras configuraciones están correctas.
Contar con el conjunto correcto de herramientas DevOps automatizará los trabajos de TI, entregará visibilidad en tiempo real del desempeño de sistemas y dispositivos, y te dará la seguridad de contar con una única fuente de información verídica. Más importantes que las capacidades individuales de cada herramienta, es como en conjunto pueden te ayudan en lograr los objetivos de tu empresa.

Comentarios

Entradas más populares de este blog

Sailfish OS certificado como alternativa a Android en Rusia

Los finlandeses de  Jolla  están de enhorabuena, especialmente si recordamos que no hace mucho estaban casi en la bancarrota, tras embarcarse en una aventura algo arriesgada para la fabricación de tablets. Ahora la vida les sonríe: las autoridades rusas  han certificado  el  sistema operativo Sailfish OS  para su uso por parte del gobierno y corporaciones del país. Se trata de un sistema con base open source ( Linux ), pero con una  capa privativa  presente en algunos de sus componentes como puede ser la interfaz o determinadas aplicaciones. La gran ventaja de Sailfish respecto a otros competidores en el mercado del smartphone –como el ya desaparecido  Firefox OS  o  Ubuntu –, es su  compatibilidad con las aplicaciones de Android. Las intenciones de Rusia es  reducir el uso de sistemas operativos extranjeros  (Android, iOS) en móviles del 95% actual  a la mitad en 2025 . Disminuir la  dependen...

Selfies en 3D llegan a Venezuela y hasta las podrás imprimir en plástico

La empresa 3DUP lanzó al mercado venezolano las líneas de impresoras 3D,  Cube3  y CubePro  de 3D Systems Corporation, a través de las cuales se podrán imprimir modelos, diseños o escaneos en 3D. De igual manera, también está disponible el servicio de selfie3D y el servicio de modelado 3D. La impresora Cube3 tiene dos cabezales de impresión y es única en su clase, posee una amplia combinación de materiales ABS, PLA y una variedad de 18 colores. Es el equipo más fácil de utilizar en el mercado y tiene un software de construcción apto para Windows y Mac; además cuenta con conexión wifi. La nueva CubePro, impresora 3D de calidad profesional ofrece el mayor volumen de impresión entre las impresoras de su clase, sus versiones cuentan con uno, dos o tres cabezales de impresión. Además, posee una amplia combinación de materiales ABS, PLA y Nylon con una variedad de 25 colores, cuenta con una cámara calefaccionada y cerrada para optimizar los trabajos de impresión 3D. P...

Cómo utilizar Google Cloud Print para usar una impresora desde cualquier ordenador, móvil o tablet

Google Cloud Print  es de los productos menos populares de Google, pero es de los mejores. Básicamente  conecta tu impresora a la Web para que puedas imprimir en ella desde cualquiera de tus ordenadores o dispositivos móviles  (a través del ordenador si es una impresora convencional), aunque estés  en el otro extremo del mundo . Y  también permite compartir la impresora con otros usuarios , para que puedan imprimir en ella aunque también estén  en el otro extremo del mundo . En ambos casos será posible imprimir a través de Google Cloud Print desde el navegador Chrome y desde aplicaciones de Google que tengan la opción de imprimir, caso de las aplicaciones de Gmail (nativa o web) y Google Docs / Google Drive 1 . Google Cloud Print también está disponible desde  aplicaciones compatibles . Para activar Google Cloud Print, Inicia (instala primero si es necesario) el  navegador web Chrome Abre las preferencias. Al final de la pá...