Aquesta és una revisió antiga del document


infraestructura como código

ocultar/mostrar

  • adaptar metodologías de desarrollo al mundo de sistemas
  • control de versiones
  • lenguajes de programación
  • gestión de la configuración
  • despliegues automatizados
  • basado en pruebas: integración continua, entrega continua y despliegue continuo
  • AUTOMATIZACIÓN

ocultar/mostrar

  • análisis
  • diseño
  • desarrollo
  • pruebas
  • despliegue
  • Manifiesto
  • XP
  • Lean
  • Scrum
  • Test Driven Development
  • práctica habitual en desarrollo ágil
  • se aplican cambios de forma continua
  • se automatiza integración: compilación y pruebas entre componentes
    • no solo en el componente, si no en la interacción entre ellos
  • objetivo: detectar pronto los errores
  • aplicaciones utilizadas:
    • control de versiones: GIT, SVN, …
    • Software CI: jenkins, bamboo, travis, …

Objetivos y responsabilidades

  • desarrolladores (devs) que quieres pasar a producció todas las modificaciones
  • administradores (ops) que quieren mantener el sistema funcionando sin errores
  • Desarrolladores
  • Testeadores (Q&A)
  • Operadores

  • Más allá de CI
    • entrega continua : Integración continua, despliegue manual
    • entrega continua + despliegue continuo = todo automatizado
  • Se automatiza la generación de una versión publicable (entrega continua)
  • se automatiza su paso a producción (despliegue continuo)
  • incluye en el ciclo a Q&A y Ops
  • Control de versiones
  • herramientas de empaquetado
  • orquestación de escenarios
    • los escenarios de desarrollo y producción han de ser iguales (para la correcta comprobación de la aplicación)
  • automatización de la configuración
    • herramientas de configuración de la aplicación: crea/replica el escenario necesario para la app
  • ¿podemos tratar la configuración de sistemas como código?
    • si, ya no hacemos el proceso en la máquina, desarrollamos el código que generará esa máquina con sus requisitos
    • desarrollo el escenario que despliega las configuraciones de nuestro sistema
  • ¿un administrador que sólo programa y monitoriza?
  • Administramos sin tocar en producción
    • administador de sistemas: ejmeplo: aplicación de parche de seguridad → aplico los cambios en mi entorno de desarrollo, veo que eso no rompe la aplicación → se aplica en producción
  • ¿desarrolladores de sistemas?
    • metodologías ágiles
    • trabajo en equipo
    • desarrollo
    • cambio de paradigma

ocultar/mostrar

  • los formatos binarios con «informática de los 90s», su objetivo no declarado en la incompatibilidad
  • formatos en texto plano
  • legibles tanto por aplicaciones como humanos
  • fácilmente modificables
  • su éxito radica en la adaptabilidad de aplicaciones y son esenciales hoy en día
  • eXtended Markup Language
  • estandar de la W3C
  • muchos lenguajes que cumplen las reglas
  • formato estricto
  • documento bien formado
  • validación
  • esquemas XML (DTD, XML Schema)
    • XML Schema: definición de como ha de ser el XML y puedo validar que un XML cumple con las reglas establecidas
  • XML ha quedado restringido a documentos complejos
    • usado en el principio del API RESTFUL
  • JavaScript Object Notation
  • Más sencillo que XML
  • Sin esquema y no validable
  • Muy extendido en APIs REST
  • YAML Ain't Markup Language
  • Más sencillo aún que JSON
  • Relacionado con definición de aplicaciones sencillas
  • Actualmente es el formato «de moda»

<?xml version="1.0" encoding="IDO-8859-1"?>
<bookstore>
    <book category="COOKING">
        <title lang="en">Everyday Italian</title>
        <author>Giada de Laurentis</author>
        <year>2005</year>
        <price>30.00</price>
    </book>
</bookstore>

{ books: [
     {
         "title": "Everyday Italian",
         "author": "Giada de Laurentis",
         "year": "2005",
         "price": "30.00"
     }
  ]
}

books:
  -
    title: "Everyday Italian"
    author: "Giada de Laurentis"
    year: 2005
    price: "30.00"

ocultar/mostrar

  • en sistemas, típicamente interpretados
  • más sencillos
  • fácilmente modificables
  • pero menos eficientes
  • sobre gustos… colores
  • ¿bash?
    • pobre en estructuras
  • Perl
    • cayendo en desuso
    • sintaxis compleja, difícil captar usuarios
  • Python
    • simpleza en sintaxis
    • powerful
    • fácil reutilización de código (o encontrar biblioteca)
  • Ruby
    • estilo python
  • Nodejs
    • Google
  • Go
    • compilado
    • en discusión si es el más adecuado para sistemas
    • la tendencia en las últimas herramientas en este sentido es con este lenguaje
  • Rust
    • en desarrollo

ocultar/mostrar

  • info/cursos/openwebinars/intro-cloud-computing/iaac.1530025627.txt.gz
  • Darrera modificació: 26/06/2018 08:07
  • per mate