INTEGRANTES:
+Glen Vallejo
+Moriel Ruiz
+Mariuxi Piguave Salinas
+Plúa Alcantaro Jorge
+Pangay Bustamante Bryan
+Eric Moya
+Valeska Haro Delgado
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.
La red de entrega de contenido (CDN) de Amazon CloudFront ajusta su escala de forma masiva y está distribuida en todo el mundo.
Amazon CloudFront es una CDN de alta seguridad que proporciona protección a nivel de la red y de la aplicació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.
Son programas que se usan como red de entrega de contenidos.
COMPONENTES QUE INTERVIENEN EN SOLUCIÓN
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.
• Cloud computing
• Almacenamiento y gestores de contenido
• Inteligencia de negocios
• Bases de datos
• Gestión de aplicaciones móviles
• Creación de redes virtuales
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.
• 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.
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.
Cartas de Venta
Blogs
Páginas corporativas
Sitios web más “estáticos” o tradicionales
Entre otros.
Tiendas virtuales
(e-commerce)
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.
• 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
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.
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
¿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.
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.
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.
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
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.
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..
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.
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.
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
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.
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 (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.
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.
En el primer paso del asistente debemos introducir el nombre o nombres de dominio que queremos añadir:
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.
Seleccionamos el modo gratuito y pulsamos el botón “Continue” para avanzar al siguiente paso.
debemos cambiar los DNS de nuestro dominio en nuestro registrador.
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:
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.
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.
JSON
YAML
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
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'
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
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
La sección opcional Conditions contiene declaraciones que definen las circunstancias por las que se crean o configuran entidades.
JSON
YAML
"Conditions" :
{
"Logical ID" : {Intrinsic function}
}
Conditions:
Logical ID:
Intrinsic function
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.
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
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
puede declarar la salida para el nombre del bucket de S3 para una pila para que sea más fácil encontrar el bucket.
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.
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
11
12
5
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