{"id":153,"date":"2019-12-03T16:22:37","date_gmt":"2019-12-03T22:22:37","guid":{"rendered":"https:\/\/www.imds.org.mx\/blog\/?p=153"},"modified":"2019-12-03T16:26:17","modified_gmt":"2019-12-03T22:26:17","slug":"que-necesitas-para-ser-devops","status":"publish","type":"post","link":"https:\/\/www.imds.org.mx\/blog\/que-necesitas-para-ser-devops\/","title":{"rendered":"\u00bfQu\u00e9 necesitas para ser DevOps?"},"content":{"rendered":"\n<p>DevOps es mucho m\u00e1s que dominar herramientas nuevas en programaci\u00f3n, DevOps es una cultura organizacional que est\u00e1 revolucionando la manera en que los equipos de programadores trabajan.\u00a0<strong>\u00bfQu\u00e9 pensar\u00edas si te di\u00e9ramos la f\u00f3rmula para mejorar tus resultados invirtiendo menos tiempo en tus desarrollos?\u00a0<\/strong>\u00bfY si pudieras llevar esta f\u00f3rmula a tu equipo de trabajo? \u00a1Este es el d\u00eda a d\u00eda de un DevOps Developer! En este post te daremos los\u00a0<strong>cuatro ingredientes iniciales de esta f\u00f3rmula.<\/strong><\/p>\n\n\n\n<p><strong>Testea cada etapa de tus proyectos<\/strong><\/p>\n\n\n\n<p>Desarrollar c\u00f3digo de calidad es una tarea complicada y divertida a partes iguales, pero somos humanos y es inevitable que en alg\u00fan momento se nos cuele alg\u00fan gazapo: un caso de uso mal implementado, una condici\u00f3n no contemplada, una excepci\u00f3n no controlada, etc. Cuanto m\u00e1s lejos llega un error en el ciclo de vida de nuestro proyecto o producto, peores son las consecuencias que produce: dificultad para reproducirlo, funcionamiento imprevisible, problema de dise\u00f1o sobre el que se ha construido funcionalidad, etc.<\/p>\n\n\n\n<p>Por ello es importante que desarrolles tests que puedan poner a prueba los casos de uso que has implementado, y as\u00ed minimizar un posible impacto negativo ya desde fases tempranas. Todos los lenguajes de programaci\u00f3n tienen sus librer\u00edas y\/o frameworks para escribir tests: busca cu\u00e1l aplica a tu caso y dedica tiempo a dominarlos.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"748\" height=\"440\" src=\"https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/testing-trends-2019.png\" alt=\"\" class=\"wp-image-156\" srcset=\"https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/testing-trends-2019.png 748w, https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/testing-trends-2019-300x176.png 300w\" sizes=\"(max-width: 748px) 100vw, 748px\" \/><\/figure>\n\n\n\n<p><strong>Automatiza parte de tu trabajo<\/strong><\/p>\n\n\n\n<p>Las tareas repetitivas y mec\u00e1nicas no son nuestro fuerte, y ante la probabilidad creciente de introducir errores, debemos automatizarlas todo lo posible. La integraci\u00f3n de c\u00f3digo es un gran ejemplo. El c\u00f3digo que se sube al repositorio debe estar siempre en estado desplegable; esto asegura, entre otras cosas, que podamos desplegar en cualquier entorno de manera controlada y sin riesgo, pues el c\u00f3digo tiene la calidad esperada y el producto final presume de robustez.<\/p>\n\n\n\n<p>Esto se consigue definiendo una serie de acciones destinadas a testar, medir e integrar de manera autom\u00e1tica cada cambio que se hace en el repositorio de c\u00f3digo. Puedes apoyarte en los servicios de CI\/CD que ofrecen GitHub y GitLab, entre otros muchos, para implementar Integraci\u00f3n Continua en tus proyectos.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"799\" height=\"441\" src=\"https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/test.png\" alt=\"\" class=\"wp-image-158\" srcset=\"https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/test.png 799w, https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/test-300x166.png 300w, https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/test-768x424.png 768w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/><\/figure>\n\n\n\n<p><strong>Utiliza entornos virtuales<\/strong><\/p>\n\n\n\n<p>Si tus proyectos te exigen generar distintos entornos para la ejecuci\u00f3n de pruebas, compilaciones, empaquetados y\/o despliegues, vas a apreciar herramientas como Vagrant o Docker. Tanto m\u00e1quinas virtuales (VM) como contenedores de software pueden ayudarte a levantar entornos en cuesti\u00f3n de minutos, e incluso segundos, tan solo con un clic o un comando de tu terminal. No es necesario que degrades tu equipo instalando cientos de librer\u00edas y dependencias para intentar simular un entorno: ap\u00f3yate en estas herramientas.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"750\" height=\"410\" src=\"https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/entornos.jpg\" alt=\"\" class=\"wp-image-159\" srcset=\"https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/entornos.jpg 750w, https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/entornos-300x164.jpg 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/figure>\n\n\n\n<p><strong>Mide y vencer\u00e1s<\/strong><\/p>\n\n\n\n<p>Monitoriza y obt\u00e9n m\u00e9tricas de todo lo que sea susceptible de ello. Esto te ayudar\u00e1 a entender mejor c\u00f3mo tu software se est\u00e1 desenvolviendo en la plataforma donde est\u00e1 desplegado. Por ejemplo, podr\u00edas tener acceso en tiempo real al consumo de recursos (CPU, memoria, red, etc.) de tu software e identificar as\u00ed posibles optimizaciones a acometer. O tambi\u00e9n, ver c\u00f3mo se comporta cuando recibe un incremento de tr\u00e1fico de usuarios o detectar anomal\u00edas. Incluso puedes definir alertas para recibir notificaciones de casos graves que deban ser atendidos con urgencia. Todo esto puedes hacerlo con herramientas como Prometheus y Grafana.<\/p>\n\n\n\n<p>Este es solo el comienzo en la cultura DevOps, pero te podemos asegurar que aplicando estos consejos a tu trabajo, podr\u00e1s ver c\u00f3mo empezar\u00e1n a mejorar notablemente tus procesos de desarrollo. \u00bfAhora quieres saber qu\u00e9 sigue? El siguiente paso ser\u00e1 convertirte en un Full Stack DevOps Developer y dominar los m\u00e9todos, tecnolog\u00edas y herramientas que potenciar\u00e1n tu trabajo y el de tu equipo.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"598\" height=\"306\" src=\"https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/grafana-dashboard.jpg\" alt=\"\" class=\"wp-image-160\" srcset=\"https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/grafana-dashboard.jpg 598w, https:\/\/www.imds.org.mx\/blog\/wp-content\/uploads\/2019\/12\/grafana-dashboard-300x154.jpg 300w\" sizes=\"(max-width: 598px) 100vw, 598px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>DevOps es mucho m\u00e1s que dominar herramientas nuevas en programaci\u00f3n, DevOps es una cultura organizacional&#8230;<\/p>\n","protected":false},"author":1,"featured_media":154,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.imds.org.mx\/blog\/wp-json\/wp\/v2\/posts\/153"}],"collection":[{"href":"https:\/\/www.imds.org.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.imds.org.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.imds.org.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.imds.org.mx\/blog\/wp-json\/wp\/v2\/comments?post=153"}],"version-history":[{"count":2,"href":"https:\/\/www.imds.org.mx\/blog\/wp-json\/wp\/v2\/posts\/153\/revisions"}],"predecessor-version":[{"id":161,"href":"https:\/\/www.imds.org.mx\/blog\/wp-json\/wp\/v2\/posts\/153\/revisions\/161"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.imds.org.mx\/blog\/wp-json\/wp\/v2\/media\/154"}],"wp:attachment":[{"href":"https:\/\/www.imds.org.mx\/blog\/wp-json\/wp\/v2\/media?parent=153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.imds.org.mx\/blog\/wp-json\/wp\/v2\/categories?post=153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.imds.org.mx\/blog\/wp-json\/wp\/v2\/tags?post=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}