Loading…
Transcript

Implementación distribuida de un portal Web usando CDN

INTEGRANTES:

+Glen Vallejo

+Moriel Ruiz

+Mariuxi Piguave Salinas

+Plúa Alcantaro Jorge

+Pangay Bustamante Bryan

+Eric Moya

+Valeska Haro Delgado

QUE ES CDN?

Un CDN es, de forma muy resumida, un conjunto de servidores distribuidos por todo el planeta y conectados entre ellos a través de Internet.

Es un servicio rápido de red de entrega de contenido (CDN) que distribuye a clientes globalmente datos, vídeos, aplicaciones y API de forma segura, con baja latencia, altas velocidades de transferencia y dentro de un entorno fácil para desarrolladores.

CDN

Características del servicio de CDN

Mission Statement

  • Solución diseñada e implementada por nuestro equipo especializado en soluciones cloud sobre Amazon Web Services
  • Caching de contenidos estáticos y dinámicos
  • Compatibilidad con servicios de streaming como Adobe Media Server, Microsoft Live Smooth Streaming y Wowza Streaming Engine
  • Más de 50 puntos de distribución a nivel mundial
  • Uso eficiente de los puntos de entrega de tráfico para minimizar el coste
  • Reducción de tiempos de carga de datos para mejorar la experiencia de los usuarios finales
  • Configuración de certificados SSL personalizados para AWS CloudFront
  • Monitorización y reporting de estadísticas de tráfico

Beneficios

Our Locations

  • Rápido y global

La red de entrega de contenido (CDN) de Amazon CloudFront ajusta su escala de forma masiva y está distribuida en todo el mundo.

  • Seguridad en el borde

Amazon CloudFront es una CDN de alta seguridad que proporciona protección a nivel de la red y de la aplicación.

  • Alta capacidad de programación

Las características de Amazon CloudFront se pueden personalizar en función de los requisitos específicos de sus aplicaciones. Las funciones de Lambda@Edge, activadas mediante eventos de CloudFront, amplían su código personalizado mediante ubicaciones de AWS en todo el mundo.

CASOS PRACTICOS

Organization

Son programas que se usan como red de entrega de contenidos.

COMPONENTES QUE INTERVIENEN EN SOLUCIÓN

COMPONENTES

AMAZON AWS

AWS

Es una colección de servicios de computación en la nube pública (también llamados servicios web) que en conjunto forman una plataforma de computación en la nube, ofrecidas a través de Internet por Amazon.com.

HERRAMIENTAS

• Cloud computing

• Almacenamiento y gestores de contenido

HERRAMIENTAS

• Inteligencia de negocios

• Bases de datos

• Gestión de aplicaciones móviles

• Creación de redes virtuales

AMAZON CLOUD FRONT

Es un servicio rápido de red de entrega de contenido (CDN) que distribuye a clientes globalmente datos, vídeos, aplicaciones y API de forma segura, con baja latencia, altas velocidades de transferencia y dentro de un entorno fácil para desarrolladores.

• Carga de contenidos desde el servidor de origen:

Los contenidos se cargan desde el servidor web que aloja la web, es el método más simple, más barato y recomendable para la mayoría de los sitios web.

FORMAS DE TRABAJO

• Carga de contenidos mediante Amazon S3:

contenidos primero se cargan en Amazon S3 y posteriormente desde ahí se sirven a los visitantes a través de Amazon CloudFront.

WORDPRESS

WORDPRESS

Es un sistema de gestión de contenidos (CMS) que permite crear y mantener un blog u otro tipo de web.

Dispone de un sistema de plugins, que permiten extender las capacidades de WordPress, de esa forma se consigue un CMS más flexible.

Permiten crear webs y sus contenidos de una forma visual, sin tener que programar, de una manera parecida a cómo se trabaja en un editor de texto moderno.

UTILIDAD

Cartas de Venta

Blogs

Páginas corporativas

