Infraestructura como código

Festival Politraining Industria 4.0

Infraestructura como código

En este nuevo artículo me gustaría explicar que es infraestructura
como código (IAC), pero primero definamos a que nos referimos cuando
hablamos sobre infraestructura.
Cuando hablamos de infraestructura nos referimos en este caso, a un
servidor(vps) , dominios, redes privadas. etc.

Definición

El concepto de infraestructura como código no es más que la forma de
automatización de nuestra infraestructura a través de código .

Puede que tu seas un freelance o trabajes en una compañía, en la que
constantemente se hace deploy de nuevas aplicaciones.
Imagina tener que estar creando un servidor(vps), agregando las llaves
ssh, creando un record A, load balancers, continuar con la instalación y
configuración de nginx ,mysql docker, php, etc. Todo esto cada vez que
tengas que hacer deploy de una nueva aplicación.
Este es un proceso en el que muchas veces se le dedica tiempo
innecesario.

Es por ello que muchas veces, es mejor encontrar o crear una solución para la automatización en este tipo de procesos.

Para poder trabajar o usar infraestructura como código, lo único que
tenemos que hacer es bien, crear nuestro propio script, o bien usar
alguna herramienta de un tercero.

Usualmente cuando trabajamos con infraestructura como código,
independiente de la herramienta que usamos, siempre trabajamos con algún
lenguaje para la descripción de la configuración, pudiendo ser json,
yaml o algún nuevo lenguaje propio del software (domain-specific
language ). dentro del archivo de configuración, es donde definiremos
todo los componentes necesarios para crear nuestra infraestructura,
variando de sintaxis entre los diferentes softwares que podemos usar.

Cabe mencionar que, usualmente este tipo de software nos permite,
configurar a nuestra infraestructura, de una manera muy detallada,
dependiendo del tipo de proveedor que elijamos , por ejemplo, poder
configurar redes privadas, sistema operativo, podemos agregar dominios,
subdominios , agregar nuestra claves ssh, elegir el datacenter etc. Algo
interesante es que, podemos agregar y ejecutar scripts dentro del vps
durante la construcción, esto para poder configurar dentro todo el
software.

Aunque de igual forma, tenemos otro concepto llamado configuración
como código (CaC)
Qué es exactamente el mismo concepto, pero este está orientado a la
configuración del software dentro de la infraestructura(vps), por
ejemplo la instalación y configuración de nginx, docker, ruby etc. Sin
embargo muchas veces los mismos proveedores (IaC) tienen la misma
funcionalidad o su funcionalidad es intercambiable.

Ventajas y desventajas.

Dentro de las ventajas como hemos mencionado es el de elaborar una
plantilla que podemos re-utilizar múltiples veces, eliminando la
necesidad de realizar configuraciones manuales. Esta sería, la principal
y más importante característica de este tipo de software.
Ya que con ello podemos hacer la replicación de la misma configuración,
para diferentes entornos, para testing, QA, producción, desarrollo, etc.

Otra ventaja que podemos encontrar es que usualmente este tipo de
software es del tipo agnóstico lo que quiere decir que no importa, el
proveedor en donde estés configurando nuestra infraestructura, pudiendo
ser digital ocean, amazon web services, azure, e inclusive virtualbox.

Una desventaja que podemos encontrar es quizá el tiempo que le
dedicamos en configurar nuestro archivo de configuración, así mismo, el
tener que modificar el archivo si es que agregamos una nueva tecnología o
configuración a nuestra infraestructura.

Lista de software para IaC y CaC

Debajo vemos una lista con varios de los proveedores de infraestructura y configuración como código más sobresalientes.
Cada uno de ellos comparten cierta similitud, en cuanto a configuración.

  • Terraform
  • Chef
  • Puppet
  • Ansible
  • SaltStack

Conclusión

La automatización es sin duda una de las mejores cosas que podemos
hacer para ahorrar tiempo y muchas veces recursos.
El uso de IaC, dentro de una empresa o de manera independiente trae
muchas ventajas a largo plazo. Este concepto de IaC no es para nada
nuevo, es un concepto de muchos años. De hecho muchos autores. hacen
referencia a que este concepto fue la base de la cual ha surgido toda
esta tendencia del devops.
Espero que este pequeño artículo te haya servido, o te haya incentivado a
investigar más sobre el tema, y tal vez a aprender una nueva
tecnología.

