SlideShare a Scribd company logo
1 of 28
Desarrollo en la nube Javier Nievas Muñoz CTO en Pynso | CTO en Hitsbook [email_address]
Bienvenidos Antes de empezar... ...algunos “keywords” Nube. Web 2.0. Servidor Web. Servidor de Base de datos. Caché. Aplicaciones Web. Hosting. Uptime. Amazon AWS.
Bienvenidos TARGET Proyectos web con previsión de crecimiento en contenidos y visitas
Objetivo MISIÓN Conseguir que la plataforma web esté online el  99%  del tiempo
Objetivo MISIÓN Conseguir que la plataforma web esté online el  99%  del tiempo ¿Imposible?
Intro Petición GET/POST Consulta(s) BBDD Generar HTML Servir HTML Servir Media  (Imgs, CSS, JS...) Procesos largos Streaming Envío de emails Módulos recurrentes El problema Para entender el problema debemos considerar todos los elementos que intervienen a la hora de servir una página dentro de una aplicación web.
Intro El problema Todo esto consume recursos del servidor:  RAM + CPU + HDD + Red
Hosting Servidor compartido Desde 10€/mes Poca capacidad Recursos limitados y compartidos Servidor virtual VPS Desde 30€/mes Capacidad configurable Recursos compartidos pero con reserva de unos mínimos Servidor dedicado Desde 100€/mes Capacidad fija Recursos 100% disponibles Servidor Los recursos de los servidores son finitos y, por tanto, tienen una capacidad limitada. Las opciones habituales que nos hemos encontrado a la hora de contratar un servidor han sido: ,[object Object]
Servidor virtual (VPS)
Servidor dedicado
Hosting Servidor compartido Desde 10€/mes Poca capacidad Recursos limitados y compartidos Servidor virtual VPS Desde 30€/mes Capacidad configurable Recursos compartidos pero con reserva de unos mínimos Servidor dedicado Desde 100€/mes Capacidad fija Recursos 100% disponibles ¡NO SON ESCALABLES! Servidor Los recursos de los servidores son finitos y, por tanto, tienen una capacidad limitada. Las opciones habituales que nos hemos encontrado a la hora de contratar un servidor han sido: ,[object Object]
Servidor virtual (VPS)
Servidor dedicado
Hosting Escalabilidad El gran problema...
Soluciones Hay muchos problemas... …  que hay que resolver individualmente para conseguir una plataforma realmente preparada. ,[object Object]
Servidor Base de Datos
Servir ficheros estáticos
Procesamiento / Envío de emails
Generar HTML
Servidor
Soluciones Servidor Web Típicamente se ha utilizado Apache.  ,[object Object]
Muchas opciones de configuración que apenas se utilizan
NGINX + FastCGI / uWSGI ,[object Object]
Servidor Base de Datos
Servir ficheros estáticos
Procesamiento
Generar HTML
Servidor

More Related Content

What's hot

Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSConstruyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSAmazon Web Services LATAM
 
Innovación en la empresa a velocidad de startup
Innovación en la empresa a velocidad de startupInnovación en la empresa a velocidad de startup
Innovación en la empresa a velocidad de startupAmazon Web Services LATAM
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidadAmazon Web Services LATAM
 
Arquitecturas Escalables para Aplicaciones Web - Egdares Futch, UNITEC
Arquitecturas Escalables para Aplicaciones Web - Egdares Futch, UNITECArquitecturas Escalables para Aplicaciones Web - Egdares Futch, UNITEC
Arquitecturas Escalables para Aplicaciones Web - Egdares Futch, UNITECAlejandro Corpeño
 
Webinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWSWebinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWSAmazon Web Services LATAM
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidadAmazon Web Services LATAM
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidadAmazon Web Services LATAM
 
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...Amazon Web Services
 
Diseño de arquitectura VPC para modelos operativos empresariales
Diseño de arquitectura VPC para modelos operativos empresarialesDiseño de arquitectura VPC para modelos operativos empresariales
Diseño de arquitectura VPC para modelos operativos empresarialesAmazon Web Services LATAM
 
Migración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWSMigración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWSAmazon Web Services LATAM
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidadAmazon Web Services LATAM
 
DevOps en AWS, acelarando el desarrollo de software
DevOps en AWS, acelarando el desarrollo de softwareDevOps en AWS, acelarando el desarrollo de software
DevOps en AWS, acelarando el desarrollo de softwareAmazon Web Services LATAM
 

