info:cursos:openwebinars:intro-cloud-computing:contenedores

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Següent revisió
Revisió prèvia
info:cursos:openwebinars:intro-cloud-computing:contenedores [27/06/2018 08:12] – creat mateinfo:cursos:openwebinars:intro-cloud-computing:contenedores [28/06/2018 02:40] (actual) – [Contenedores PaaS] mate
Línia 1: Línia 1:
 = contenedores = contenedores
 == Contenedores == Contenedores
-<button collapse="nube-infraestructura" size="xs">ocultar/mostrar</button>+<button collapse="seccontenedores" size="xs">ocultar/mostrar</button>
  
-<collapse id="nube-infraestructura" collapsed="true">+<collapse id="seccontenedores" collapsed="true"> 
 + 
 +<image shape="thumbnail">[{{ :info:cursos:openwebinars:intro-cloud-computing:pasted:20180628-003600.png | Containers VS Virtualización}}]</image> 
 + 
 +==== Contenedores (I) ==== 
 +  * virtualización ligera o de SO 
 +  * todos los sistemas comparten núcleo (kernel) 
 +  * usados desde hace mucho en Solaris (Containers y Zones) y FreeBSD (Jails) 
 +    * hosting compartido 
 +  * Limitado en Linux: vservers, OpenVZ, chroot, ... 
 +    * contenedor más sencillo existente: chroot 
 + 
 +==== Contenedores (II) ==== 
 +  * Homogeneización del centro de datos 
 +    * "El Software libre ganó" 
 +    * SO que llenan los centros de datos son Linux 
 +    * facilita el uso de un sistema de contenedores, evita el uso de virtualización completa 
 +    * herramientas integradas en kernel que me garantizan seguridad, control recursos, etc.. 
 +  * Linux cgroups (control groups) 
 +    * acceso controlado a recursos de sistema 
 +  * Linux namespaces 
 +  * LXC 
 + 
 +==== LXC ==== 
 +  * Integrado en el kernel de Linux 
 +  * se apoya en cgroups y namespaces 
 +    * cgroups: grupos de control, gestión a recursos 
 +    * namespaces : aislamiento 
 +  * los sistemas se instalan desde plantillas 
 +  * orientado al uso en sistemas 
 +    * docker le da una vuelta de tuerca al uso de los contenedores 
 + 
 +==== Docker ==== 
 +  * Muy similar a LXC "por abajo" 
 +    * se aprovecha del trabajo de LXC y añade capas 
 +  * orientado al despliegue en microservicios 
 +    * mover aplicaciones 
 +  * proporciona versionado 
 +  * proporciona capas (aufs o overlayfs) 
 +    * parto de cierta imagen y los cambios se almacenan como capas 
 +  * proporciona imágenes preconfiguradas 
 +    * dockerhub 
 +  * muy... "Infraestructure as a Code" 
 +  * muy... "devops" 
 +  * ¿de verdad usas bien docker? 
 +    * implica cambio de paradigma... orientado a microservicios 
 +    * sin sentido para aplicaciones monolíticas 
 + 
 +==== rkt  ==== 
 +  * alternativa a docker 
 +  * desarrollado por CoreOS 
 + 
 +==== LXD ==== 
 +  * hipervisor de contenedores 
 +  * muy relacionado con LXC 
 +  * ¿LXC 2.0? 
 +  * basado en el uso de imágenes 
 +  * bien integrado con Ubuntu 
 +  * Canonical 
 + 
 +</collapse> 
 + 
 +== Sistemas Operativos Ligeros 
 +<button collapse="OSligeros" size="xs">ocultar/mostrar</button> 
 + 
 +<collapse id="OSligeros" collapsed="true"> 
 + 
 +  * más allá en el mundo de los contenedores: 
 +    * instalo SO 
 +    * todo lo que monto después está conteneizado 
 +    * ¿me hace falta un sistema de gestión de paquetes? ¿necesito "instalar"? 
 +    * monto un container, que se comporta como un Linux "normal", donde monto la aplicación que quiero 
 +    * CoreOS: "rolling release" -> siempre usando la versión actualizada 
 + 
 +==== Sistemas ligeros ==== 
 +  * Container Linux (CoreOS) 
 +  * Project Atomic (RedHat) 
 +  * Ubuntu Core (Canonical) 
 +    * standar de aplicaciones -> inapi 
 +  * RancherOS 
 +  * Photon (VMWare) 
 +  * DCOS (Mesosphere) = Data Center Operating System 
 + 
 +  * para desplegar aplicaciones "contenerizadas" 
 +  * sin paquetes de aplicaciones 
 +  * aplicaciones sobre contenedores (snaps en Ubuntu) 
 +  * suelen utilizarse para clusters 
 +  * RancherOS: el propio sistema "contenerizado" 
 + 
 +</collapse> 
 + 
 +== Orquestación con contenedores 
 +<button collapse="orquestacion" size="xs">ocultar/mostrar</button> 
 + 
 +<collapse id="orquestacion" collapsed="true"> 
 + 
 +==== orquestadores de contenedores ==== 
 +  * gestionan clusters de equipos 
 +  * aplicaciones "contenerizadas" 
 +  * aportan funcionalidad adicional 
 +    * alta disponibilidad 
 +    * balanceo de carga 
 +    * comunicación con el exterior 
 +    * despliegues en producción 
 + 
 +==== kubernetes ==== 
 +  * desarrollo inicial de Google 
 +  * liberado con licencia Apache 
 +    * no es el modus operandi habitual 
 +    * hace uso intensivo de herramientasde software libre 
 +  * Donado a la CNCF = Cloud Native Computing Fundation 
 +    * fundación, luego Google se aparta 
 +    * pretende estandarización y aportación por parte de otros 
 +  * Kubelet, pods 
 +    * kubelet: agente? 
 +    * pods: "contenedores" 
 +    * intercomunicación entre los diferentes contenedores -> compleja 
 +    * kube-proxy : acceso a/desde el exterior 
 +  * Docker, rkt,... 
 +  * software "nuevo", métodos de instalación "mejorables" -> no soportada en distros 
 + 
 +<image shape="thumbnail">{{ :info:cursos:openwebinars:intro-cloud-computing:pasted:20180628-012723.png }}</image> 
 + 
 +==== Docker swarm ==== 
 +  * integrado en docker desde la v1.12 
 +  * aplicaciones definidas en docker compose 
 +  * se gestiona con comandos docker 
 + 
 +==== Mesos / Marathon ==== 
 +  * soporte para docker y rkt 
 +  * otras cargas de trabajo: big data 
 +  * utilizado en producción por twitter o airbnb 
 +  * Mesosphere proporciona soporte comercial 
 + 
 +</collapse> 
 + 
 +== Contenedores IaaS 
 +<button collapse="contenedor-iaas" size="xs">ocultar/mostrar</button> 
 + 
 +<collapse id="contenedor-iaas" collapsed="true"> 
 + 
 +==== Contenedores, clusters o "as a Service" ==== 
 +  * despliegue desde templantes: heat, cfn... 
 +  * ¿bare-metal? 
 +    * servidores físicos 
 +    * automatización arranque y configuración de servidor físico (aka VMs) -> packet 
 +  * contenedores sobre MVs 
 +    * elasticidad 
 +  * containers as a Service 
 +  * Facilidad para desplegar contenedores 
 +  * imágenes o SO preconfigurados 
 +  * registros propios para imágenes de contenedores 
 + 
 +==== Contenedores en AWS ==== 
 +  * Amazon EC2 Container Service 
 +  * contenedores docker sobre instancias EC2 
 +  * cluster de instancias EC2 
 +    * no implementa kubernetes 
 + 
 +==== Contenedores en Google ==== 
 +  * Google Containers Engine 
 +  * Integración completa con kubernetes 
 +  * también docker, LXD o rkt directamente 
 + 
 +==== Contenedores Azure ==== 
 +  * Azure Container Service 
 +  * Swarm, kubernetes o DCOS 
 + 
 +==== Contenedores en OpenStack ==== 
 +  * contenedores sobre instacias 
 +  * despliegues de kubernetes, swarm, etc... con OpenStack heat 
 +  * OpenStack Magnum : Containers as a Service 
 +    * integración entre MVs y Contenedores a nivel de red 
 + 
 +</collapse> 
 + 
 +== Contenedores PaaS 
 +<button collapse="contenedor-paas" size="xs">ocultar/mostrar</button> 
 + 
 +<collapse id="contenedor-paas" collapsed="true"> 
 + 
 +==== Contenedores en PaaS ==== 
 +  * contenedores como aplicación nativa cloud 
 +  * están sustituyendo a muchos PaaS 
 +  * nuevo enfoque: una capa más sobre orquestador 
 +  * aportan funcionalidad y facilidad de uso 
 +  * se centran en el desarrollo, no en la herramienta de orquestación 
 + 
 +==== ejemplo: OpenShift v3 ==== 
 +  * desarrollo de RedHat 
 +    * v2 - en local o en nube (redhat en AWS) 
 +  * como servicio o en privado 
 +  * funciona sobre kubernetes 
 +  * añade funcionalidad 
 +    * espacios de nombres 
 +      * facilitar gestión de kubernetes por varios desarrolladores 
 +    * RBAC 
 +    * plantillas 
 +    * integración con herramientas de desarrollo 
 +      * control versiones, CI, pruebas automáticas...
  
 </collapse> </collapse>
  • info/cursos/openwebinars/intro-cloud-computing/contenedores.1530112355.txt.gz
  • Darrera modificació: 27/06/2018 08:12
  • per mate