Comments: 29,131

  1. Thank you for every other informative site.
    Where else may just I get that type of info written in such a perfect
    means? I have a project that I’m simply now running on, and I’ve been on the look out for such information.

  2. fantastic put up, very informative. I ponder why the opposite experts of this sector don’t understand this.
    You should continue your writing. I am sure, you have a great readers’ base already!

  3. mcdvoice dice:

    It’s enormous that you are getting thoughts from this paragraph as well as from our
    discussion made at this place.

  4. keo nha cai dice:

    Thanks to my father who told me on the topic of this website, this blog is actually awesome.

  5. Robertquode dice:

    Azure Virtual Desktop (AVD) is a cloud?based virtual desktop and application virtualization service that lets organizations to deliver Windows desktops and remote applications from Microsoft Azure. It provides scalable, secure, and manageable virtual desktop infrastructure for distributed teams and hybrid environments.

    Key components and architecture
    – Host pools — groups of session hosts that deliver Windows multi?session or single?user desktops.
    – Session hosts — virtual machines running the desktop OS that users connect to.
    – Broker and control plane — Azure service that routes user connections and maintains session state.
    – Workspace and application groups — logical entities that publish desktops and apps to users.
    – FSLogix profile containers — profile management solution that stores user profiles in VHD(X) files for fast, consistent sign?in.

    Benefits and capabilities
    – Scalability and flexibility — scale host pools up or down with machine types and autoscaling.
    – Cost optimization — leverage Windows 10/11 multi?session and Azure Reserved Instances or spot VMs to reduce costs.
    – Security and compliance — integrate with Azure AD, Conditional Access, MFA, and network controls like NSGs and Azure Firewall for protected access.
    – Performance and user experience — support for GPU VMs for graphics workloads, FSLogix for profile performance, and optimization for multimedia and real?time audio/video.
    – Management and monitoring — use Azure Monitor, Log Analytics, and Azure Policy to observe, govern, and automate operations.

    Deployment models and use cases
    – Persistent desktops — give users dedicated desktops for customized environments.
    – Non?persistent session?based desktops — provide pooled desktops for task workers and shift workers.
    – Remote application delivery — publish individual apps without full desktop sessions.
    – Development and testing — spin up isolated environments for dev/test scenarios.
    – Graphics?intensive workloads — use NV or NC series VMs for CAD, 3D modeling, or visualization.

    Licensing and costs
    – Licensing typically requires Windows 10/11 Enterprise, Microsoft 365, or Windows subscriptions that include Azure Virtual Desktop rights. Confirm entitlements via Windows E3/E5 details.
    – Cost drivers include VM compute, storage (managed disks), networking, FSLogix storage, and supporting services. Use Azure Cost Management and pricing calculator to estimate expenses.

    Security best practices
    – Enforce Azure AD Conditional Access and MFA for user sign?ons.
    – Use role?based access control (RBAC) to limit administrative rights [url=https://github.com/mstcp/Microsoft-Project/releases]https://github.com/mstcp/Microsoft-Project/releases[/url]
    – Isolate network segments, use private endpoints and ExpressRoute or VPN for secure connectivity.
    – Encrypt data at rest and in transit; apply endpoint protection on session hosts.

    Management and optimization tips
    – Implement autoscale rules to reduce costs during off?hours.
    – Use pooled session hosts for efficient resource utilization when appropriate.
    – Store profiles with FSLogix on Azure Files or Azure NetApp Files for high IOPS and low latency.
    – Monitor session performance and resource metrics; right?size VMs based on utilization.

    Migration and planning checklist
    – Assess applications for compatibility with multi?session or GPU requirements.
    – Plan identity integration: Azure AD join, hybrid Azure AD join, or Azure AD DS.
    – Design networking, storage, and backup strategies.
    – Pilot with a subset of users to validate performance and user experience before broad rollout.

  6. Anónimo dice:

    Nice I think aviator feels one of the games that truly hooks fans right away.
    The combo of chance and strategy brings it thrilling each.
    Many gamers share about predictor, and a few even look for tools like fundamentale.ro, but the true rush is in playing fairly.
    The way you showed mines game and the aviator mobile app shows it obvious that they work nicely in today’s web games.
    Also, aviator game download is a huge plus since it gives a quick
    and smooth method to fun free from a site. For me, aviator
    online stands out because it mixes short rounds with high-stakes
    excitement. This text truly shows how both games impact the today’s fun world.

  7. Xrumertabus dice:

    Доброго!
    Долго ломал голову как поднять сайт и свои проекты и нарастить DR и узнал от успещных seo,
    энтузиастов ребят, именно они разработали недорогой и главное продуктивный прогон Хрумером – https://www.bing.com/search?q=bullet+%D0%BF%D1%80%D0%BE%D0%B3%D0%BE%D0%BD
    Линкбилдинг заказать – популярная услуга среди бизнеса. Специалисты создают ссылки под ключ. Это экономит время и гарантирует результат. Такой подход подходит новичкам и опытным SEO. Линкбилдинг заказать – удобное решение.
    какой лучше сайт для seo, seo интернет магазины цена, Xrumer для продвижения сайта
    Как настроить Xrumer для рассылок, продвижение молодых сайтов цена, топ 5 по seo
    !!Удачи и роста в топах!!

  8. I am sure this post has touched all the internet viewers, its really really nice article on building up new webpage.

  9. It is truly a nice and helpful piece of information. I’m glad that you
    just shared this useful information with us.
    Please stay us up to date like this. Thank you for sharing.

  10. Useful infoгmɑtion. Lucky me I found your websіte by accident, annd I’m shocked whʏ this accidrnt did nott
    came ɑbout earlier! I bookmarked it.

  11. RonaldEmpig dice:

    acquistare farmaci senza ricetta: ForzaIntima – farmaci senza ricetta elenco

  12. mostbet_rbst dice:

    официальный сайт мостбет [url=http://mostbet4147.ru/]официальный сайт мостбет[/url]

  13. Jamalinnof dice:

    Farmacie online sicure [url=https://forzaintima.com/#]ForzaIntima[/url] farmacia online

  14. Great blog here! Also your website loads up fast! What web host
    are you using? Can I get your affiliate link to your host?
    I wish my web site loaded up as quickly as yours lol

  15. hello!,I really like your writing so a lot! proportion we keep up a correspondence more about your article on AOL?
    I need an expert on this house to unravel my problem. May be that’s you!
    Having a look ahead to see you.

Responder a RobertNig Cancelar respuesta