{"id":20130,"date":"2023-10-09T08:00:12","date_gmt":"2023-10-09T06:00:12","guid":{"rendered":"https:\/\/www.hiberus.com\/crecemos-contigo\/?p=20130"},"modified":"2024-01-22T14:22:46","modified_gmt":"2024-01-22T13:22:46","slug":"infrastructure-as-code-iac","status":"publish","type":"post","link":"https:\/\/www.hiberus.com\/crecemos-contigo\/infrastructure-as-code-iac\/","title":{"rendered":"Infrastructure as code (IaC), cocinando el presente de las infraestructuras IT"},"content":{"rendered":"<p>El panorama IT ha evolucionado a una velocidad vertiginosa. Cada d\u00eda hay nuevas aportaciones, conceptos, tecnolog\u00edas y metodolog\u00edas que entran en escena, cobran protagonismo y nos sacuden con sus nuevos paradigmas: que si <a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/modelos-de-virtualizacion-de-sistemas\/\" target=\"_blank\" rel=\"noopener\">virtualizaci\u00f3n<\/a>, hibridaci\u00f3n, <a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/cloud-computing-que-es-y-para-que-sirve\/\" target=\"_blank\" rel=\"noopener\">cloud computing<\/a>, <a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/que-es-devops-y-por-que-apostar-por-esta-filosofia\/\" target=\"_blank\" rel=\"noopener\">DevOps<\/a>, SRE, computaci\u00f3n cu\u00e1ntica, etc.<\/p>\n<p>Curiosamente, pese a la evoluci\u00f3n que ha experimentado nuestro entorno tecnol\u00f3gico todos arrastramos viejas pr\u00e1cticas heredadas de antiguas metodolog\u00edas que, aunque v\u00e1lidas en su momento, hoy en d\u00eda est\u00e1n obsoletas. Hay una frase que a menudo me gusta repetirme cuando pienso en esto: <strong>No puedes parar el futuro. Tampoco puedes detener el progreso.<\/strong> El futuro ni siquiera es hoy, es ayer.<\/p>\n<p>Es muy posible que hay\u00e1is llegado aqu\u00ed buscando como gestionar eficientemente la infraestructura de vuestra empresa y qu\u00e9 pueden aportar nuestras metodolog\u00edas en ese proceso. Eso es exactamente de lo que trata este art\u00edculo, algo fundamental y necesario en nuestro d\u00eda a d\u00eda cuando trabajamos con infraestructuras IT y que en Hiberus tenemos muy claro: la <strong>IaC<\/strong>.<\/p>\n<h2>\u00bfQu\u00e9 es <strong>Infrastructure as Code (<\/strong>IaC)?<\/h2>\n<p>IaC es el acr\u00f3nimo de la expresi\u00f3n<strong> Infrastructure as Code<\/strong>, es decir, infraestructura como c\u00f3digo. Se trata de un paradigma, un concepto que condensa multitud de aspectos relacionados con la automatizaci\u00f3n y buenas pr\u00e1cticas a la hora de dise\u00f1ar, desplegar, aprovisionar y mantener una infraestructura IT. Si queremos comprender el aut\u00e9ntico significado de esta expresi\u00f3n, echemos un vistazo por separado a los dos conceptos que la componen:<\/p>\n<ul>\n<li><strong>Infraestructura.<\/strong> Cuando hablamos de infraestructura nos referimos tradicionalmente a todos los recursos que sustentan la estructura IT de una organizaci\u00f3n. V\u00e9ase: routers, switches, cabinas de discos, servidores, dispositivos de almacenamiento, sistemas de alimentaci\u00f3n ininterrumpida, firewalls, etc.<\/li>\n<li><strong>C\u00f3digo.<\/strong> Tratamos con un lenguaje de programaci\u00f3n de alto nivel muy descriptivo en el que declaramos los recursos a desplegar y sus configuraciones particulares.<\/li>\n<\/ul>\n<p>Si combinamos ambos t\u00e9rminos, los batimos, les damos vueltas, los agitamos y metemos al horno, lo que obtenemos es un suculento plato basado en una receta. Y eso es precisamente de lo que trata la IaC, preparar \u201crecetas\u201d que se almacenan, se controlan, se gestionan, se comparten y se \u201ccocinan\u201d cuando es necesario.<\/p>\n<h2>\u00bfCu\u00e1ndo nace la IaC?<\/h2>\n<p>Para decidir trabajar con IaC es necesario comprender el contexto en el que nace y por qu\u00e9 lo hace. Hoy en d\u00eda <strong>pensar en IaC es pensar autom\u00e1ticamente en virtualizaci\u00f3n y cloud<\/strong>.<\/p>\n<p>Hagamos un ejercicio de imaginaci\u00f3n: pensemos el esfuerzo que tendr\u00edamos que realizar para crear, aprovisionar y mantener la infraestructura IT de nuestra nueva empresa. La llamaremos Turing S.A. ?<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-20131\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Turing.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Turing.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Turing-150x150.png 150w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Veamos c\u00f3mo podemos abordar este proceso desde dos perspectivas diferentes: una m\u00e1s tradicional y otra orientada a la nube. \u00a1Comencemos!<\/p>\n<h3>Tradicional \/ On-Premise<\/h3>\n<p>Turing S.A. va a necesitar un <strong>CPD (centro de procesamiento de datos)<\/strong> para poder desarrollar su actividad comercial. Tiene que alojar en alg\u00fan lugar su prometedora aplicaci\u00f3n web. La direcci\u00f3n de la empresa ha decidido que va a consistir en una instalaci\u00f3n \u201cf\u00edsica\u201d.<\/p>\n<div id=\"attachment_20132\" style=\"width: 606px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-20132\" class=\"size-full wp-image-20132\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/cpd.jpg\" alt=\"\" width=\"596\" height=\"567\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/cpd.jpg 596w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/cpd-300x285.jpg 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/cpd-360x342.jpg 360w\" sizes=\"auto, (max-width: 596px) 100vw, 596px\" \/><p id=\"caption-attachment-20132\" class=\"wp-caption-text\">Centro de proceso de datos (CPD)<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>Este tipo de despliegue de recursos es lo que denominamos on-premise y va tener una serie de gastos y consumo de tiempo:<\/p>\n<ul>\n<li><strong>CAPEX<\/strong> (gastos relacionados con el capital): dise\u00f1o, construcci\u00f3n, infraestructuras y equipamiento.<\/li>\n<li><strong>OPEX<\/strong> (gastos operacionales): personal, suministro el\u00e9ctrico, mantenimiento, reparaciones, etc.<\/li>\n<\/ul>\n<p>Seamos francos, levantar un CPD funcional toma unos pocos meses en el mejor de los casos. <strong>\u00bfCu\u00e1ntos problemas pueden surgir en el proceso?<\/strong> Y, una vez que est\u00e1 a pleno rendimiento, \u00bfC\u00f3mo lo redimensionamos cuando la demanda de recursos por parte de la organizaci\u00f3n o los clientes crece? \u00bfY si estas demandas no son constantes si no espor\u00e1dicas? \u00bfAsumimos una nueva inversi\u00f3n sobre los recursos del CPD para que luego queden desaprovechados? \u00bfProvocaremos cortes del servicio para realizar la operaci\u00f3n de actualizaci\u00f3n? Son muchas preguntas, noches sin dormir y cantidades de ingentes de caf\u00e9 para tomar la decisi\u00f3n y luego llevarla a cabo.<\/p>\n<p>\u00bfY si existiese una soluci\u00f3n tecnol\u00f3gica que facilitase esta tarea? \u00bfQuiz\u00e1s algo tan sencillo como pulsar un bot\u00f3n m\u00e1gico y desplegar infraestructura y cambios en cuesti\u00f3n de minutos?<\/p>\n<div id=\"attachment_20170\" style=\"width: 577px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-20170\" class=\"wp-image-20170 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Boton-Despliegue.png\" alt=\"\" width=\"567\" height=\"317\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Boton-Despliegue.png 567w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Boton-Despliegue-300x168.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Boton-Despliegue-360x201.png 360w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><p id=\"caption-attachment-20170\" class=\"wp-caption-text\">Bot\u00f3n de despliegue autom\u00e1tico. ?<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>La realidad generalmente supera con creces a la ficci\u00f3n. <strong>Este bot\u00f3n existe. Se llama nube<\/strong> y nos da la confianza de que nuestro proceso puede llevarse a cabo con una seguridad del 99,999999999%. S\u00ed, once \u201cnueves\u201d garantizados.<\/p>\n<h2>Cloud<\/h2>\n<p>Nuestra inquieta empresa Turing S.A. desecha la idea de una instalaci\u00f3n on-premise y ha decidido modernizarse apostando por el modelo cloud para todos sus servicios. Aqu\u00ed podemos hablar de un modelo h\u00edbrido, donde coexisten recursos on-premise y en la nube, o un modelo 100% cloud.<\/p>\n<p>De un \u201cplumazo\u201d reducimos los gastos derivados de las operaciones (OPEX) y ajustamos los asociados al capital (CAPEX). Al no haber una instalaci\u00f3n f\u00edsica que mantener Turing SA. no ha de preocuparse por el alquiler del espacio, suministro el\u00e9ctrico, stock de materiales, seguridad f\u00edsica del recinto, etc. <strong>Paga por lo que usa, ni m\u00e1s ni menos.<\/strong> \u00a1Genial!<\/p>\n<p>Dicho y hecho. Tras semanas de ciclo de desarrollo: plan, investigaci\u00f3n, an\u00e1lisis de necesidades, y desarrollo de una soluci\u00f3n, el equipo t\u00e9cnico ha dise\u00f1ado la arquitectura que mejor se ajusta a las necesidades de Turing S.A. cumpliendo con el marco de buena arquitectura.<\/p>\n<p><strong>Arranca el despliegue de la infraestructura.<\/strong> Dentro de un proveedor cloud todo el despliegue se realiza en una aplicaci\u00f3n web que denominamos consola. Es user-friendly, bastante intuitiva en la mayor\u00eda de los casos y es capaz de darnos desbordantes cantidades de informaci\u00f3n sobre nuestros recursos instant\u00e1neamente: load CPU, gastos acumulados por uso de recursos, clicks en nuestra web, accesos de usuarios, procedencia de las peticiones, etc. (algo incre\u00edble para adictos al dato y las estad\u00edsticas).<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_20133\" style=\"width: 719px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-20133\" class=\"size-full wp-image-20133\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/AWS-Console.png\" alt=\"\" width=\"709\" height=\"440\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/AWS-Console.png 709w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/AWS-Console-300x186.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/AWS-Console-360x223.png 360w\" sizes=\"auto, (max-width: 709px) 100vw, 709px\" \/><p id=\"caption-attachment-20133\" class=\"wp-caption-text\">AWS console<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>As\u00ed click aqu\u00ed, click all\u00e1, unas cuantas definiciones, configuraci\u00f3n de los recursos, unos cuantos tests de validaci\u00f3n, etc. \u00a1Hecho!<\/p>\n<p>Tiempo total invertido: unas pocas semanas. Turing S.A. est\u00e1 en la nube con todos los beneficios que ello conlleva. Todo llevado a cabo con una reducci\u00f3n de tiempo y costes m\u00e1s que significativo.<\/p>\n<h2>\u00bfQu\u00e9 papel desempe\u00f1a la IaC en esta historia?<\/h2>\n<p>Buena pregunta. Respond\u00e1mosla abordando en primer lugar su funcionamiento y posteriormente sus ventajas.<\/p>\n<h2>\u00bfCu\u00e1l es el funcionamiento de la IaC?<\/h2>\n<p>En una primera etapa consensuamos con Turing S.A el proveedor cloud donde se va a alojar la infraestructura: <a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/amazon-web-services-aws-que-es-y-que-ofrece\/\" target=\"_blank\" rel=\"noopener\">Amazon Web Services<\/a> (AWS), <a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/azure-la-plataforma-cloud-de-microsoft\/\" target=\"_blank\" rel=\"noopener\">Microsoft Azure<\/a> Azure, <a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/servicios-de-google-cloud-para-almacenamiento\/\" target=\"_blank\" rel=\"noopener\">Google Cloud Platform<\/a> (GCP), etc. Esta elecci\u00f3n no es trivial para cliente ni para nosotros, pues los costos var\u00edan de un proveedor a otro y la codificaci\u00f3n de la infraestructura va a depender de ello.<\/p>\n<p>Tomemos como ejemplo la nube p\u00fablica de AWS. Una vez se ha determinado el proveedor donde vamos a trabajar, nos ponemos manos a la obra. En esta etapa se establecen con claridad todos los recursos que vamos a invocar a trav\u00e9s del c\u00f3digo con sus correspondientes configuraciones.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_20171\" style=\"width: 577px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-20171\" class=\"size-full wp-image-20171\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen2.png\" alt=\"\" width=\"567\" height=\"298\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen2.png 567w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen2-300x158.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen2-360x189.png 360w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><p id=\"caption-attachment-20171\" class=\"wp-caption-text\">Amazon Web Services, principal proveedor cloud a nivel global.<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>Para comenzar a trabajar necesitamos preparar nuestra lista de utensilios de \u201ccocina\u201d. Recordemos que trabajar con IaC es preparar recetas que luego se cocinan. Para eso necesitamos nuestras herramientas:<\/p>\n<h3><strong>GitLab<\/strong><\/h3>\n<p>Nos decantamos por este repositorio central para el c\u00f3digo, en concreto, desplegamos nuestro propio servidor de GitLab interno. En este lugar es donde vamos a trabajar generando los archivos de configuraci\u00f3n (.yml, .json. Ini, etc.).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-20172\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen3.png\" alt=\"\" width=\"441\" height=\"222\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen3.png 566w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen3-300x151.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen3-360x181.png 360w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/p>\n<p>Debemos entenderlo como lo que es, un <strong>almacenamiento donde todos los ingenieros y t\u00e9cnicos involucrados en el proyecto trabajan coordinada y sincronizadamente generando y editando nuestras valiosas \u201crecetas\u201d con un control de versi\u00f3n<\/strong>. Esto es extremadamente importante porque uno de los fragmentos m\u00e1s representativos del ADN de la IaC es la gesti\u00f3n y control de versiones. Saber qui\u00e9n, qu\u00e9, cu\u00e1ndo y por qu\u00e9 ha realizado un cambio de c\u00f3digo es fundamental. Existe trazabilidad de los errores y, por qu\u00e9 no, de los aciertos.<\/p>\n<h3><strong>Ansible<\/strong><\/h3>\n<p>Se trata de un software que es <strong>sin\u00f3nimo de automatizaci\u00f3n<\/strong>. Es lo que com\u00fanmente conocemos como un orquestador. Con \u00e9l podemos gestionar el aprovisionamiento y configuraci\u00f3n de nuestra infraestructura de una manera sencilla, remotamente. En Ansible es fundamental el concepto de inventario, pues se trata de archivos .ini, .yml o .json donde definimos los recursos sobre los que vamos a trabajar (servidores, dispositivos de red, etc.).<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-20173\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen4.jpg\" alt=\"\" width=\"566\" height=\"319\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen4.jpg 566w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen4-300x169.jpg 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen4-360x203.jpg 360w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>No podr\u00edamos pasar al siguiente p\u00e1rrafo sin hablar de los protagonistas absolutos: los<strong> playbooks<\/strong>. Se trata de los archivos de texto que contienen los estados que queremos aplicar a los recursos administrados. Por simplificarlo mucho, se trata de las configuraciones que deseamos aplicar a nuestros servidores.<\/p>\n<h3><strong>Python<\/strong><\/h3>\n<p>Aqu\u00ed tenemos que hacer una peque\u00f1a diferenciaci\u00f3n de conceptos. <strong>Python es un lenguaje de programaci\u00f3n multiparadigma muy extendido que Ansible utiliza para ejecutarse<\/strong>. Por ello, es necesario tener instalado un int\u00e9rprete de Python en nuestras m\u00e1quinas para poder desplegar las recetas.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-20174\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen5.png\" alt=\"\" width=\"498\" height=\"216\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen5.png 567w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen5-300x130.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen5-360x156.png 360w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Teniendo estos conceptos claros solo nos queda abordar el servicio para la implementaci\u00f3n de IaC que nuestro proveedor cloud nos proporciona. En este caso, al haber elegido AWS el servicio que utilizamos es <strong>CloudFormation<\/strong>.<\/p>\n<p>Para poder operar sobre este servicio solo necesitamos generar un <strong>usuario program\u00e1tico dentro del servicio IAM de AWS con sus correspondientes access keys<\/strong>. Este usuario ser\u00e1 el utilizado para realizar todas las operaciones que est\u00e1n declaradas en nuestro recetario. \u00a1F\u00e1cil y sencillo!<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-20175\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen6.png\" alt=\"\" width=\"425\" height=\"142\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen6.png 425w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen6-300x100.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen6-360x120.png 360w\" sizes=\"auto, (max-width: 425px) 100vw, 425px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Resumiendo: imaginemos esta operaci\u00f3n como preparar un men\u00fa a demanda. Utilizando diferentes herramientas elaboramos plantillas acordes a las necesidades de la plataforma del cliente.<\/p>\n<p>Estas plantillas contienen declaraciones de recursos a desplegar y aprovisionar, con <strong>GitLab<\/strong> mantenemos un control de los cambios que realizamos en el c\u00f3digo a trav\u00e9s del versionado y por \u00faltimo, con <strong>Ansible<\/strong> para la automatizaci\u00f3n y servicios como <strong>Cloudformation (AWS)<\/strong> desplegamos esa receta en la nube generando los recursos necesarios para que nuestro cliente pueda realizar su trabajo sin preocuparse de nada m\u00e1s que de lo \u00fanico realmente importante: su negocio.<\/p>\n<h2>\u00bfCu\u00e1les son las ventajas de la IaC?<\/h2>\n<p>Trabajar con Infraestructura como C\u00f3digo es una garant\u00eda. S\u00ed, una <strong>garant\u00eda de \u00e9xito, control, excelencia operacional, seguridad, confiabilidad y profesionalidad<\/strong>. Para terminar de convencernos pensemos qu\u00e9 problemas puede experimentar Turing S.A. en el proceso de creaci\u00f3n y posterior gesti\u00f3n de la infraestructura.<\/p>\n<p>Imaginemos que Turing S.A. tiene en n\u00f3mina a un excelente ingeniero de sistemas: Bill.<\/p>\n<p>Bill tiene que realizar una operaci\u00f3n sobre la infraestructura y desea que el downtime de la aplicaci\u00f3n afectada sea el menor posible. As\u00ed que programa esta intervenci\u00f3n de madrugada. Se levanta somnoliento, accede a la consola web del proveedor cloud, realiza sus cambios, verifica que todo funciona correctamente y vuelve a la cama.<\/p>\n<p>Al despertarse por la ma\u00f1ana, \u00a1sorpresa! La aplicaci\u00f3n web de Turing S.A. lleva ca\u00edda unas horas y sus compa\u00f1eros del primer turno no consiguen levantarla.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-20176\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen7.png\" alt=\"\" width=\"709\" height=\"360\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen7.png 709w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen7-300x152.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen7-360x183.png 360w\" sizes=\"auto, (max-width: 709px) 100vw, 709px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Pod\u00e9is imaginaros el impacto: miles de usuarios sin acceder a un servicio por el que han pagado, decenas de usuarios que no pueden contratar ese servicio, centralita telef\u00f3nica desbordada por las llamadas de clientes, jefes a punto de un ataque de ansiedad y el pobre Bill\u2026 En estado de shock.<\/p>\n<h3><strong>Bill, \u00bfqu\u00e9 demonios hiciste anoche?<\/strong><\/h3>\n<p>Bill es ordenado y riguroso en su trabajo, pero realiz\u00f3 numerosos cambios en diferentes servicios <strong>manualmente<\/strong>. Lo document\u00f3, pero no est\u00e1 seguro de que algo se le haya escapado. As\u00ed que lleva ya un buen rato revisando los servicios y contrastando sus notas con los <strong>logs de aplicaci\u00f3n<\/strong> sin encontrar nada que apunte claramente al motivo del error.<\/p>\n<p>Menudo drama. Nuestra querida Turing S.A. cayendo en picado, <strong>perdiendo unos cuantos miles de d\u00f3lares por cada hora que el servicio est\u00e1 ca\u00eddo<\/strong>. \u00bfNo os recuerda a un evento acontecido recientemente?<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-20177\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen8.png\" alt=\"\" width=\"709\" height=\"284\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen8.png 709w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen8-300x120.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen8-360x144.png 360w\" sizes=\"auto, (max-width: 709px) 100vw, 709px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Veamos como la IaC puede solucionar y, lo m\u00e1s importante, prevenir estos problemas.<\/p>\n<h3>Minimizaci\u00f3n de riesgos<\/h3>\n<p>Al <strong>centralizar y trabajar el c\u00f3digo en un \u00fanico repositorio<\/strong>, reducimos la variabilidad de los errores. Si algo ha salido mal en un despliegue o intervenci\u00f3n solo hay que acudir al c\u00f3digo, localizar la modificaci\u00f3n realizada y deshacerla. Realizamos rollback, redesplegamos y solucionado. De esta manera los <strong>errores humanos<\/strong> que desembocan en malas configuraciones se reducen dr\u00e1sticamente.<\/p>\n<p>Los compa\u00f1eros de Bill no hubiesen tenido m\u00e1s que acceder al repositorio, comprobar las \u00faltimas modificaciones que hab\u00eda realizado y proceder con un rollback o, incluso, una edici\u00f3n de estas para solucionarlo.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-20178\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen9.png\" alt=\"\" width=\"709\" height=\"169\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen9.png 709w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen9-300x72.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen9-360x86.png 360w\" sizes=\"auto, (max-width: 709px) 100vw, 709px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>Control<\/h3>\n<p>Sirvi\u00e9ndonos de una <strong>herramienta de versionado<\/strong> como puede ser GitLab, siempre queda claro qui\u00e9n, cu\u00e1ndo y por qu\u00e9 se realiz\u00f3 una modificaci\u00f3n en el c\u00f3digo. Vamos m\u00e1s all\u00e1. Si nuestro equipo de arquitectos de soluciones y\/o sysopers se renueva, con IaC <strong>no existir\u00e1 una p\u00e9rdida del conocimiento de la infraestructura y su funcionamiento<\/strong>. Siempre va a estar disponible para consultar y desplegar aunque su desarrollador principal sea destinado a otro proyecto o abandone nuestra empresa.<\/p>\n<p>Al pobre Bill le puede salir caro no haberse tomado un caf\u00e9 de madrugada para despejarse y realizar las operaciones. Con nuestro repositorio podemos saber qui\u00e9n ha realizado los cambios y por qu\u00e9.<\/p>\n<p>Es m\u00e1s, si Bill abandona la empresa su conocimiento no se pierde porque toda la infraestructura est\u00e1 declarada. Todo debe documentarse adecuadamente, pero parte de esa documentaci\u00f3n con la IaC es impl\u00edcita, el propio c\u00f3digo (al ser declarativo) ya presenta esa informaci\u00f3n que de otra manera estar\u00eda perdida.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-20179\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen10.png\" alt=\"\" width=\"709\" height=\"269\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen10.png 709w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen10-300x114.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen10-360x137.png 360w\" sizes=\"auto, (max-width: 709px) 100vw, 709px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>Celeridad<\/h3>\n<p>Realizar una modificaci\u00f3n de la infraestructura es tan sencillo y r\u00e1pido como modificar una serie de l\u00edneas de c\u00f3digo. Una vez realizado esto, lanzar el proceso de actualizaci\u00f3n consiste en ejecutar un comando de Python en Shell con los par\u00e1metros que estimemos oportunos. En cuesti\u00f3n de minutos nuestra infraestructura en la nube ha cambiado.<br \/>\nPermitamos volar nuestra imaginaci\u00f3n e imaginemos que nuestra empresa imaginaria se ha recuperado del \u201cbatacazo\u201d que la intervenci\u00f3n de Bill provoc\u00f3 (no os preocup\u00e9is por Bill, la direcci\u00f3n de la empresa es comprensiva y comprenden que un error lo puede tener cualquiera).<\/p>\n<p>El volumen de negocio ha crecido exponencialmente. La empresa est\u00e1 experimentando tal demanda de sus servicios y productos que se est\u00e1 planteando abrir nuevas sucursales en diferentes localizaciones globales siguiendo el modelo de la sede central.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-20180\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen11.png\" alt=\"\" width=\"425\" height=\"241\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen11.png 425w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen11-300x170.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/12\/Imagen11-360x204.png 360w\" sizes=\"auto, (max-width: 425px) 100vw, 425px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>\u00bfCu\u00e1nto tiempo va a tomar levantar estas nuevas infraestructuras IT?<\/p>\n<p>Muy sencillo, nuestro ingeniero Bill solo tendr\u00e1 que recabar unos pocos datos sobre el proveedor de servicios para la nueva delegaci\u00f3n, modificar unos pocos par\u00e1metros en los archivos del repositorio de la IaC, lanzar el correspondiente comando desde su terminal y\u2026 \u00a1Listo! \u00a1Infraestructura desplegada en cuesti\u00f3n de horas!<\/p>\n<h2>Hiberus + IaC<\/h2>\n<p>En<strong> <a href=\"https:\/\/www.hiberus.com\/sistemas\/infraestructuras\">Hiberus Sistemas<\/a> nos gusta hacer las cosas bien<\/strong> y, como hab\u00e9is podido comprobar, IaC es sin\u00f3nimo de ello. No concebimos realizar nuestro trabajo alej\u00e1ndonos de este paradigma y siempre es un servicio que ofrecemos a nuestros clientes.<\/p>\n<p>Evidentemente codificar una infraestructura es un proceso m\u00e1s costoso en t\u00e9rminos temporales que desplegarla manualmente. Pero, sinceramente, pensamos que es la mejor manera de hacerlo. <strong>IaC significa algo m\u00e1s: tranquilidad y confianza<\/strong>.<\/p>\n<p>Tranquilidad para cliente, pues sabe que las nuevas caracter\u00edsticas que desee implementar en su aplicaci\u00f3n ser\u00e1n desplegadas con garant\u00edas y celeridad. Esto es fundamental pues permite al cliente preocuparse por lo verdaderamente importante: su negocio.<\/p>\n<p>Ya lo hemos implementado para <strong>clientes como Diario de Navarra, La Vanguardia o Heraldo de Arag\u00f3n<\/strong>, entre otros. Si quieres contactar con nosotros, te ayudamos a mejorar el funcionamiento de tu negocio.<\/p>\n        <div class=\"row\">\n            <div class=\"block-cta-form\" style=\"background-color: #003664;\">\n                <div class=\"content-cta-form\">\n                    <div class=\"text-cta-form\">\n                        <p class=\"title-cta-form\">\u00bfQuieres m\u00e1s informaci\u00f3n sobre nuestros servicios de infraestructura?<\/p>\n                        <p>Contacta con nuestro equipo de Sistemas<\/p>\n                    <\/div>\n                    <div class=\"form-fields\">\n                        \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f33973-o1\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"33973\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/20130#wpcf7-f33973-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"33973\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f33973-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<div id=\"responsive-form\" class=\"clearfix\">\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Nombre *\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellido\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Apellido *\" value=\"\" type=\"text\" name=\"apellido\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Correo corporativo *\" value=\"\" type=\"email\" name=\"correo\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telf-contacto\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Tel\u00e9fono *\" value=\"\" type=\"tel\" name=\"telf-contacto\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"compania\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Compa\u00f1ia *\" value=\"\" type=\"text\" name=\"compania\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Mensaje *\" name=\"mensaje\"><\/textarea><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"politica\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"politica\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">He le\u00eddo y acepto la <a href=\"https:\/\/www.hiberus.com\/politica\" target=\"_blank\"><u>Pol\u00edtica de privacidad<\/u><\/a><\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"marketing\"><span class=\"wpcf7-form-control wpcf7-acceptance optional\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"marketing\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Me gustar\u00eda recibir comunicaciones de marketing de Hiberus y sobre sus productos, servicios y eventos.<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Contacta con nosotros\" \/>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div id=\"campos_ocultos\" class=\"hidden\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new1\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new1\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new1\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new2\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new2\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new2\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new3\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new3\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new3\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new4\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new4\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new4\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new_p\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new_p\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new_p\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<!--end responsive-form--><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n","protected":false},"excerpt":{"rendered":"<p>El panorama IT ha evolucionado a una velocidad vertiginosa. Cada d\u00eda hay nuevas aportaciones, conceptos, tecnolog\u00edas y metodolog\u00edas que entran en escena,&#8230;<\/p>\n","protected":false},"author":238,"featured_media":20168,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_ayudawp_aiss_exclude":false,"footnotes":""},"categories":[246,9],"tags":[136],"class_list":{"0":"post-20130","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-infraestructura","8":"category-sistemas-cloud-computing","9":"tag-cloud-infraestructura"},"acf":[],"_links":{"self":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/20130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/users\/238"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/comments?post=20130"}],"version-history":[{"count":17,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/20130\/revisions"}],"predecessor-version":[{"id":39858,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/20130\/revisions\/39858"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media\/20168"}],"wp:attachment":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media?parent=20130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/categories?post=20130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/tags?post=20130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}