UTILIDAD

Sitios web más “estáticos” o tradicionales

Entre otros.

Tiendas virtuales

(e-commerce)

PLUGIN DOMAIN SHARDING (CARGA ASÍNCRONA)

DOMAIN SHARDING

Es una técnica que se puede aplicar de forma gratuita y lograr optimizar la carga de WordPress de una forma bastante notoria. La técnica se basa en la carga paralela mediante el uso de una única conexión TCP. En vez de procesar el tratamiento de archivos uno por uno, haremos que el servidor procese varios elementos a la par. En vez de cargar primero un archivo HTML, luego otro JS, otro JS, un CSS, otro HTML, ahora conseguiremos cargar todos a la vez. Vamos a lograr realizar una carga paralelizada.

FUNCIONAMIENTO

El domain sharding se rige con el principio de simular un CDN. Se simulará con un mismo dominio y su subdominio montar subdominios y hacerlos funcionar como si de de un servidor CDN fueran. Podemos especificar para cada subdominio que tipo de archivos van a procesar.

FUNCIONAMIENTO

• El subdominio cdn1 (cdn1.optimizarwordpress.com) cargue los elementos JS

• El subdominio cdn2 (cdn2.optimizarwordpress.com) cargue los elementos CSS

• El subdominio cdn3 (cdn3.optimizarwordpress.com) cargue los elementos HTML

• El subdominio cdn4 (cdn4.optimizarwordpress.com) cargue los elementos Imágenes

EJEMPLO

PING DOM TOOLS

Página web creada para realizar pruebas de velocidad del sitio web para ayudarnos a analizar la velocidad de carga del sitio web.

La prueba está diseñada para ayudar a que el sitio sea más rápido al identificar qué pasa con una página web que es rápida, lenta, demasiado grande, etc

Se puede monitorear el tiempo de actividad, el rendimiento y las interacciones de los sitios web para una mejor experiencia del usuario final.

CDN

Servicios CDN gratis en internet para acelerar un blog o sitio web

Todos los blogs o sitios web cuyos lectores se encuentren dispersos geográficamente y que entreguen en sus páginas contenido multimedia, como son las imágenes, flash, videos u otros objetos, necesitan disponer de un servicio CDN para lograr que las páginas carguen más rápido en los navegadores de sus usuarios, no importa su ubicación.

De hecho todos los sitios importantes de internet que sirven contenido como Facebook, Amazon, Flickr, no pudieran funcionar eficientemente si no tuvieran su propia red de distribución CDN

Servicios CDN Y

Domain Sharding

¿Qué es un servicio CDN?

CDN es la abreviatura de Content Delivery Network, en español Red de Distribución de Contenidos, no es más que una red de servidores web conectados entre si, pero dispersos geográficamente, que almacenan el contenido de un sitio para entregarlo de forma más eficiente.

El objetivo es situar el contenido de la información más cerca de los usuarios, la tecnología se conoce como Anycast.

Almacenan y guardan en cache todo tipo de datos, texto, imágenes, videos, scripts, pdf, flash, archivos para descargar y lo sirven directamente dependiendo de la ubicación del usuario.

Ventajas de usar un servicio CDN

Las ventajas son evidentes:

• Más rapidez en la carga de las páginas

• Más rapidez en la entrega de datos

• Acceder a un sitio aunque el servidor original este caído o sin servicio

• Más seguridad y protección de los sitios que quedan de cierta forma tras la valla de la red CDN

• Disminución del ancho de banda contratado al servidor y por lo tanto el costo del servicio de hosting

• Estadísticas relativas a la procedencia de los usuarios más exactas

Servicios CDN disponibles de forma gratis en internet

La mayoría de los servicios CDN son de pago, es lógico por el costo que conlleva el funcionamiento y mantenimiento de una red de servidores, no obstante existen algunos de ellos que se pueden utilizar sin costo alguno.

