SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Desarrollo en la nube
         Javier Nievas Muñoz
      CTO en Pynso | CTO en Hitsbook
                      jnievas@pynso.com
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
            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.

 Petición   Consulta(s)    Generar       Servir    Servir Media         Procesos
                                                   (Imgs, CSS, JS...)
GET/POST      BBDD          HTML         HTML                            largos

                                  Módulos           Streaming           Envío de
                                recurrentes                              emails
Intro
El problema
Todo esto consume recursos del servidor:
RAM + CPU + HDD + Red
Hosting
                   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:
                     Servidor compartido

                     Servidor virtual (VPS)

                     Servidor dedicado




Servidor compartido                Servidor virtual VPS                   Servidor dedicado
Desde 10€/mes                       Desde 30€/mes                          Desde 100€/mes
Poca capacidad                      Capacidad configurable                 Capacidad fija
Recursos limitados y compartidos    Recursos compartidos pero con          Recursos 100% disponibles
                                     reserva de unos mínimos
Hosting
                   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:
                     Servidor compartido

                     Servidor virtual (VPS)



                          ¡NO SON ESCALABLES!
                     Servidor dedicado




Servidor compartido                Servidor virtual VPS                   Servidor dedicado
Desde 10€/mes                       Desde 30€/mes                          Desde 100€/mes
Poca capacidad                      Capacidad configurable                 Capacidad fija
Recursos limitados y compartidos    Recursos compartidos pero con          Recursos 100% disponibles
                                     reserva de unos mínimos
Hosting
Escalabilidad
El gran problema...
Soluciones
Hay muchos problemas...
… que hay que resolver individualmente para conseguir
una plataforma realmente preparada.
  Servidor web
  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.
                               Consume mucha memoria
    Servidor web
    Servidor Base de Datos  Muchas opciones de configuración que




                                apenas se utilizan
   Servir ficheros estáticos
   Procesamiento
   Generar HTML
   Servidor

                    NGINX   + FastCGI / uWSGI
Soluciones
                           Servidor Web

   Servidor web
   Servidor Base de Datos
   Servir ficheros estáticos
   Procesamiento
   Generar HTML
   Servidor
Soluciones
                           Servidor Web

   Servidor web
   Servidor Base de Datos
   Servir ficheros estáticos
   Procesamiento
   Generar HTML
   Servidor
Soluciones
                   Servidor BBDD
                            Habitualmente se utiliza MySQL y PostGres. Ambos sistemas de BBDD
                            están diseñados para poder escalar.
                            Solución típica: utilizar varios equipos con versiones de sólo lectura
                            de la base de datos, y que todos escriban en una sola, que se

  Servidor web              encarga de replicarse en la demás.
  Servidor Base de Datos

  Servir ficheros estáticos
                            Otras opciones:


  Procesamiento              ● Cambiar de concepto, y pasarse a otro tipo de BBDD, las no
  Generar HTML

  Servidor                     relacionales / NoSQL. Ejemplos: MongoDB, SimpleDB, CouchDB

Soluciones
                 Servir MEDIA
                            NO utilizar Apache!!!
                               Es matar moscas a cañonazos!


    Servidor web               Podríamos usar nginx, pero tampoco es buena
    Servidor Base de Datos
                                idea...


    Servir ficheros estáticos
    Procesamiento
                               Es una tarea secundaria ¿y si externalizamos


    Generar HTML

    Servidor

                                este “marrón”?
                               Utilizar un CDN (p.e. Amazon S3)
Soluciones
                  Procesamiento
                              Las tareas que requieran un tiempo de
                              procesamiento elevado no pueden ejecutarse
   Servidor web              en “tiempo de petición”, deben delegarse y
    Servir ficheros estáticos ejecutarse en background.
   Servidor Base de Datos


                                Utilizar un gestor de colas de tareas puede
   Procesamiento
   Generar HTML
   Servidor
                                 ser una idea excelente
                                Por ejemplo: Celery + Redis
