Tipos de herramientas para implementar infraestructura como código

2/27
Recursos
Transcripción

Aprende más en el Curso de Infraestructura como código con Terraform en Platzi disponible en tu suscripción en: https://platzi.com/cursos/devops-terraform/
Adquiere hoy la suscripción de Platzi en: http://platzi.com/precios

En esta clase la profesora Yolanda Lopez nos explica qué tipos de herramientas podemos usar para implementar infraestructura como código.

Existen dos tipos de herramientas para esto, las centradas en definir la infraestructura y las encargadas de configurar el servidor ya montado. Dentro de las herramientas para definir infraestructura existen Terraform, Cloud Formation, Open Stack Heat, estas herramientas especifican que elementos y recursos vamos a crear y cómo deben configurarse.

Ansible, Chef y Puppet son herramientas para configuración de servidores que nos permiten darle el estado deseado a nuestra infraestructura.

Al momento de elegir una herramienta debemos tomar en cuenta:

  • Modo desatendido para herramientas de líneas de comandos.
  • Idempotencia.
  • Parametrizable.

Aportes 14

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Existen dos tipos de herramientas para esto, las centradas en definir la infraestructura y las encargadas de configurar el servidor ya montado.

Dentro de las herramientas para definir infraestructura existen:
Terraform
Cloud Formation: Únicamente para AWS
Open Stack Heat: Únicamente para Open Stack
Estas herramientas especifican que elementos y recursos vamos a crear y cómo deben configurarse.
Permite especificar qué recursos de infraestructura desean crear y cómo deben configurarse.
Lo más básico de la infraestructura, máquinas virtuales,interfaces de red, discos duros, plataforma como servicio.

Los archivos de definición de configuraciones escribimos la infraestructura que necesitamos crear.
Todas las herramientas tienen su propio archivo de definición en su propio formato útiles para el formato de automatización

Ansible, Chef y Puppet son herramientas para configuración de servidores que nos permiten darle el estado deseado a nuestra infraestructura.
Instalar ciertos paquetes o dependencias, directorios, permisos, todo lo que va en la capa de plataforma-

Aprovisionamiento
Es el proceso que permite que un elemento esté listo para usar
Tener todas las dependencias de una aplicación ya lista, únicamente para el despliegue de la aplicación.

Diferentes enfoques para la gestión de servidores
Configuración de servidores: Nos permite manejar las configuraciones de los servidores desde un archivo de definición
Empaquetar plantillas de servidores: En máquinas virtuales, es una herramienta que nos permite tomar un snapshot de estas mv para generar plantillas
Ejecutar comandos en los servidores: Herramientas que nos permiten esto
Configuración desde un registro central: Tener las configuraciones centralizadas y las máquinas se conectan y así obtienen sus configuraciones.

Al momento de elegir una herramienta debemos tomar en cuenta:

Modo desatendido para herramientas de líneas de comandos: Que puedo ejecutar un comando sin que me pida confirmación humana, es importante que la herramienta nos permite esto, para poder automatizar.
Idempotencia: Cuando ejecutamos un script podamos ejecutar n veces sin problema. Que lo ejecutamos, la crea y es success, y lo volvemos a ejecutar, ya no debería hacer nada pero también debería hacer success.

Parametrizable: Para que podamos reutilizar las definiciones que creamos

Objetivos de la gestión automatizada de servidores

Un servidor puede ser aprovisionado a demanda: Un nuevo servidor pueda ser aprovisionado bajo demanda cuando sea necesario
Un nuevo servidor puede ser aprovisionado sin intervención humana
Cada cambio puede ser aplicado a un conjunto de servidores

Cuando implementamos una app necesitamos cierta capa de infraestructura , dependencias y la aplicación

En primer lugar, tenemos la capa de infraestructura es la capa más básica

Luego tenemos la capa de configuraciones o dependencias

por último, tenemos la capa de aplicación y datos.

El concepto de infraestructuras como código nos permite manejar dependencias e infraestructura como código. Vamos a ver los beneficios de algunas prácticas y principios de utilizar infraestructura como cobijo.

Uno de los principios de la infraestructura Como código dice que tenemos que utilizar
archivos de configuración.
Tener archivos de configuración nos permite tener estos archivos versionados. Tenemos un archivo definición, tenemos los archivos versionados. Estos dos nos permite tener trazabilidad de los cambios que tenemos a través del control de versiones

Nos permite integrarlo con un server de CI para automatizar el despliegue de infraestructura

Un archivo de definición nos permite Generar insfra de forma repetible, puedo generar n cantidad de servidores

Podemos desplegar infra repetible, con un mismo archivo desplegar la infra que yo necesite,

Que sea parametrizable para con el mismo archivo poder , mandar parametros, poder generar diferentes tipos de infraestructura

terraform en Oracle Cloud Gen2 -> https://gitlab.com/oscarbm7/terraform_oci/

Qué sea Parametrizable me parece lo más importante ya que nos permite cumplir con DRY y a la vez un solo archivo nos puede servir para crear varias infraestructuras.

Qué interesante poder replicar instancias de forma automatizadas y servidores con cierta configuración.

Esto tiene algo que ver con defenderse de un ataque DDoS? En el sentido de crecer la infraestructura para aguantar el ataque?

Qué buena clase de teoría.
¿Qué herramienta usa para hacer los trazos?

El aprovisionamiento, es el proceso que permite que un elemento esté listo para usarse, por ejemplo las dependencias de una aplicación

Esto es genial, gran curso

Entendido.

la indempotencia es evitar la intervención humana en un proceso y que este se pueda repetir n cantidad de veces sin error

Infraestructura como Código IaC

.
Son herramientas de configuración en alto nivel que permiten crear, mediante provisionamiento bajo definiión, replicar y desplegar recursos en la nube.
.
Los objetivos de la gestión de dicha configuración es:

  • Un nuevo servidor puede ser aprovisionado a demanda
  • Un nuevo servidor puede ser aprovisionado sin intervención humana
  • Cada cambio puede ser aplicado a un conjunto de servidores

.
Finalmente, herramientas en esta categoría hay:

Las Herramientas para la configuración de de servidores, permiten configurar los servidores con el estado deseado

Los archivos de definición son imprescindibles para la creación de l utomatizacion de la infraestructura

ok

🤯🤯🤯 Excelente clase, bastante completa y densa.