What's hot (20)

Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSConstruyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
 
Construyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWSConstruyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWS
 
Cómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nubeCómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nube
 
Innovación en la empresa a velocidad de startup
Innovación en la empresa a velocidad de startupInnovación en la empresa a velocidad de startup
Innovación en la empresa a velocidad de startup
 
Servicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWSServicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWS
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidad
 
Arquitecturas Escalables para Aplicaciones Web - Egdares Futch, UNITEC
Arquitecturas Escalables para Aplicaciones Web - Egdares Futch, UNITECArquitecturas Escalables para Aplicaciones Web - Egdares Futch, UNITEC
Arquitecturas Escalables para Aplicaciones Web - Egdares Futch, UNITEC
 
Webinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWSWebinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWS
 
Servicios de almacenamiento de AWS
Servicios de almacenamiento de AWSServicios de almacenamiento de AWS
Servicios de almacenamiento de AWS
 
Implementando DRP en AWS
Implementando DRP en AWSImplementando DRP en AWS
Implementando DRP en AWS
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidad
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidad
 
Construyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWSConstruyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWS
 
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
 
Diseño de arquitectura VPC para modelos operativos empresariales
Diseño de arquitectura VPC para modelos operativos empresarialesDiseño de arquitectura VPC para modelos operativos empresariales
Diseño de arquitectura VPC para modelos operativos empresariales
 
Migración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWSMigración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWS
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidad
 
DevOps en AWS, acelarando el desarrollo de software
DevOps en AWS, acelarando el desarrollo de softwareDevOps en AWS, acelarando el desarrollo de software
DevOps en AWS, acelarando el desarrollo de software
 
Analizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWSAnalizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWS
 
Comenzando con Docker en AWS
Comenzando con Docker en AWSComenzando con Docker en AWS
Comenzando con Docker en AWS
 

Viewers also liked

Raul baltar miniatura 11416
Raul baltar miniatura 11416Raul baltar miniatura 11416
Raul baltar miniatura 11416Raul Baltar
 
Malaga : Ouverture du procès de 5 policiers accusés de violences sexuelles à ...
Malaga : Ouverture du procès de 5 policiers accusés de violences sexuelles à ...Malaga : Ouverture du procès de 5 policiers accusés de violences sexuelles à ...
Malaga : Ouverture du procès de 5 policiers accusés de violences sexuelles à ...JLMB
 
Programas de edición y publicación
Programas de edición y publicaciónProgramas de edición y publicación
Programas de edición y publicaciónsuzu_8204
 
Dialogosocial 120118080739-phpapp02
Dialogosocial 120118080739-phpapp02Dialogosocial 120118080739-phpapp02
Dialogosocial 120118080739-phpapp02CgtNewcoBcn
 
Serviço de infectologia pediátrica caso clínico 37
Serviço de infectologia pediátrica caso clínico 37Serviço de infectologia pediátrica caso clínico 37
Serviço de infectologia pediátrica caso clínico 37Professor Robson
 
La linterna mágica
La linterna mágicaLa linterna mágica
La linterna mágicaMilaca Ochoa
 
2do Reporte
2do Reporte2do Reporte
2do Reportecahcmail
 
Percurso Geo Referenciado
Percurso Geo ReferenciadoPercurso Geo Referenciado
Percurso Geo ReferenciadoAlfredo Garcia
 
Ações do Núcleo de Assistência a Saúde do Trabalhador
Ações do Núcleo de Assistência a Saúde do TrabalhadorAções do Núcleo de Assistência a Saúde do Trabalhador
Ações do Núcleo de Assistência a Saúde do TrabalhadorProfessor Robson
 
Plataformas educativas
Plataformas educativasPlataformas educativas
Plataformas educativascoloco87
 
Le plan d'action
Le plan d'actionLe plan d'action
Le plan d'actiongdoidy
 
Plan de formación de proyecto socio integrador para tutores
Plan de formación de proyecto socio integrador para tutores Plan de formación de proyecto socio integrador para tutores
Plan de formación de proyecto socio integrador para tutores Davsar Natera Sarti
 
15 nebeolic-jesus-miguel de nebadon 1
15 nebeolic-jesus-miguel de nebadon 115 nebeolic-jesus-miguel de nebadon 1
15 nebeolic-jesus-miguel de nebadon 1Sophi Estévez
 
Raul baltar paseos en barco-11080
Raul baltar paseos en barco-11080Raul baltar paseos en barco-11080
Raul baltar paseos en barco-11080Raul Baltar
 