Soluciones
                  Generar HTML
                              Más del 90% del HTML que se genera visita
                              tras visita es igual al que se ha generado la
   Servidor web              última vez. ¿Por qué regenerar toda esa
    Servidor Base de Datos
    Servir ficheros estáticos información cuando podemos evitarnos esos




    Procesamiento
    Generar HTML              cálculos simplemente guardando el HTML
   Servidor
                              resultado?
                                Utiliza la caché! → memcached
Soluciones
                  Servidor
                              Si el servidor se te queda pequeño... amplíalo.
                              Si se te vuelve a quedar pequeño... vuelve a
   Servidor web              ampliarlo.
    Servidor Base de Datos
    Servir ficheros estáticos Si vuelve a quedarse pequeño... vuelve a




    Procesamiento
    Generar HTML              ampliarlo.
    Servidor

                              Y si se queda pequeño otra vez.. amplíalo más
Soluciones
                   Servidor
                              ¿y si ya no puedes ampliarlo más? → Contrata otro
                              servidor y reparte las tareas entre ambos.
                              ¿y si se queda pequeño con ese otro? → Contrata
    Servidor web
    Servidor Base de Datos otro más!


    Servir ficheros estáticos

   Procesamiento             ¿y si resulta que ahora ya me sobran 2 porque hoy
   Generar HTML
    Servidor
                              no hay apenas visitas? Erm... ¿me fastidio?

Soluciones
La nube al rescate!
La nube/cloud es el lugar ideal donde alojar este tipo de proyectos.
Nos proporciona una plataforma ideal donde servir nuestros
proyectos con capacidad para escalarlos “ilimitadamente”.
  Podemos disponer de tantas máquinas como necesitemos, en el
   momento en el que las necesitemos.
  Pagaremos realmente por el uso real que tenga nuestra plataforma
  Y lo mejor, es que podemos conseguir que se regule y ajuste de
   forma automágica.

   Por ejemplo: Amazon EC2
Soluciones
La nube al rescate!
En la “nube” podremos disponer de equipos que podemos arrancar bajo
demanda montando sobre ellos imágenes de disco previamente
preparadas. ¿Qué nos permite esto?
Si tenemos poca carga:
  1 servidor con el Nginx frontal y algunos procesos FastCGI/uWSGI
Si tenemos más carga:
  1 servidor con el nginx frontal
  X servidores con procesos FastCGI/uWSGI sirviendo la plataforma
Soluciones
La nube al rescate!
Arquitectura hiperflexible:
  Servidores frontales con un autobalanceador
  Servidores de aplicaciones (FastCGI/uWSGI)
  Servidores de tareas (Celery Workers)
  Granja de BBDD (Amazon RDS)
  Servidores de caché de contenidos (memcached o Amazon
   Elasticache)
Se supervisa gracias a Amazon CloudWatch
Se “autoescala” gracias a Amazon Auto Scaling en base a parámetros
de carga de los equipos configurables
Soluciones
La nube al rescate!
Arquitectura hiperflexible:
  Servidores frontales con un autobalanceador e IP elástica
  Servidores de aplicaciones (FastCGI/uWSGI)
  Servidores de tareas (Celery Workers)
  Granja de BBDD (Amazon RDS)
  Servidores de caché de contenidos (memcached)
Se supervisa gracias a Amazon CloudWatch
Se “autoescala” gracias a Amazon Auto Scaling en base a
parámetros de carga de los equipos configurables
La receta
Ingredientes
   Amazon EC2: Todos los servidores que necesites
   Amazon S3 + Cloudfront: Servir los Media
   Amazon RDS: Granja de BBDD
   Amazon SES: Envio de emails
   Amazon Elasticache: Caché de contenidos (memcached)
   Amazon CloudWatch + Amazon Auto Scaling: Para la magia

   ¿Todo con Amazon? En realidad hay más alternativas, pero Amazon
    ha sido pionero y por ello tienen más experiencia y mejor abanico
    de herramientas
