Infraestructura como Código

Infraestructura como Código

NOC Datacenter Antel [Pando] - Fuente: teledoce.com

Prof. Rodolfo Pilas
rodolfo.pilas@ucu.edu.uy

elementos necesarios para operar y gestionar entornos de TI empresariales

componentes de hardware y software independientes que se vinculan en una estructura

Infraestructura

Código

como

  • redes de baja latencia
  • almacenamiento de alto rendimiento

conectividad, productividad, seguridad

flexible, confiable, segura

Roles: adm. de sistemas, operadores, gesor de riesgos y seguridad, gestor de base de datos, etc.

código fuente es un conjunto de instrucciones o comandos en un lenguaje de programación legible por humanos

código objeto es un código numérico de computadora compuesto por números binarios como 0 y 1 y es entendido por una máquina

  • metodologías de desarrollo
  • técnicas de testing
  • estrategias de despliegue

Despliegue directo al Hardware

Pre 1990

IBM PC = 1981

Despliegue directo al Hardware

horas para instalaciones

acceso directo al hardware

Despliegue directo al Hardware

un hardware => una aplicacion

estabilidad y seguridad progresiva

"si funciona, no lo toques"

Despliegue directo al Hardware

aplicaciones limitadas por hardware disponible

desarrollo en ambientes diferentes de prod

despliegue por ZIP

Virtualización

Post 1990

Linux = 1991

Java = 1995

C# = 2000

.com bubble = 2001

GMail = 2004

iPhone = 2007

Virtualización

Virtualización

CONSOLIDACION

Virtualización

Sistemas de Paquetes:

  • Instalación por aplicación
  • Gestión de dependencias
  • Base de paquetes instalados
  • Desinstalación y actualización
  • Configuración post-instalación

Sistemas Administración Configuración:

  • Aprovisionamiento
  • Gestión completa del SO
  • Mantiene toda la infraestructura
  • Configuracion declarativa
  • Idempotente

Virtualización

Sistemas de Paquetes:

  • Instalación por aplicación
  • Gestión de dependencias
  • Base de paquetes instalados
  • Desinstalación y actualización
  • Configuración post-instalación

Sistemas Administración Configuración:

  • Aprovisionamiento
  • Gestión completa del SO
  • Mantiene toda la infraestructura
  • Configuracion declarativa
  • Idempotente

IaC

Virtualización

Gestión centralizada (mediante código) de entornos (dev, test, prod) en ambientes virtualizados que se integran en los procesos de desarrollo

Cloud Computing

2006

2008

2008

Android = 2008

TypeScript = 2012

Docker = 2013

Swift = 2014

Cloud Computing

Cloud Computing

Proveedor

 

Multi-proveedor

Cloud Computing

Código

Proveedor

+

Proveedor
provider

Aprovisionamiento

provissioning

Infraestructura

Sistema operativo

Actualización

Aplicación

Servicio

Seguridad

como código

versionable

incremental

metodologia

testing

entornos

consistencia

repetible

documentación

Beginners Tutorial to Terraform with Azure
Chris Wahl
Wahl Network

k8s = 2015

AWS EKS = 2018

Contenedores y Orquestadores

paquetes que en runtime son procesos aislados

  • livianos
  • densos
  • escalables
  • portables
  • inmutables

gestión de contenedores en clusters

  • lanza contenedores en cluster
  • simplifica escalado
  • simplifica actualización y remplazo
  • monitoreo
  • resiliencia

Arquitectura de Micro-Servicios

La arquitectura de microservicios es un enfoque para el desarrollo de softwareque consiste en construir una aplicación como un conjunto de pequeños servicios, los cuales se ejecutan en su propio proceso y se comunican con mecanismos ligeros (normalmente una API REST). Cada servicio se encarga de implementar una funcionalidad completa del negocio

Fuente:
https://es.wikipedia.org/wiki/Arquitectura_de_microservicios

Sobre esta presentación

Atribución 4.0 Internacional (CC BY 4.0)

IaC UCU

By Rodolfo Pilas

IaC UCU

  • 64