Arquitecturas web escalables y de alta disponibilidad en la nube

38
Arquitecturas web escalables y de alta disponibilidad en la nube Guillermo Antonio Alvarado Mejía Jornada Académica de Ingenieria 2015 | Universidad del Pedregal

Transcript of Arquitecturas web escalables y de alta disponibilidad en la nube

Page 1: Arquitecturas web escalables y de alta disponibilidad en la nube

Arquitecturas web escalables y de alta disponibilidad en la nube

Guillermo Antonio Alvarado Mejía Jornada Académica de Ingenieria 2015 | Universidad del Pedregal

Page 2: Arquitecturas web escalables y de alta disponibilidad en la nube

Agenda

● ¿Que es la nube?○ Virtualización○ Tipos de nube○ Mito○ Ventajas

● Arquitecturas de software○ ¿Que hace un arquitecto de software?○ Escalabilidad○ Alta disponibilidad○ Aplicaciones cloud○ ¿Cómo hago todo esto? Tecnologías

● Aterrizando en la vida real○ Ejemplo de portal web concurrente

● Casos de éxito○ Netflix

Page 3: Arquitecturas web escalables y de alta disponibilidad en la nube

¿Qué es la nube?

Page 4: Arquitecturas web escalables y de alta disponibilidad en la nube

¿Que es la nube?

Es un paradigma que permite ofrecer servicios TI a través de Internet.

Page 5: Arquitecturas web escalables y de alta disponibilidad en la nube

Virtualización

Creación a través de software de una versión virtual de algún recurso tecnológico.

La virtualización nos permite optimizar recursos y reducir gastos mediante consolidación

Page 6: Arquitecturas web escalables y de alta disponibilidad en la nube

Pilares de la nube

InfraestructuraServidores - Almacenamiento - Red

IaaS

InfraestructuraServidores - Almacenamiento - Red

InfraestructuraServidores - Almacenamiento - Red

PlataformaSistema Operativo - Stack aplicación

PlataformaSistema Operativo - Stack aplicación

AplicaciónSoftware empaquetado

PaaS

SaaS

Page 7: Arquitecturas web escalables y de alta disponibilidad en la nube

Pilares de la nube

SaaS

PaaS

IaaS

Page 8: Arquitecturas web escalables y de alta disponibilidad en la nube

Pilares de la nube

Mesa

Bebida

Horno

Fuego

Masa

Salsa

Queso

TI Tradicional

Hecho en casa

Mesa

Bebida

Horno

Fuego

Masa

Salsa

Queso

IaaS

Comprada para calentar

Mesa

Bebida

Horno

Fuego

Masa

Salsa

Queso

PaaS

A domicilio

Mesa

Bebida

Horno

Fuego

Masa

Salsa

Queso

SaaS

Restaurant

Page 9: Arquitecturas web escalables y de alta disponibilidad en la nube

El gran mito

No existe una sola nube.

Page 10: Arquitecturas web escalables y de alta disponibilidad en la nube

El gran mito

Page 11: Arquitecturas web escalables y de alta disponibilidad en la nube

En la vida real

Page 12: Arquitecturas web escalables y de alta disponibilidad en la nube

Ventajas de la nube

Mejora las capacidades de los productos TI, otorga continuidad del negocio y la recuperación ante desastres de infraestructura.

❏Flexibilidad

❏Escalabilidad

❏Costos

❏Rentabilidad

Page 13: Arquitecturas web escalables y de alta disponibilidad en la nube

Arquitectuas de Software

Page 14: Arquitecturas web escalables y de alta disponibilidad en la nube

Arquitecturas de software

Al igual que los planos de un edificio o construcción, estas indican la estructura, funcionamiento e interacción entre las partes del software.

Page 15: Arquitecturas web escalables y de alta disponibilidad en la nube

Arquitecturas de software

Una arquitectura de software se selecciona y diseña con base en objetivos y restricciones.

Page 16: Arquitecturas web escalables y de alta disponibilidad en la nube

Arquitecto de software

A diferencia de un programador, el arquitecto de Software debe dominar la mayor cantidad de tecnologías de software y prácticas de diseño, para así poder tomar decisiones adecuadas

Page 17: Arquitecturas web escalables y de alta disponibilidad en la nube

Arquitecto de software

