Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
| info:cursos:openwebinars:intro-cloud-computing [25/06/2018 08:47] – [PRE] mate | info:cursos:openwebinars:intro-cloud-computing [07/07/2018 10:35] (actual) – [Introducción a Cloud Computing] mate | ||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| = Introducción a Cloud Computing | = Introducción a Cloud Computing | ||
| + | {{tag> | ||
| == PRE | == PRE | ||
| Línia 14: | Línia 15: | ||
| - | == conceptos previos | ||
| - | <button collapse=" | ||
| - | |||
| - | < | ||
| - | |||
| - | * software libre | ||
| - | * GNU/Linux | ||
| - | * comandos básicos | ||
| - | * instalación software: '' | ||
| - | * shell scripts | ||
| - | * ssh | ||
| - | * Seguridad y redes | ||
| - | * DNS | ||
| - | * direccionamiento IPv4 | ||
| - | * conceptos básicos redes | ||
| - | * NAT | ||
| - | * Bridges Linux | ||
| - | * Redes virtuales | ||
| - | * Seguridad | ||
| - | * usuarios, privilegios, | ||
| - | * 666 o 777 | ||
| - | * instalación software | ||
| - | * concepto cortafuegos: | ||
| - | * Editor de textos | ||
| - | * en consola | ||
| - | * VIM | ||
| - | * emacs (emacs-nox) | ||
| - | * atom, sublime-text | ||
| - | * Programación | ||
| - | |||
| - | </ | ||
| - | |||
| - | == qué es el cloud computing? | ||
| - | <button collapse=" | ||
| - | |||
| - | < | ||
| - | |||
| - | ==== NIST ==== | ||
| - | |||
| - | * organismo de EEUU, definición cloud computing | ||
| - | * servicio (ofrecer recursos) de forma automática y a demanda | ||
| - | * accesible a través de la red | ||
| - | * público/ | ||
| - | * modelo multi-tenancy (se comparten recursos con otros usuarios, pero se debe garantizar *aislamiento* y *seguridad*) | ||
| - | * los recursos/ | ||
| - | * elasticidad | ||
| - | * usar recursos según a mis necesidades (subir y bajar) | ||
| - | * escalabilidad: | ||
| - | * Pago por uso | ||
| - | |||
| - | ==== ... as a Service ==== | ||
| - | * modelo de negocio no basado en la venta de licencias o hardware | ||
| - | * oferta de servicios con características de la nube | ||
| - | * tradicionalmente se definen 3 capas | ||
| - | * SaaS : Software as a Service | ||
| - | * la capa que se ofrece al público | ||
| - | * uso app a una web en lugar de tenerla instalada en el equipo | ||
| - | * no todas las apps webs son SaaS, deben cumplir ciertas características | ||
| - | * aplicaciones móbiles que son front-end de aplicaciones SaaS | ||
| - | * ejemplos: servicios Google, Office365, Dropbox | ||
| - | * PaaS : Plataform as a Service | ||
| - | * desarrollo web en la nube | ||
| - | * utilizado por desarrolladores de soft | ||
| - | * desarrollo + despliegue | ||
| - | * ejemplos: Heroku, Google App Engine, Windows Azure, Openshift, CloudFoundry | ||
| - | * capa fina de separación entre PaaS y IaaS | ||
| - | * [[https:// | ||
| - | * los contenedores ha dado en la línea de flotación de PaaS | ||
| - | * IaaS : Infraestrure as a Service | ||
| - | * Utilizado principalmente por administradores de sistemas | ||
| - | * capacidad de cómputo, redes y diversos modos de almacenamiento | ||
| - | * ejemplos: AWS, GCE, Azure, OpenStack | ||
| - | {{ : | ||
| - | |||
| - | </ | ||
| - | |||
| - | == Evolución de las aplicaciones | ||
| - | <button collapse=" | ||
| - | |||
| - | < | ||
| - | |||
| - | ==== aplicación monolítica ==== | ||
| - | * todos los componentes en el mismo nodo | ||
| - | * escalado vertical | ||
| - | * aumentar recursos de la máquina en función de las necesidades (RAM, Disco, etc..) | ||
| - | * limitaciones hardware | ||
| - | * arquitectura muy sencilla | ||
| - | * los componentes se conectan entre ellos con recursos locales | ||
| - | * consideraciones de seguridad | ||
| - | * el compromiso de un componente compromete a todos | ||
| - | * interferencias entre componentes | ||
| - | * un componente funciona mal/fallar, afecta al resto de componentes | ||
| - | * complejidad de las actualizaciones | ||
| - | * parada completa de la aplicación, | ||
| - | * infraestructura estática y fija por años | ||
| - | * aplicación no tolerante a fallos | ||
| - | * asume que la tolerancia a fallos la gestiona la capa inferior a la aplicación | ||
| - | |||
| - | ==== aplicación distribuida ==== | ||
| - | * idelamente un componente por nodo | ||
| - | * a veces 2-3 componentes por nodo | ||
| - | * a veces, un componente en varios nodos | ||
| - | * escalado horizontal | ||
| - | * permite ampliar recursos sobre un componente en concreto | ||
| - | * introduce la elasticidad (permite crecer y decrecer con facilidad) | ||
| - | * arquitectura más compleja | ||
| - | * el desarrollador ha de tener en cuenta que están en nodos diferentes, mucho más complejo | ||
| - | * considereciones de seguridad | ||
| - | * es más complicado que un problema se extienda | ||
| - | * menos interferencias entre componentes | ||
| - | * simplicidad en las actualizaciones | ||
| - | * más sencillo | ||
| - | |||
| - | ==== ¿SOA,cloud native o microservicios? | ||
| - | === SOA === | ||
| - | * Arquitectura orientada a servicio | ||
| - | * servicios independientes | ||
| - | * limitado a cierto tipo de aplicaciones (gran aplicación corporativa) -> visión general que se tiene | ||
| - | * orientado a desarrollo | ||
| - | * servicios indepedientes | ||
| - | * múltiples tecnologías interaccionando | ||
| - | * comunicación via WSDL y SOAP | ||
| - | * colas de mensajes | ||
| - | * se relaciona con aplicaciones corporativas | ||
| - | |||
| - | === cloud native === | ||
| - | * énfasis en la adaptación de la infraestructura a la demanda | ||
| - | * orientado a que desde " | ||
| - | * uso extensivo de la elasticidad: | ||
| - | * aplicaciones resilientes | ||
| - | * resiliencia = capacidad de alguien/ | ||
| - | * la app se comunica con el nivel inferior para solicitar lo que necesite (Disco, RAM) | ||
| - | * elasticidad horizontal | ||
| - | * automatización | ||
| - | |||
| - | === microservicios === | ||
| - | * deriva del esquema SOA | ||
| - | * no existe definición formal | ||
| - | * servicios llevados a la mínima expresión (un proceso - un nodo): microservicios | ||
| - | * comunicación vía HTTP REST (API RESTFUL) | ||
| - | * más fáciles de programar | ||
| - | * difícil conversión de aplicaicones monolíticas a microservicios -> nuevos desarrollos | ||
| - | * relacionado con procesos ágiles de desarrollo: entrega continua | ||
| - | * suele implementarse sobre contenedores | ||
| - | * [[https:// | ||
| - | {{ : | ||
| - | {{ : | ||
| - | |||
| - | |||
| - | </ | ||