Arquitecturas web escalables y de alta disponibilidad en la nube

Post on 29-Jul-2015

63 views 2 download

Transcript of 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

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

¿Qué es la nube?

¿Que es la nube?

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

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

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

Pilares de la nube

SaaS

PaaS

IaaS

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

El gran mito

No existe una sola nube.

El gran mito

En la vida real

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

Arquitectuas de Software

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.

Arquitecturas de software

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

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

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

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.

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.

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.

El problema

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

Exacto, la nube...

¿Recuerdan la flexibilidad?

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.

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")

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

Aplicaciones cloud

Frontend

Message

Business

Data

DB

Web UI

Workers

ampq

AMPQ

Resumen de conceptos

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

Arquitecturas web escalables y de alta disponibilidad en la nube

Tecnologías

Resumen de conceptos + tecnologías

Nube + arquitectura de software + escalabilidad + alta disponibilidad

Arquitecturas web escalables y de alta disponibilidad en la nube

Aplicaciones cloud

Frontend

Message

Business

Data

Aterrizando en la vida real

Portal web concurrente

Caso de éxito

Netflix

Netflix

Netflix

Netflix

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

¡Gracias!