eShow Barcelona - WordPress Hiperescala

download eShow Barcelona - WordPress Hiperescala

of 31

  • date post

    11-Apr-2017
  • Category

    Technology

  • view

    128
  • download

    2

Embed Size (px)

Transcript of eShow Barcelona - WordPress Hiperescala

  • WP Hiperescala

    //CloudMas/Efraim_Martinez/Cloud_Transformation_Director

    Page 1Monday, 27 March 2017

  • Page 2

    @cloudmas

    @arspermeable

    #eShowBCN17

    Monday, 27 March 2017

  • Por qu un seminario sobre WP hiperescala?

    Un CMS muy usado y til para servicios de todoslos tamaos

    Una herramienta simple, facilita ver cmo encajacada pieza y las ventajas que generan

    El proceso se puede repetir para otras soluciones

    Mapea una transformacin a la nube tal y comoCloudMas la plantea a sus clientes: Experimentar, mejorar, ampliar

    Monday, 27 March 2017 Page 3

  • Vayamos por partes

    El WordPress ms simple en AWS con algunas pequeas mejoras en rendimiento y fiabilidad

    Mejorar el rendimiento y prestaciones en Cloud CloudFront como red de entrega de contenidos ElastiCache para almacenamiento temporal de la base de datos

    Mejorar la fiabilidad y escalabilidad en Cloud Separar la capa de web y datos en WordPress Escalado automtico y resistencia a fallos de cada capa

    De aqu en adelante Aspectos de la arquitectura que quedan pendientes

    Page 4Monday, 27 March 2017

  • Qu es WordPress?

    (porque a lo mejor, alguien no sabe qu es wordpress)

    Page 5Monday, 27 March 2017

  • Qu es wordpress?

    La primera versin se lanza en 2003, como un motor de blogs de software libre (FOSS = Open Source) 2003: Se crea WordPress como un fork de B2 Cafelog 2003: Sistema de plugins, extiende funcionalidad 2005: Sistema de temas y pgs estticas, extiende visualizacin 2007: Nuevo UI para el backend, UX completamente rediseada 2010: Nueva gestin de mens y tipos de posts personalizados

    Actualmente es uno de los CMS ms populares 27% de los sitios web del mundo usan WordPress

    Tambin es un ecosistema de desarrollo, Cientos de miles de desarrolladores

    Page 6Monday, 27 March 2017

  • WP en Amazon Web Services

    Page 7Monday, 27 March 2017

  • La versin ms simple de WP en AWS

    Utilizamos EC2 para instalar una pila LAMP + WP LAMP = Linux + Apache + MySQL + PHP

    Qu mquina utilizar? Depende de la carga estimada (CPU/mem/disk/network) Para una instancia independiente, T2 M3 puede ser suficiente Si necesita escalar, hay que parar la mquina y cambiar el tipo

    Qu imagen utilizar? (AMI)) La imagen bsica de Amazon Linux es suficiente Hay imgenes en el Marketplace con todo lo necesario preinstalado Se puede crear una AMI tras la instalacin y configuracin

    Page 8Monday, 27 March 2017

  • La versin ms simple de WP en AWSVentajas e inconvenientes

    Ventajas Control total sobre la arquitectura (versiones, configuracin)

    Inconvenientes Todos los elementos de la pila se instalan, configuran y mantienen

    manualmente (aunque parte se puede automatizar) Menor escalabilidad, que adems requiere interrupcin de servicio

    Page 9Monday, 27 March 2017

  • La versin ms simple de WP en AWSEsquema de la arquitectura

    Page 10Monday, 27 March 2017

  • Mejorando las prestaciones de WP en AWS

    Page 11Monday, 27 March 2017

  • Utilizando Amazon CloudFront (CDN) con WP

    CloudFront es un servicio de CDN gestionado por Amazon El usuario realiza la peticin a CloudFront CloudFront sirve el contenido desde una ubicacin de lmite (edge) Si no dispone del contenido, lo recupera desde un origen, y lo

    almacena temporalmente siguiendo las polticas fijadas Las siguientes consultas se sirven desde el edge

    Con algunos servicios adicionales Posibilidad de incluir servicios de WAF Cachs intermedias de contenidos Amazon Lambda at the edge

    Page 12Monday, 27 March 2017

  • Amazon CloudFront con Contenido Esttico

    Contenido esttico WordPress: CSS, javascript y media

    Dnde almacenar los contenidos estticos? Servidor web Bucket S3 de altsima fiabilidad (11-9 durabilidad, 5-9 acceso)

    Integracin de WordPress con S3 WordPress no se integra directamente con S3 La integracin es sencilla, manual o con plugin (ej. W3 Total Cache)

    Esta configuracin libera carga de los servidores EC2 y convierte WordPress en completamente stateless

    Page 13Monday, 27 March 2017

  • Amazon CloudFront con Contenido Dinmico

    Contenido dinmico WordPress: HTML generado por los scripts PHP del servidor WP

    Tambin se puede servir va CloudFront Aegurar se que CloudFront reenva al servidor las cabeceras HTTP y

    las cookies necesarias para generar el contenido adecuado

    En este caso, el origen de datos de CloudFront es la instancia EC2 en la que est alojada el servidor WordPress

    Page 14Monday, 27 March 2017

  • Cach de contenido de las bases de datos

    Wordpress no cachea de forma nativa y por defecto el contenido de la base de datos

    Sin embargo, mediante plugins, es sencillo integrar WordPress con Memcached, un sistema de cacheo en memoria

    Amazon ElastiCache es un servicio de cach en memoria gestionado compatible con Memcached, de alta disponibilidad al poder utilizar varias zonas de disponibilidad

    El mismo plugin W3 Total Cache puede realizar esta integracin

    Page 15Monday, 27 March 2017

  • Esquema de una arquitectura WPOptimizado con CDN y cach

    Page 16Monday, 27 March 2017

  • Mejorando la fiabilidad y escalabilidadde WP con Amazon Web Services

    Page 17Monday, 27 March 2017

  • Dividir Wordpress en tiers: Web + Base de datos

    Los tiers web y de base de datos tienen requerimientos muy diferentes que pueden optimizarse con familias AWS C4 (optimizada para computacin) es una mejor opcin para web R3 (optimizada para memoria) es mejor opcin para bbdd

    Con esta arquitectura, es sencillo introducir una base de datos gestionada de AWS Amazon RDS MySQL Amazon Aurora

    Page 18Monday, 27 March 2017

  • Escalando el Tier de Datos:Mltiples Zonas de Disponibilidad

    Mejorar la disponibilidad: Amazon RDS MultiAZ Copia rplica esclava que aumenta la fiabilidad del sistema En caso de error, la copia esclava toma el servicio tras un failover Cada copia deber estar en una zona de disponibilidad diferente

    Escalando el tier de datos En caso de requerir ms potencia en la base de datos se puede

    utilizar una instancia mayor o bien utilizar IOPS provisionados.

    Mejorar el rendimiento: Amazon RDS con Read Replica Mejora el acceso para lectura En caso de problema, el failover a la copia de lectura es manual WordPress no utiliza mltiples bases de datos por defecto, se

    requiere el uso de un plugin especficoPage 19Monday, 27 March 2017

  • Escalabilidad y disponibilidad del tier de datos:Amazon Aurora

    Amazon Aurora es un motor de base de datos compatible con MySQL y Posgress

    Ana el concepto de copia de lectura y escritura Posibilidad de hasta 15 rplicas

    Proporciona un end-point para escritura y otro para lectura nicos

    A travs de estos end-points se consigue escalabilidad y fiabilidad simultneamente

    Page 20Monday, 27 March 2017

  • Escalabilidad y disponibilidad del tier Web:Grupos de autoescalado y balanceo de carga

    La infraestructura de AWS es elstica No es necesario provisionar para los picos de carga

    Grupos de autoescalado Pueden lanzarse o pararse nuevas instancias en funcin de la carga Las instancias se lanzan en diferentes zonas de disponibilidad

    Balanceador de carga (ELB) Servicio gestionado de Amazon Punto de entrada a un grupo de autoescalado Detecta instancias que no pueden dar servicio y dejar de enviar

    peticiones a estas

    Page 21Monday, 27 March 2017

  • Aplicaciones stateless y WordPress

    Para que los grupos de autoescalado y el balanceador de carga funcionen, la aplicacin web tiene que ser stateless

    No puede depender de informacin almacenada localmente para persistir sesiones HTTP O bien almacena en el cliente (cookies) O bien en algn tipo de almacenamiento persistente (BBDD)

    Por suerte, WordPress es completamente stateless (a menos que se utilice algn plugin que use sesiones nativas PHP)

    Para UGC multimedia (uploads), no Se requiere sincronizar con almacenamiento compartido o

    almacenar en S3 (manualmente o con plugin)

    Page 22Monday, 27 March 2017

  • Esquema de una arquitectura WP con capas web+db separadas

    Page 23Monday, 27 March 2017

  • Y ahora, todo junto: WP Hiperescala

    Page 24Monday, 27 March 2017

  • Esquema de una arquitectura WP Hiperescala

    Page 25Monday, 27 March 2017

  • Lo que ha quedadopendiente

    Monday, 27 March 2017 Page 26Page 26

  • Cosas que han quedado fuera de alcance

    Mtodos de backup y restore de las mquinas

    Securizacin y bastionado de toda la plataforma Wordpress MySQL Servidores Redes

    Consolidacin y monitorizacin de logs de la plataforma

    Entornos de pre-produccin y staging

    Page 27Monday, 27 March 2017

  • Servicios AWS usados en esta

    arquitectura

    Page 28Page 28Monday, 27 March 2017

  • Servicios utilizados a lo largo de la construccin de una arquitectura para WP

    Elastic Load Balancer (ELB) AutoScaling Groups Elastic Compute Cloud

    (EC2) Elastic Block Storage

    (EBS) Simple Storage Services

    (S3) Amazon ElastiCache Amazon RDS

    Amazon Aurora Amazon Route 53 Amazon Elastic IP Amazon VPC

    (Virtual Private Cloud) Security Groups Network ACLs Amazon CloudFront

    Page 29Monday, 27 March 2017

  • @cloudmas Stand #48

    Quiere migrar a Cloud un servicio IT

    Su IT tradicional no sirve para sus nuevos proyectos de negocio

    Quiere transformar su infraestructura IT para que sea ms gil, rpida y eficiente

    Acrquese y comparta su proy