Viewers also liked (20)

Raul baltar miniatura 11416
Raul baltar miniatura 11416Raul baltar miniatura 11416
Raul baltar miniatura 11416
 
Malaga : Ouverture du procès de 5 policiers accusés de violences sexuelles à ...
Malaga : Ouverture du procès de 5 policiers accusés de violences sexuelles à ...Malaga : Ouverture du procès de 5 policiers accusés de violences sexuelles à ...
Malaga : Ouverture du procès de 5 policiers accusés de violences sexuelles à ...
 
P11 d poema4
P11 d poema4P11 d poema4
P11 d poema4
 
Programas de edición y publicación
Programas de edición y publicaciónProgramas de edición y publicación
Programas de edición y publicación
 
Fer
FerFer
Fer
 
Dialogosocial 120118080739-phpapp02
Dialogosocial 120118080739-phpapp02Dialogosocial 120118080739-phpapp02
Dialogosocial 120118080739-phpapp02
 
Laborrega
LaborregaLaborrega
Laborrega
 
Serviço de infectologia pediátrica caso clínico 37
Serviço de infectologia pediátrica caso clínico 37Serviço de infectologia pediátrica caso clínico 37
Serviço de infectologia pediátrica caso clínico 37
 
Un mundo raro
Un mundo raroUn mundo raro
Un mundo raro
 
La linterna mágica
La linterna mágicaLa linterna mágica
La linterna mágica
 
2do Reporte
2do Reporte2do Reporte
2do Reporte
 
Percurso Geo Referenciado
Percurso Geo ReferenciadoPercurso Geo Referenciado
Percurso Geo Referenciado
 
Ações do Núcleo de Assistência a Saúde do Trabalhador
Ações do Núcleo de Assistência a Saúde do TrabalhadorAções do Núcleo de Assistência a Saúde do Trabalhador
Ações do Núcleo de Assistência a Saúde do Trabalhador
 
Plataformas educativas
Plataformas educativasPlataformas educativas
Plataformas educativas
 
Cato eulogy
Cato eulogyCato eulogy
Cato eulogy
 
Le plan d'action
Le plan d'actionLe plan d'action
Le plan d'action
 
Plan de formación de proyecto socio integrador para tutores
Plan de formación de proyecto socio integrador para tutores Plan de formación de proyecto socio integrador para tutores
Plan de formación de proyecto socio integrador para tutores
 
15 nebeolic-jesus-miguel de nebadon 1
15 nebeolic-jesus-miguel de nebadon 115 nebeolic-jesus-miguel de nebadon 1
15 nebeolic-jesus-miguel de nebadon 1
 
Teacch. francisco tortosa
Teacch. francisco tortosaTeacch. francisco tortosa
Teacch. francisco tortosa
 
Raul baltar paseos en barco-11080
Raul baltar paseos en barco-11080Raul baltar paseos en barco-11080
Raul baltar paseos en barco-11080
 

Similar to Desarrollo en la nube

Desarrollo en la nube
Desarrollo en la nubeDesarrollo en la nube
Desarrollo en la nubePideCurso
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosAmazon Web Services LATAM
 
Deploy CV in AWS.pptx
Deploy CV in AWS.pptxDeploy CV in AWS.pptx
Deploy CV in AWS.pptxEnrique
 
Planeando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSPlaneando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSAmazon Web Services LATAM
 
Cloud Storage, Almacenamiento en la nube
Cloud Storage, Almacenamiento en la nubeCloud Storage, Almacenamiento en la nube
Cloud Storage, Almacenamiento en la nubeJesús Moreno León
 
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryOptimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryGonzalo Chacaltana
 
El Cloud Computing & Amazon Web Services
El Cloud Computing & Amazon Web ServicesEl Cloud Computing & Amazon Web Services
El Cloud Computing & Amazon Web Servicescloudimpulsion
 
dockerize.it
dockerize.itdockerize.it
dockerize.itbetabeers
 
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Amazon Web Services
 
Presentacion cloud computer
Presentacion cloud computerPresentacion cloud computer
Presentacion cloud computerCielo Gris
 
2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsaws2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsawsfernando sonego
 
Computacionenlanube 130821155331-phpapp01
Computacionenlanube 130821155331-phpapp01Computacionenlanube 130821155331-phpapp01
Computacionenlanube 130821155331-phpapp01Dnt Guevara
 