Se pueden beneficiar de sus ventajas los que tienen un sitio web pequeño o poseen un blog de internet con usuarios provenientes de toda el área hispana.

Como es lógico el mejor servicio y la protección adicional de seguridad que ofrecen, solo se obtendrá pagando.

No obstante el servicio gratis mejora considerablemente el rendimiento de cualquier sitio.

CDN de AMP

Servicio CDN creado por el nuevo proyecto de Páginas Aceleradas para Móviles (AMP).

El objetivo es facilitar la creación de páginas que se carguen a más velocidad en los dispositivos portables. Es un proyecto de código abierto para todos los publicadores.

Las páginas que usen este sistema tienen que adoptar un marcado HTML específico modificado, con algunas restricciones.

Este CDN entrega los archivos y contenido estático de las páginas usando HTTP/2, para mejorar el rendimiento.

Domain Sharding

Domain Sharding

La carga de los elementos de la web se realiza desde varios subdominios que apuntan SI o SI al mismo servidor, es decir, al servidor que sirve la web, donde están añadidos como ALIAS o CNAMEs para apuntar al dominio de la web. Además, tenemos la ventaja de que al implementar Domain Sharding, los elementos que se carguen desde los subdominios se cargan sin ningún tipo de cookies.

DOMAIN SHARDING EN WORDPRESS

La forma más normal de implementar Domain Sharding en WordPress es usando el plugin que justamente se llama Domain Sharding y que sirve solo para eso.

Domain Sharding es un plugin para WordPress que nos permite hacer carga paralela a través de una serie de subdominios numerados y permite redireccionar el tráfico directo a esos subdominios directamente al dominio principal

¿QUÉ ES?

CloudFlare es un sistema gratuito que actúa como un proxy (intermediario) entre los visitantes del sitio web y el servidor. Al actuar como un proxy.

CloudFlare guarda temporalmente contenido estático del sitio, el cual disminuye el número de peticiones al servidor pero sigue permitiendo a los visitantes el acceso al sitio.

CLOUDFLARE

CARACTERÍSTICAS

Los servicios de seguridad y funcionamiento de Cloudflare trabajan conjuntamente para reducir la latencia de los sitios web, las aplicaciones móviles y las API de extremo a extremo, a la vez que protegen contra ataques DDoS, bots abusivos y violaciones de datos..

CARACTE-RíSTICAS

RENDIMIENTO

Los servicios de funcionamiento de Cloudflare mejoran las conversiones, reducen el abandono y mejoran las experiencias de los visitantes al acelerar el rendimiento web y móvil, a la vez que mantienen las aplicaciones disponibles.

Red de entrega de contenido (CDN)

Con 200 centros de datos en 90 países, la CDN Anycast de Cloudflare almacena en caché el contenido estático en el extremo, reduciendo la latencia mediante la entrega de recursos lo más cerca posible geográficamente de los visitantes.

Red de entrega de contenido (CDN)

Equilibrio de carga

El equilibrio de carga de Cloudflare proporciona equilibrio de carga, geo-steering, control y conmutación por error para entornos individuales, de nube híbrida y de múltiples nubes, mejorando el funcionamiento y la disponibilidad.

Equilibrio de

carga

Optimización web

Cloudflare incluye un conjunto de optimizaciones web para mejorar el rendimiento de los recursos de Internet. Las optimizaciones incluyen los últimos estándares web, como HTTP/2 y TLS 1.3, así como mejoras particulares para imágenes y visitantes de dispositivos móviles

Optimización web

SEGURIDAD

SEGURIDAD

Los servicios de seguridad de Cloudflare reducen el riesgo de pérdida de clientes, disminución de ingresos y degradación de la marca mediante la protección contra ataques DDoS, bots abusivos y violaciones de datos.

Red Anycast