Referencias
Mira qué hacen los demás...
                                     ...que lo mismo aprendes algo ;-)

 Muchos portales de los “grandes” tienen blogs en los que cuentan sus
  “batallas” contra los picos de visitas. Leelos. Empápate.
    ● Por ejempo, el proyecto Disqus o Tuenti


    ● http://www.kitchensoap.com/ (trabajó en Flickr)


 Hay muchos libros interesantes al respecto:
    ● Building Scalable Web Sites (by Cal Henderson)


    ● Scalable Internet Architectures (by Theo Schlossnagle)


    ● The Art of Scalability (by Martin L.Abbott)
Dudas
Aprovecha la ocasión...
                 ...y no te quedes con la duda



PREGUNTAD!                        :-)
Desarrollo en la nube

Más contenido relacionado

La actualidad más candente

Cloud Hosting: la nueva generación del hosting
Cloud Hosting: la nueva generación del hostingCloud Hosting: la nueva generación del hosting
Cloud Hosting: la nueva generación del hostingArsys
 
Plataformas de alta disponibilidad para agencias: Hosting Inteligente
Plataformas de alta disponibilidad para agencias: Hosting InteligentePlataformas de alta disponibilidad para agencias: Hosting Inteligente
Plataformas de alta disponibilidad para agencias: Hosting InteligenteArsys
 
Curso ofimática en la nube
Curso ofimática en la nubeCurso ofimática en la nube
Curso ofimática en la nubepcland
 
High performance Web Sites
High performance Web SitesHigh performance Web Sites
High performance Web SitesopenfinanceDev
 

La actualidad más candente (7)

Cloud Hosting: la nueva generación del hosting
Cloud Hosting: la nueva generación del hostingCloud Hosting: la nueva generación del hosting
Cloud Hosting: la nueva generación del hosting
 
Plataformas de alta disponibilidad para agencias: Hosting Inteligente
Plataformas de alta disponibilidad para agencias: Hosting InteligentePlataformas de alta disponibilidad para agencias: Hosting Inteligente
Plataformas de alta disponibilidad para agencias: Hosting Inteligente
 
Curso ofimática en la nube
Curso ofimática en la nubeCurso ofimática en la nube
Curso ofimática en la nube
 
Hostening
HosteningHostening
Hostening
 
Brandon
BrandonBrandon
Brandon
 
High performance Web Sites
High performance Web SitesHigh performance Web Sites
High performance Web Sites
 
Digital server 5
Digital server 5Digital server 5
Digital server 5
 

Destacado

La oración
La oraciónLa oración
La oracióngrego234
 
Grupo#3 gestalt
Grupo#3 gestaltGrupo#3 gestalt
Grupo#3 gestaltAr Kroly
 
Cuestionario chamo guaman 4 to ´´d´´
Cuestionario chamo guaman 4 to ´´d´´Cuestionario chamo guaman 4 to ´´d´´
Cuestionario chamo guaman 4 to ´´d´´jaffersonjaneta
 