Computacion en la nube
Computacion en la nubeComputacion en la nube
Computacion en la nubefatima213
 
Acens Cloud Hosting 2013
Acens Cloud Hosting 2013Acens Cloud Hosting 2013
Acens Cloud Hosting 2013Red Auti
 

Similar to Desarrollo en la nube (20)

Desarrollo en la nube
Desarrollo en la nubeDesarrollo en la nube
Desarrollo en la nube
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
Deploy CV in AWS.pptx
Deploy CV in AWS.pptxDeploy CV in AWS.pptx
Deploy CV in AWS.pptx
 
Aws PHPVigo
Aws PHPVigoAws PHPVigo
Aws PHPVigo
 
Nube informatia
Nube informatiaNube informatia
Nube informatia
 
Planeando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSPlaneando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWS
 
Cloud Storage, Almacenamiento en la nube
Cloud Storage, Almacenamiento en la nubeCloud Storage, Almacenamiento en la nube
Cloud Storage, Almacenamiento en la nube
 
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryOptimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-Memory
 
El Cloud Computing & Amazon Web Services
El Cloud Computing & Amazon Web ServicesEl Cloud Computing & Amazon Web Services
El Cloud Computing & Amazon Web Services
 
dockerize.it
dockerize.itdockerize.it
dockerize.it
 
Cloud
CloudCloud
Cloud
 
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
 
Presentacion cloud computer
Presentacion cloud computerPresentacion cloud computer
Presentacion cloud computer
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
computacion en nube
computacion en nubecomputacion en nube
computacion en nube
 
2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsaws2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsaws
 
Computacionenlanube 130821155331-phpapp01
Computacionenlanube 130821155331-phpapp01Computacionenlanube 130821155331-phpapp01
Computacionenlanube 130821155331-phpapp01
 
Computacion en la nube
Computacion en la nubeComputacion en la nube
Computacion en la nube
 
computacion en la nube
computacion en la nubecomputacion en la nube
computacion en la nube
 
Acens Cloud Hosting 2013
Acens Cloud Hosting 2013Acens Cloud Hosting 2013
Acens Cloud Hosting 2013
 

Recently uploaded

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Recently uploaded (13)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Desarrollo en la nube