Con 200 centros de datos en 90 países y 35 Tbps de capacidad, la red Anycast de Cloudflare absorbe el tráfico de ataque distribuido al dispersarlo geográficamente, mientras mantiene las propiedades de Internet disponibles y en funcionamiento.

Red Anycast

DNSSEC

DNSSEC

DNSSEC es el identificacior de llamadas no falsificable de Internet. Garantiza que el tráfico de una aplicación web se enruta de manera segura a los servidores correctos para que los visitantes del sitio no sean interceptados por un atacante intermediario oculto.

Firewall

de aplicaciones web

Firewall de aplicaciones web (WAF)

El firewall de aplicaciones web (WAF) de grado empresarial de Cloudflare detecta y bloquea las vulnerabilidades comunes de la capa de aplicación en el extremo de la red, utilizando los OWASP Top 10, conjuntos de reglas personalizadas y específicas de la aplicación.

Este CDN es único porque es una arquitectura masiva a escala horizontal en la que cada nodo puede realizar Solicitudes de DNS, controles de seguridad y transformaciones de rendimiento. Además, Cloudflare emplea Anycast enrutamiento para garantizar que los usuarios de la web se enruten automáticamente a su centro de datos más cercano y en caso de fallas.

DISTRIBUCIÓN DE CLOUDFLARE EN TODO EL MUNDO

¿CÓMO VIAJA LA INFORMACIÓN DESDE CLOUDFRAME HASTA EL CLIENTE?

VENTAJAS

  • Protección contra amenaza (firewall)
  • Filtros por reglas (ip, país, ISP)
  • Alerta a visitantes de computadoras infectadas
  • Captcha automático
  • Modo de navegación offline en caso de caída de servidores
  • Estadísticas de uso y ahorro

VENTAJAS

Ahora vamos a ver cómo implementar CloudFlare en tu sitio web paso a paso.

Lo primero que vamos a hacer es crear una nueva cuenta de CloudFlare.

IMPLEMEN-TACIÓN

En el primer paso del asistente debemos introducir el nombre o nombres de dominio que queremos añadir:

1

En el siguiente paso podremos ver un listado con los registros que ha escaneado CloudFlare en el actual servidor DNS, lo que puede aparecer es muy variable, ya que, depende al 100% del propio servidor y de la configuración previa de registros.

2

Seleccionamos el modo gratuito y pulsamos el botón “Continue” para avanzar al siguiente paso.

3

debemos cambiar los DNS de nuestro dominio en nuestro registrador.

4

Una vez propagadas las DNS y cuando realmente CloudFlare está funcionando correctamente, esto cambiará y nos aparecerá el dashboard o panel de control de CloudFlare de la siguiente forma:

5

Con esto tendremos configurado CloudFlare en nuestro sitio web, sea cual sea el CMS, da igual que sea WordPress, que Prestashop, que Magento o Drupal, incluso si se trata de desarrollo propio en PHP o en el lenguaje que quieras.

¿Que es Templates?

Una plantilla de AWS CloudFormation es un archivo de texto formateado en lenguaje JSON o YAML que describe su infraestructura de AWS. Para crear, ver y modificar plantillas, puede usar AWS CloudFormation Designer o cualquier herramienta de edición de texto.

TEMPLATES

JSON

YAML

Componentes

Componentes de una Plantilla

Versión de formato: Define la capacidad de una plantilla.

Descripción: Cualquier comentario sobre su plantilla se puede especificar en la descripción.

Metadatos: Se pueden usar en la plantilla para proporcionar más información utilizando objetos JSON o YAML.

Parametro: Cada vez que crea o actualiza su pila, los parámetros lo ayudan a darle valores personalizados a su plantilla en tiempo de ejecución.

Asignaciones: Permite asignar claves a un valor con nombre correspondiente que especifique en un parámetro condicional

Condiciones: Definen si se crean ciertos recursos o cuándo las propiedades de los recursos se asignan a un valor durante la creación o actualización de la pila

Transformar: Crea un lenguaje declarativo simple y permite la reutilización de componentes de plantilla