I fattori determinanti per raggiungere i tuoi obiettivi (infografica + Bonus...
I fattori determinanti per raggiungere  i tuoi obiettivi (infografica + Bonus...I fattori determinanti per raggiungere  i tuoi obiettivi (infografica + Bonus...
I fattori determinanti per raggiungere i tuoi obiettivi (infografica + Bonus...Salvatore Castro
 
Trastornos específicos del lenguaje
Trastornos específicos del lenguajeTrastornos específicos del lenguaje
Trastornos específicos del lenguajeTami.Marimar
 
Th s31 041_nghiên cứu cập nhật hệ thống chỉ tiêu phát triển dân cư xã hội the...
Th s31 041_nghiên cứu cập nhật hệ thống chỉ tiêu phát triển dân cư xã hội the...Th s31 041_nghiên cứu cập nhật hệ thống chỉ tiêu phát triển dân cư xã hội the...
Th s31 041_nghiên cứu cập nhật hệ thống chỉ tiêu phát triển dân cư xã hội the...https://www.facebook.com/garmentspace
 
Say a little prayer
Say a little prayerSay a little prayer
Say a little prayerIvor Jones
 
La Gente Que Me Gusta
La Gente Que Me GustaLa Gente Que Me Gusta
La Gente Que Me GustaMiryana P.
 
Perspectivas del pensamiento educativo de mariátegui en el
Perspectivas del pensamiento educativo de mariátegui en elPerspectivas del pensamiento educativo de mariátegui en el
Perspectivas del pensamiento educativo de mariátegui en elErneztho Javiier
 
Electronica y circuitos tecnologia
Electronica y circuitos tecnologiaElectronica y circuitos tecnologia
Electronica y circuitos tecnologiacristiarcilacsj
 
Come Togliere i Freni Uscendo Dalla Zona di Comfort
Come Togliere i Freni Uscendo Dalla Zona di ComfortCome Togliere i Freni Uscendo Dalla Zona di Comfort
Come Togliere i Freni Uscendo Dalla Zona di ComfortSalvatore Castro
 
Ficha de trabajo situaciones con decimales
Ficha  de trabajo   situaciones con decimalesFicha  de trabajo   situaciones con decimales
Ficha de trabajo situaciones con decimalesLuis Chambi
 

Destacado (20)

La oración
La oraciónLa oración
La oración
 
Grupo#3 gestalt
Grupo#3 gestaltGrupo#3 gestalt
Grupo#3 gestalt
 
Proyecto
ProyectoProyecto
Proyecto
 
Cuestionario chamo guaman 4 to ´´d´´
Cuestionario chamo guaman 4 to ´´d´´Cuestionario chamo guaman 4 to ´´d´´
Cuestionario chamo guaman 4 to ´´d´´
 
I fattori determinanti per raggiungere i tuoi obiettivi (infografica + Bonus...
I fattori determinanti per raggiungere  i tuoi obiettivi (infografica + Bonus...I fattori determinanti per raggiungere  i tuoi obiettivi (infografica + Bonus...
I fattori determinanti per raggiungere i tuoi obiettivi (infografica + Bonus...
 
Brain drain
Brain drainBrain drain
Brain drain
 
Trastornos específicos del lenguaje
Trastornos específicos del lenguajeTrastornos específicos del lenguaje
Trastornos específicos del lenguaje
 
2008 2 53
2008 2 532008 2 53
2008 2 53
 
Th s31 041_nghiên cứu cập nhật hệ thống chỉ tiêu phát triển dân cư xã hội the...
Th s31 041_nghiên cứu cập nhật hệ thống chỉ tiêu phát triển dân cư xã hội the...Th s31 041_nghiên cứu cập nhật hệ thống chỉ tiêu phát triển dân cư xã hội the...
Th s31 041_nghiên cứu cập nhật hệ thống chỉ tiêu phát triển dân cư xã hội the...
 
Say a little prayer
Say a little prayerSay a little prayer
Say a little prayer
 
Producto final.
Producto final.Producto final.
Producto final.
 
Trabajo rn
Trabajo rnTrabajo rn
Trabajo rn
 
La Gente Que Me Gusta
La Gente Que Me GustaLa Gente Que Me Gusta
La Gente Que Me Gusta
 
Tarea nro. 14
Tarea nro. 14Tarea nro. 14
Tarea nro. 14
 
Agenda Visita de Coordinadores Regionales EUS
Agenda Visita de Coordinadores Regionales EUSAgenda Visita de Coordinadores Regionales EUS
Agenda Visita de Coordinadores Regionales EUS
 
Perspectivas del pensamiento educativo de mariátegui en el
Perspectivas del pensamiento educativo de mariátegui en elPerspectivas del pensamiento educativo de mariátegui en el
Perspectivas del pensamiento educativo de mariátegui en el
 
Electronica y circuitos tecnologia
Electronica y circuitos tecnologiaElectronica y circuitos tecnologia
Electronica y circuitos tecnologia
 
Come Togliere i Freni Uscendo Dalla Zona di Comfort
Come Togliere i Freni Uscendo Dalla Zona di ComfortCome Togliere i Freni Uscendo Dalla Zona di Comfort
Come Togliere i Freni Uscendo Dalla Zona di Comfort
 
Presentación2
Presentación2Presentación2
Presentación2
 
Ficha de trabajo situaciones con decimales
Ficha  de trabajo   situaciones con decimalesFicha  de trabajo   situaciones con decimales
Ficha de trabajo situaciones con decimales
 

Similar a Desarrollo en la nube

Servidores web 6ciclo
Servidores web 6cicloServidores web 6ciclo
Servidores web 6ciclojdavilac1959
 
Comercio electronico
Comercio electronicoComercio electronico
Comercio electronicoyimloushiant
 
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
 
Tecnologias y hosting gratuitos
Tecnologias y hosting gratuitosTecnologias y hosting gratuitos
Tecnologias y hosting gratuitosInstituto Puruhá
 
2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdf2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdfCarlosDavidMontellan
 
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPSWebinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPSArsys
 
Presentación Clase 2
Presentación Clase 2Presentación Clase 2
Presentación Clase 2Eric Menjivar
 
Whitepaper - Elige el servicio de hosting más indicado para tu proyecto
Whitepaper - Elige el servicio de hosting más indicado para tu proyectoWhitepaper - Elige el servicio de hosting más indicado para tu proyecto
Whitepaper - Elige el servicio de hosting más indicado para tu proyectoArsys
 
Alojamiento web(hosting)
Alojamiento web(hosting)Alojamiento web(hosting)
Alojamiento web(hosting)EFJJavier
 
Presentación Ariel Schvartzapel | Allytech - eCommerce IT Camp 2017
Presentación Ariel Schvartzapel | Allytech - eCommerce IT Camp 2017Presentación Ariel Schvartzapel | Allytech - eCommerce IT Camp 2017
Presentación Ariel Schvartzapel | Allytech - eCommerce IT Camp 2017eCommerce Institute
 
Hosting presentacion
Hosting presentacionHosting presentacion
Hosting presentacionwaltergo
 
Hosting presentacion
Hosting presentacionHosting presentacion
Hosting presentaciondaniel_skate8
 

Similar a Desarrollo en la nube (20)

servidores web
servidores webservidores web
servidores web
 
Servidores web 6ciclo
Servidores web 6cicloServidores web 6ciclo
Servidores web 6ciclo
 
Servidores web 6ciclo
Servidores web 6cicloServidores web 6ciclo
Servidores web 6ciclo
 
Aws PHPVigo
Aws PHPVigoAws PHPVigo
Aws PHPVigo
 
Servidores web
Servidores webServidores web
Servidores web
 
Comercio electronico
Comercio electronicoComercio electronico
Comercio electronico
 
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
 
Tecnologias y hosting gratuitos
Tecnologias y hosting gratuitosTecnologias y hosting gratuitos
Tecnologias y hosting gratuitos
 
2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdf2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdf
 
Servidor web
Servidor webServidor web
Servidor web
 
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPSWebinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
 
Presentación Clase 2
Presentación Clase 2Presentación Clase 2
Presentación Clase 2
 
Hosting Para Novatos
Hosting Para Novatos
Hosting Para Novatos
Hosting Para Novatos
 
Tarea4
Tarea4Tarea4
Tarea4
 
Whitepaper - Elige el servicio de hosting más indicado para tu proyecto
Whitepaper - Elige el servicio de hosting más indicado para tu proyectoWhitepaper - Elige el servicio de hosting más indicado para tu proyecto
Whitepaper - Elige el servicio de hosting más indicado para tu proyecto
 
Alojamiento web(hosting)
Alojamiento web(hosting)Alojamiento web(hosting)
Alojamiento web(hosting)
 
Hosting presentacion
Hosting presentacionHosting presentacion
Hosting presentacion
 
Presentación Ariel Schvartzapel | Allytech - eCommerce IT Camp 2017
Presentación Ariel Schvartzapel | Allytech - eCommerce IT Camp 2017Presentación Ariel Schvartzapel | Allytech - eCommerce IT Camp 2017
Presentación Ariel Schvartzapel | Allytech - eCommerce IT Camp 2017
 
Hosting presentacion
Hosting presentacionHosting presentacion
Hosting presentacion
 
Hosting presentacion
Hosting presentacionHosting presentacion
Hosting presentacion
 

Más de PideCurso

Facilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworksFacilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworksPideCurso
 
Dossier de Micropatrocinios de Nuevos Retos Sevilla
Dossier de Micropatrocinios de Nuevos Retos SevillaDossier de Micropatrocinios de Nuevos Retos Sevilla
Dossier de Micropatrocinios de Nuevos Retos SevillaPideCurso
 
Charla sobre experiencia de usuario
Charla sobre experiencia de usuarioCharla sobre experiencia de usuario
Charla sobre experiencia de usuarioPideCurso
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móvilesPideCurso
 
Curso de creación web para Dummies
Curso de creación web para DummiesCurso de creación web para Dummies
Curso de creación web para DummiesPideCurso
 
Advice For Selling WordPress Themes
Advice For Selling WordPress ThemesAdvice For Selling WordPress Themes
Advice For Selling WordPress ThemesPideCurso
 
Campaign targeting changes
Campaign targeting changesCampaign targeting changes
Campaign targeting changesPideCurso
 
Dossier de servicios de PideCurso
Dossier de servicios de PideCursoDossier de servicios de PideCurso
Dossier de servicios de PideCursoPideCurso
 

Más de PideCurso (8)

Facilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworksFacilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworks
 
Dossier de Micropatrocinios de Nuevos Retos Sevilla
Dossier de Micropatrocinios de Nuevos Retos SevillaDossier de Micropatrocinios de Nuevos Retos Sevilla
Dossier de Micropatrocinios de Nuevos Retos Sevilla
 
Charla sobre experiencia de usuario
Charla sobre experiencia de usuarioCharla sobre experiencia de usuario
Charla sobre experiencia de usuario
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móviles
 
Curso de creación web para Dummies
Curso de creación web para DummiesCurso de creación web para Dummies
Curso de creación web para Dummies
 
Advice For Selling WordPress Themes
Advice For Selling WordPress ThemesAdvice For Selling WordPress Themes
Advice For Selling WordPress Themes
 
Campaign targeting changes
Campaign targeting changesCampaign targeting changes
Campaign targeting changes
 
Dossier de servicios de PideCurso
Dossier de servicios de PideCursoDossier de servicios de PideCurso
Dossier de servicios de PideCurso
 

Último

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 

Último (20)

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 

Desarrollo en la nube

  • 1. Desarrollo en la nube Javier Nievas Muñoz CTO en Pynso | CTO en Hitsbook jnievas@pynso.com
  • 2. Bienvenidos Antes de empezar... ...algunos “keywords” Nube. Web 2.0. Servidor Web. Servidor de Base de datos. Caché. Aplicaciones Web. Hosting. Uptime. Amazon AWS.
  • 3. Bienvenidos TARGET Proyectos web con previsión de crecimiento en contenidos y visitas
  • 4. Objetivo MISIÓN Conseguir que la plataforma web esté online el 99% del tiempo
  • 5. Objetivo MISIÓN Conseguir que la plataforma web esté online el 99% del tiempo ¿Imposible?
  • 6. Intro 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. Petición Consulta(s) Generar Servir Servir Media Procesos (Imgs, CSS, JS...) GET/POST BBDD HTML HTML largos Módulos Streaming Envío de recurrentes emails
  • 7. Intro El problema Todo esto consume recursos del servidor: RAM + CPU + HDD + Red
  • 8. Hosting 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:  Servidor compartido  Servidor virtual (VPS)  Servidor dedicado Servidor compartido Servidor virtual VPS Servidor dedicado Desde 10€/mes Desde 30€/mes Desde 100€/mes Poca capacidad Capacidad configurable Capacidad fija Recursos limitados y compartidos Recursos compartidos pero con Recursos 100% disponibles reserva de unos mínimos
  • 9. Hosting 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:  Servidor compartido  Servidor virtual (VPS) ¡NO SON ESCALABLES!  Servidor dedicado Servidor compartido Servidor virtual VPS Servidor dedicado Desde 10€/mes Desde 30€/mes Desde 100€/mes Poca capacidad Capacidad configurable Capacidad fija Recursos limitados y compartidos Recursos compartidos pero con Recursos 100% disponibles reserva de unos mínimos
  • 11. Soluciones Hay muchos problemas... … que hay que resolver individualmente para conseguir una plataforma realmente preparada.  Servidor web  Servidor Base de Datos  Servir ficheros estáticos  Procesamiento / Envío de emails  Generar HTML  Servidor
  • 12. Soluciones Servidor Web Típicamente se ha utilizado Apache.  Consume mucha memoria Servidor web Servidor Base de Datos  Muchas opciones de configuración que   apenas se utilizan  Servir ficheros estáticos  Procesamiento  Generar HTML  Servidor  NGINX + FastCGI / uWSGI
  • 13. Soluciones Servidor Web  Servidor web  Servidor Base de Datos  Servir ficheros estáticos  Procesamiento  Generar HTML  Servidor
  • 14. Soluciones Servidor Web  Servidor web  Servidor Base de Datos  Servir ficheros estáticos  Procesamiento  Generar HTML  Servidor
  • 15. Soluciones Servidor BBDD Habitualmente se utiliza MySQL y PostGres. Ambos sistemas de BBDD están diseñados para poder escalar. Solución típica: utilizar varios equipos con versiones de sólo lectura de la base de datos, y que todos escriban en una sola, que se  Servidor web encarga de replicarse en la demás. Servidor Base de Datos  Servir ficheros estáticos Otras opciones:   Procesamiento ● Cambiar de concepto, y pasarse a otro tipo de BBDD, las no Generar HTML  Servidor relacionales / NoSQL. Ejemplos: MongoDB, SimpleDB, CouchDB 
  • 16. Soluciones Servir MEDIA NO utilizar Apache!!!  Es matar moscas a cañonazos!  Servidor web  Podríamos usar nginx, pero tampoco es buena Servidor Base de Datos idea...   Servir ficheros estáticos Procesamiento  Es una tarea secundaria ¿y si externalizamos   Generar HTML  Servidor este “marrón”?  Utilizar un CDN (p.e. Amazon S3)
  • 17. Soluciones Procesamiento Las tareas que requieran un tiempo de procesamiento elevado no pueden ejecutarse  Servidor web en “tiempo de petición”, deben delegarse y Servir ficheros estáticos ejecutarse en background.  Servidor Base de Datos   Utilizar un gestor de colas de tareas puede  Procesamiento  Generar HTML  Servidor ser una idea excelente  Por ejemplo: Celery + Redis
  • 18. Soluciones Generar HTML Más del 90% del HTML que se genera visita tras visita es igual al que se ha generado la  Servidor web última vez. ¿Por qué regenerar toda esa Servidor Base de Datos Servir ficheros estáticos información cuando podemos evitarnos esos     Procesamiento Generar HTML cálculos simplemente guardando el HTML  Servidor resultado?  Utiliza la caché! → memcached
  • 19. Soluciones Servidor Si el servidor se te queda pequeño... amplíalo. Si se te vuelve a quedar pequeño... vuelve a  Servidor web ampliarlo. Servidor Base de Datos Servir ficheros estáticos Si vuelve a quedarse pequeño... vuelve a     Procesamiento Generar HTML ampliarlo. Servidor  Y si se queda pequeño otra vez.. amplíalo más
  • 20. Soluciones Servidor ¿y si ya no puedes ampliarlo más? → Contrata otro servidor y reparte las tareas entre ambos. ¿y si se queda pequeño con ese otro? → Contrata Servidor web Servidor Base de Datos otro más!   Servir ficheros estáticos   Procesamiento ¿y si resulta que ahora ya me sobran 2 porque hoy  Generar HTML Servidor no hay apenas visitas? Erm... ¿me fastidio? 
  • 21. Soluciones La nube al rescate! La nube/cloud es el lugar ideal donde alojar este tipo de proyectos. Nos proporciona una plataforma ideal donde servir nuestros proyectos con capacidad para escalarlos “ilimitadamente”.  Podemos disponer de tantas máquinas como necesitemos, en el momento en el que las necesitemos.  Pagaremos realmente por el uso real que tenga nuestra plataforma  Y lo mejor, es que podemos conseguir que se regule y ajuste de forma automágica.  Por ejemplo: Amazon EC2
  • 22. Soluciones La nube al rescate! En la “nube” podremos disponer de equipos que podemos arrancar bajo demanda montando sobre ellos imágenes de disco previamente preparadas. ¿Qué nos permite esto? Si tenemos poca carga:  1 servidor con el Nginx frontal y algunos procesos FastCGI/uWSGI Si tenemos más carga:  1 servidor con el nginx frontal  X servidores con procesos FastCGI/uWSGI sirviendo la plataforma
  • 23. Soluciones La nube al rescate! Arquitectura hiperflexible:  Servidores frontales con un autobalanceador  Servidores de aplicaciones (FastCGI/uWSGI)  Servidores de tareas (Celery Workers)  Granja de BBDD (Amazon RDS)  Servidores de caché de contenidos (memcached o Amazon Elasticache) Se supervisa gracias a Amazon CloudWatch Se “autoescala” gracias a Amazon Auto Scaling en base a parámetros de carga de los equipos configurables
  • 24. Soluciones La nube al rescate! Arquitectura hiperflexible:  Servidores frontales con un autobalanceador e IP elástica  Servidores de aplicaciones (FastCGI/uWSGI)  Servidores de tareas (Celery Workers)  Granja de BBDD (Amazon RDS)  Servidores de caché de contenidos (memcached) Se supervisa gracias a Amazon CloudWatch Se “autoescala” gracias a Amazon Auto Scaling en base a parámetros de carga de los equipos configurables
  • 25. La receta Ingredientes  Amazon EC2: Todos los servidores que necesites  Amazon S3 + Cloudfront: Servir los Media  Amazon RDS: Granja de BBDD  Amazon SES: Envio de emails  Amazon Elasticache: Caché de contenidos (memcached)  Amazon CloudWatch + Amazon Auto Scaling: Para la magia  ¿Todo con Amazon? En realidad hay más alternativas, pero Amazon ha sido pionero y por ello tienen más experiencia y mejor abanico de herramientas
  • 26. Referencias Mira qué hacen los demás... ...que lo mismo aprendes algo ;-)  Muchos portales de los “grandes” tienen blogs en los que cuentan sus “batallas” contra los picos de visitas. Leelos. Empápate. ● Por ejempo, el proyecto Disqus o Tuenti ● http://www.kitchensoap.com/ (trabajó en Flickr)  Hay muchos libros interesantes al respecto: ● Building Scalable Web Sites (by Cal Henderson) ● Scalable Internet Architectures (by Theo Schlossnagle) ● The Art of Scalability (by Martin L.Abbott)
  • 27. Dudas Aprovecha la ocasión... ...y no te quedes con la duda PREGUNTAD! :-)