Editor's Notes

  1. Gracias por asistir Estamos en la WebRoom aunque realmente lo que vamos a ver en esta presentación al ser orientado a la web, nos va a servir tanto para plataformas PC como para móviles. Antes de comenzar querría tomaros un poco el pulso para ver qué cosas conoceis y qué cosas no, con la idea de adaptar un poco la presentación a vosotros. Repasar los términos por encima.
  2. El objetivo no son las webs corporativas, ni pequeños blogs (al menos en sus etapas iniciales), sino plataforma con base web cuya previsión de crecimiento a corto/medio plazo sea muy grande. La web de un pequeño comercio no va, al menos a priori, a recibir un número tal de visitas que llegue a provocar que deje de funcionar la web. Por lo que nos vamos a centrar en plataformas web grandes, por ejemplo, pongamos tuenti, blogger, twitter, flickr... pero suponiendo que nos encontramos en sus principios. De hecho el mejor ejemplo que puedo poneros es Hitsbook.
  3. ¿Porqué el 99% y no el 100%? Seamos realistas, la posibilidad de que haya cortes en los propios servicios que contratamos sumado a las actualizaciones y mejoras que introducimos en la aplicación hacen imposible plantearse como objetivo el 100%. Quizá hasta el 99% sea un poco utópico, pero sí debemos acercarnos todo lo posible.
  4. ¿Es imposible? Hay momentos en los que puede llegar a parecerlo, pero se puede conseguir. Es cuestión de conocer algunos trucos, seguir algunas guías, y tb, pq negarlo, cuestión de pasta :-)
  5. ¿Que es lo que hace que una plataforma pueda llegar a colapsarse? En realidad no es una única cosa, si lo fuera, tendríamos muy claro donde centrarnos. Todo lo contrario: son la suma de muchas cosas. Repasar el proceso completo desde que el navegador hace la petición hasta que el usuario vé la página resultante.
  6. Son muchas operaciones a realizar, que se ejecutan en un servidor, es decir, en un equipo con unos recursos finitos. Por ejemplo, la BBDD consume por una lado bastante memoria RAM en la que almacena los datos más consultados, y por otra parte, puede consumir bastante CPU si se le solicitan datos de múltiples tablas.
  7. Tradicionalmente los servidores se han clasificado en 3 categorías según la dedicación que recibíamos con respecto a sus recursos. Los más económicos, los compartidos, en los que contratamos un “trozo” de un servidor que vamos a compartir con otros muchos proyectos. Después tenemos los servidores virtuales, que básicamente se diferencian en que nos reservan unos mínimos que tendremos siempre a nuestra disposición. Y por otro lado tenemos los servidores dedicados. Enteramente a nuestra disposición. ¿Cómo escalamos con estos equipos?
  8. Pues, decir que son escalables no es del todo correcto... son equipos con unas limitaciones finitas. Si se trata de servidores virtuales suelen darnos opción a contratar algunos gigas extras de ram, o algunos cores/cpus extras. Con un límite, claro. ¿Cómo escalar con estos equipos? La única forma plausible es contratar más equipos.
  9. Echémosle un vistazo a la gráfica. La linea negra discontinua representa la estimación de la demanda. En rojo, vemos la demanda real. Que como puede verse, oscila alrededor de nuestra estimación, hay momentos en los que la demanda es baja y otros momentos “pico” en los que la demanada supera nuestras previsiones. ¿Cómo dimensionamos nuestros servidores? La linea discontinua representa la aproximación tradicional. Intentamos estar por encima de nuestra previsión. Pero puede pasarnos que haya momentos en los que los picos superen nuestra previsión... Y hacer un sobre-escalado para evitarlo tiene un coste que posiblemente no podamos abordar.
  10. Entonces, hemos visto que para preparar nuestra plataforma no basta con centrarnos en un único punto, debemos tener en cuenta todos los elementos que intervienen en el proceso. Veamos, interviene como hemos visto, el servidor web, el servidor de base de datos, las peticiones de elementos estáticos, el procesamiento de tareas y el envío de emails, la generación recurrente de html y el propio servidor donde nos alojamos. Hay algún elemento más, pero estos son los más importantes y en los que vamos a centrarnos en resolver. Vamos a ir viendolos uno por uno.
  11. Si yo os pregunto el nombre de un servidor web, o bien no conoceis ninguno, o si conoceis alguno, lo más probable es que sea Apache. Y es normal. Sin duda es el servidor web por excelencia, conocido de siempre, muy estable, muy seguro, fiable, muy configurable, hay muchos modulos que extienden y añaden funciones adicionales... lo tiene todo... pero claro... todo esa funcionalidad tiene un precio. Nosotros aquí vamos a proponer reemplazar esta pieza por Nginx. Nginx se ha utilizado típicamente como balanceador de carga y servidor proxy, pero cada día más gente está pasándose a Nginx utilizándolo directamente como servidor web. Veamos el porqué.
  12. Por una parte, si vemos esta gráfica en la que se compara el tiempo medio de respuesta por petición según el número de peticiones concurrentes va aumentando (y en este caso, estamos viendo un caso muy simple en el que se está sirviendo un fichero html simple), esto se debe a cómo están construidas ambas aplicaciones, mientras que apache tiene hebras o procesos que son las que atienden cada una de las peticiones, nginx aplica un enfoque muy distinto, y funciona basado en eventos. Gracias a ese enfoque consigue que el tiempo de respuesta se mantenga estable independientemente del número de peticiones. Pero eso no es lo mejor...
  13. Esto es lo que más sorprende. Fijaos en el consumo de recursos de un proceso y otro. Este es el gran motivo por el que utilizar nginx. No consume apenas memoria, y es capaz de gestionar miles de peticiones sin despeinarse. Eso sí, hay q tener en cuenta que con nginx estamos desligando el atender peticiones de la ejecución del código del servidor. Si necesitamos que nuestras páginas sean generadas dinámicamente (que raro sería lo contrario...) vamos a necesitar al menos otro proceso adicional que haga de intérprete ejecutor del código. Para ello podemos utilizar la interfaz FastCGI o uWSGI según la tecnología que utilicemos.
  14. Servir los ficheros estáticos es una tarea muy simple, no requiere ningún cálculo, si nos piden el fichero X hay que cogerlo y enviarlo. Si utilizamos Apache para realizar esta labor estaremos matando moscas a cañonazos. Esta labor se puede delegar a nginx, que es capaz de servir ficheros estáticos directamente. Pero... y si yo os dijera que existe un servicio que se puede contratar que permite alojar estos ficheros, y se encarga de replicarlo en multitud de servidores repartidos por el mundo y que de forma transparente para los usuarios y para nosotros se encarga de servir esos ficheros desde un servidor cercano al usuario, de forma que la velocidad con que se sirven estos ficheros es insuperable
  15. Servir los ficheros estáticos es una tarea muy simple, no requiere ningún cálculo, si nos piden el fichero X hay que cogerlo y enviarlo. Si utilizamos Apache para realizar esta labor estaremos matando moscas a cañonazos. Esta labor se puede delegar a nginx, que es capaz de servir ficheros estáticos directamente. Pero... y si yo os dijera que existe un servicio que se puede contratar que permite alojar estos ficheros, y se encarga de replicarlo en multitud de servidores repartidos por el mundo y que de forma transparente para los usuarios y para nosotros se encarga de servir esos ficheros desde un servidor cercano al usuario, de forma que la velocidad con que se sirven estos ficheros es insuperable
  16. Esas tareas no deben ejecutarse durante las peticiones de los usuarios, pues eso provocaría una saturación instantanea de la hebra que atendiera esa petición y lo que es más... pensad en YouTube, cuando subes un video en un formato X, youtube se encarga de procesarlo y convertirlo a otro formato, el FLV, ¿os imaginais que pasaría si de repente miles de usuarios subieran un video y tratásemos de procesarlos todos sobre la marcha? Pues como podeis sospechar, eso sobrecargaría la CPU y dejaría al servidor inservible, y por tanto, la página parecería caída. Este tipo de labores deben encolarse y procesarse por un número de limitado de “workers”, y si después de subir un video, te toca esperarte un rato... pues te esperas a que toque. Para esto existen los gestores de colas de tareas. Ahora mismo, el más extendido es Celery, que permite definir el numero de workers y se encarga de encolar las tareas, para luegor ir repartiendoselas a los workers. Lo mejor de este sistema, es que es muy facil de escalar, si necesitamos más capacidad de concurrencia, bastaría con añadir más workers (que pueden estar en otros equipos)
  17. Pensad en el Facebook / Tuenti o cualquier otro portal al que accedais frecuentemente. Existen multitud de zonas dentro de la página que se repiten a lo largo de la web, por ejemplo, un apartado de “ultimas noticias”, o “productos más vendidos”, o “ultimas entradas en twitter”... etc. Calcular esos elementos conlleva un coste computacional relativamente alto, pues implica lanzar una o más consultas a la base de datos para poder generar el html. Si ahora mismo, los productos más vendidos son A, B y C, dentro de un par de minutos, seguirán siéndolo, ¿verdad? Pues en lugar de calcularlo, lo que vamos a hacer es memorizar el html ya generado y durante un tiempo servirlo directamente, sin recalcularlo. Esto es, básicamente, lo que se conoce como caché de contenidos. Y es fundamental que lo apliquemos en nuestros proyectos. El rendimiento de las aplicaciones cambia drásticamente utilizando esta potente herramienta. Imaginaos, por ejemplo, un foro, con sus estadísticas en cada post, el numero de veces que se ha leido, el numero de respuestas que tiene, etc. y ahora, multiplicad eso por el numero de posts que hay un foro... si no fuera por la caché... ¿Quién gestiona esa caché? La aplicación más extendida para llevar a cabo esta labor es memcached.
  18. Hemos llegado al punto en que aparece ¡La nube! El famoso cloud en el que ahora parece que está todo. La nube está de moda! La cuestión ahora es... ¿Qué es la nube? ¿en qué se diferencia de un monton de servidores? Porque básicamente, la nube, es un conglomerado de servidores que podemos contratar para alojar nuestros proyectos... ¿y entonces?¿cuál es la novedad? ¿que tiene esto de nuevo? Imaginaos que soys unos informaticos frikis y gestionais un monton de servidores en los que dais alojamiento a clientes. Como buenos informáticos, somos flojos, muy flojos... y tendemos a automatizar las cosas todo lo posible, para trabajar lo mínimo... ¿verdad? Que sería lo más comodo? Tener un API, sencillica, que permita crear máquinas sobre la marcha, con las características que yo le pase como argumento, y que además, se le instale una imagen de disco concreta de forma automatica. Entonces fue cuando a alguien se le ocurrió la brillante idea de darle una vuelta más de tuerca y dar acceso a ese API a los usuarios. Pues, básicamente, eso es la nube, un API con la que podemos crear, borrar, hacer backups y de todo de maquinas completas, y todo así, en caliente.