Recursos: Puede declarar el recurso de AWS que desea crear y especificar en la pila

Salidas: Describe los valores de salida que puede importar a otras pilas o los valores que se devuelven

Fragmentos de una Plantilla

Fragmentos

Descripción basada en cadena literal

Muestra una declaración válida de la sección Descripción donde el valor se basa en una cadena literal.

JSON

"Description" : "Replace this value"

YAML

Description: "Replace this value"

Versión de formato de plantilla

El siguiente fragmento muestra una declaración de sección de Versión de formato de plantilla válida.

JSON

"AWSTemplateFormatVersion" : "2010-09-09"

YAML

AWSTemplateFormatVersion: '2010-09-09'

Ejemplos

Sección de parámetros con un parámetro de cadena literal

El siguiente ejemplo muestra una declaración válida de la sección parámetros en la que String se declara un único parámetro de tipo.

JSON

YAML

Macros

Macros

Las macros le permiten realizar un procesamiento personalizado en las plantillas, desde acciones simples como operaciones de búsqueda y reemplazo hasta transformaciones extensas de plantillas enteras.

Include Transform le permite insertar fragmentos de plantilla estándar en sus plantillas.

Serverless Transform toma una plantilla completa escrita en la sintaxis del Modelo de aplicación sin servidor de AWS (AWS SAM) y la transforma y expande en una plantilla de AWS CloudFormation compatible

Conditions, Outputs, Change Set

Conditions

La sección opcional Conditions contiene declaraciones que definen las circunstancias por las que se crean o configuran entidades.

Conditions

JSON

YAML

"Conditions" :

{

"Logical ID" : {Intrinsic function}

}

Conditions:

Logical ID:

Intrinsic function

EJEMPLO

puede crear una condición y, a continuación, asociarla a un recurso o salida de manera que AWS CloudFormation solo cree el recurso o salida si la condición es true.

OUTPUTS

La sección Outputs opcional declara valores de salida que puede importar a otras pilas (para crear referencias cruzadas de pilas devolver en respuesta (para describir las llamadas a la pila), o ver en la consola de AWS Cloud Formation

OUTPUTS

JSON

YAML

"Outputs" : {

"Logical ID" : {

"Description" : "Information about the value",

"Value" : "Value to return",

"Export" : {

"Name" : "Value to export"

}}}

Outputs:

Logical ID:

Description: Information about the value

Value: Value to return

Export:

Name: Value to export

EJEMPLO

puede declarar la salida para el nombre del bucket de S3 para una pila para que sea más fácil encontrar el bucket.

CHANGE SETS

Si necesita realizar cambios en los recursos que están ejecutándose en una pila, actualice la pila. Antes de realizar cambios en los recursos, puede generar un conjunto de cambios, que es un resumen de los cambios propuestos. Los conjuntos de cambios le permiten ver cómo afectan los cambios a sus recursos en ejecución, en especial para los recursos críticos, antes de implementarlos.

CHANGE

SETS

EJEMPLO

si cambia el nombre de una instancia de base de datos Amazon RDS, AWS CloudFormation creará una nueva base de datos y eliminará la antigua. Se perderán los datos de la antigua base de datos a menos que ya haya hecho una copia de seguridad. Si genera un cambio conjunto, verá que el cambio provocará la sustitución de la base de datos y usted podrá planificar en consecuencia antes de actualizar la pila

1

8

2

9

3

10

4

Implemetacion de una Red distribución de contenido CDN

11

12

5

Implemetacion de una Red distribucion de contenido CDN

6

13

14

7

Utilizamos la herramienta de AWS Cloudfront y creamos una nueva distribución

Seleccionamos un método de entrega para el contenido que vamos a tener disponible

Podemos verificar que la vinculación del domino esta en el cloudFront

ANTES

DESPUES

ANTES

DESPUES

ANTES

DESPUES