El arquitecto de software es el líder técnico del equipo, el rol natural al que debe aspirar un programador experimentado que desea tomar decisiones técnicas relevantes en el desarrollo de un sistema y el negocio

Negocio

Tecnología

Director

Arquitecto de software

Ingeniero/Desarrollador

Page 18: Arquitecturas web escalables y de alta disponibilidad en la nube

Escalabilidad

Es la habilidad de un sistema para reaccionar y adaptarse sin perder calidad, es decir estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos.

Page 19: Arquitecturas web escalables y de alta disponibilidad en la nube

Scale up

Cuando al añadir más recursos a un nodo particular para que el sistema mejore en conjunto. Por ejemplo, añadir memoria o un disco duro más rápido.

Page 20: Arquitecturas web escalables y de alta disponibilidad en la nube

Scale out

Un sistema escala horizontalmente si al agregar más nodos al mismo. Por ejemplo, al añadir un nuevo nodo de base de datos, el sistema tendrá más capacidad.

Page 21: Arquitecturas web escalables y de alta disponibilidad en la nube

El problema

El principal problema de escalar un sistema informático es estimar cuánta carga deberá soportar el sistema.

Page 22: Arquitecturas web escalables y de alta disponibilidad en la nube

Exacto, la nube...

¿Recuerdan la flexibilidad?

Page 23: Arquitecturas web escalables y de alta disponibilidad en la nube

Alta disponibilidad

El concepto de alta disponibilidad de un sistema informático consiste en que el servicio ofrecido esté el mayor tiempo posible funcionando.

Lo ideal es que un servicio esté disponible 24 horas al día, 7 días a la semana, los 365 días del año, ofreciendo un 100% de disponibilidad.

Page 24: Arquitecturas web escalables y de alta disponibilidad en la nube

Alta disponibilidad

99,9% = 43.8 minutos/mes u 8,76 horas/año ("tres nueves")

99,99% = 4.38 minutos/mes o 52.6 minutos/año ("cuatro nueves")

99,999% = 0.44 minutos/mes o 5.26 minutos/año ("cinco nueves")

Page 25: Arquitecturas web escalables y de alta disponibilidad en la nube

Aplicaciones cloud

Aplicación tradicional

Aplicación cloud

Escalabilidad Scale up Scale out, autoescalamiento

Redundancia En hardware En la aplicación

Despliegue Lento, rígido Continuo, automatizado

Operación Tradicional, rígida DevOps, SLAS altos

Infraestructura Hardware IaaS, PaaS, SaaS

Page 26: Arquitecturas web escalables y de alta disponibilidad en la nube

Aplicaciones cloud

Frontend

Message

Business

Data

DB

Web UI

Workers

ampq

AMPQ

Page 27: Arquitecturas web escalables y de alta disponibilidad en la nube

Resumen de conceptos

Nube + arquitectura de software + escalabilidad + alta disponibilidad + aplicaciones cloud

Arquitecturas web escalables y de alta disponibilidad en la nube

Page 28: Arquitecturas web escalables y de alta disponibilidad en la nube

Tecnologías

Page 29: Arquitecturas web escalables y de alta disponibilidad en la nube

Resumen de conceptos + tecnologías

Nube + arquitectura de software + escalabilidad + alta disponibilidad

Arquitecturas web escalables y de alta disponibilidad en la nube

Page 30: Arquitecturas web escalables y de alta disponibilidad en la nube

Aplicaciones cloud

Frontend

Message

Business

Data

Page 31: Arquitecturas web escalables y de alta disponibilidad en la nube

Aterrizando en la vida real

Page 32: Arquitecturas web escalables y de alta disponibilidad en la nube

Portal web concurrente

Page 33: Arquitecturas web escalables y de alta disponibilidad en la nube

Caso de éxito

Page 34: Arquitecturas web escalables y de alta disponibilidad en la nube

Netflix

Page 35: Arquitecturas web escalables y de alta disponibilidad en la nube

Netflix

Page 36: Arquitecturas web escalables y de alta disponibilidad en la nube

Netflix

Page 37: Arquitecturas web escalables y de alta disponibilidad en la nube

Netflix

Page 38: Arquitecturas web escalables y de alta disponibilidad en la nube

¿Dudas, preguntas? @galvarado89 galvarado.com.mx

¡Gracias!