Pizza como servicio: como Amazon migró a Redshift



Hola, me llamo Victoria y soy responsable de la comercialización en CROC Cloud Services. Ahora habitualmente alojamos mitaps en la nube. Recientemente obtuve el mejor desempeño de Dmitry Anoshin, quien ahora trabaja en Amazon, y quiero compartirlo.

Tenía la fuerte sensación de que las grandes empresas comerciales decidieron recopilar en general todos los datos posibles en el mundo que pudieran alcanzar. Por un lado, esto se traduce en análisis avanzados, mayores ventas y atractivo de productos. Por otro lado, los datos se han vuelto tan audaces y completos que las bromas sobre camiones con CD-ROM han sido comunes durante mucho tiempo.

Veamos por qué podría ser necesario migrar a la nube y qué obtuvo Amazon al mover la infraestructura interna a Redshift y NoSQL DynamoDB. Analicemos la diferencia entre los conceptos de SMP y MPP, ETL y ELT e intentemos entender por qué se necesitan nubes para grandes datos.

Bueno, si está al tanto de lo que ha estado sucediendo en la industria en los últimos años, busque inmediatamente un caso específico. Ven debajo del corte, preparé un resumen de los puntos principales de la actuación.

Telemetría desde cada bombilla




Las grandes empresas tienen una tendencia muy notable hacia la formación de ecosistemas integrados alrededor de sus usuarios. Es decir, te despertaste, fuiste a lavarte los dientes y al mismo tiempo miraste las noticias en un espejo multimedia. La columna de Alexa incluye música alegre por la mañana y recuerda las reuniones de hoy. Aquí puede pedir café recién hecho a domicilio, ya que el anterior ya se está agotando. Entras en el automóvil, y luego otra vez Alexa, que está integrada con el sistema multimedia del automóvil y continúa acompañando en el camino. Además de una pulsera inteligente, auriculares, aplicaciones en el teléfono y miles de otras fuentes de información.

Este es al mismo tiempo un futuro ligeramente aterrador que viene rápidamente de todas las direcciones, un intento de crear valor adicional para el consumidor final de las empresas. Debe aceptar que es genial cuando, por ejemplo, de acuerdo con el programa Amazon Key In-Car, sus compras se enviarán directamente a la cajuela del automóvil en el estacionamiento. Ahora vivo en Canadá, y esas integraciones hacen la vida mucho más cómoda. Para la empresa, estos también son datos muy valiosos en términos de orientación de ventas, previsión de demanda, optimización de logística y más. Ganar-ganar

Un problema Como ya dije, existe la fuerte sensación de que las empresas a menudo recopilan datos en una escala excesiva con la esperanza de monetizarlos en el futuro. Y estos son terabytes. En realidad, terabytes de información mal estructurada que fluye continuamente a los servidores de la compañía, devorando los recursos de red, informática y almacenamiento. Por eso es tan importante el problema de la utilización óptima de los recursos y garantizar la velocidad de la informática. Y también debe proporcionar a los analistas de negocios una interfaz normal que no requiera que tengan conocimientos expertos en la construcción de infraestructura en la nube. Por lo tanto, muchas grandes empresas se han movido hacia las nubes.

No hay nube




La tecnología en la nube es la palabra de moda que prácticamente atrapó a todos. No, sin duda, se ve sólido en los estados financieros de la compañía y en las presentaciones oficiales. Sin embargo, a nivel de hierro, todos estos son los mismos servidores viejos y buenos ubicados en centros de datos de todo el mundo. Sin embargo, la computación en la nube necesita más que solo una conveniente consola de virtualización. La característica principal de las nubes es la gestión totalmente dinámica de los recursos y su escala automática cuando es necesario:

  • El calculo.
  • Almacenamiento.
  • Recursos de red y transporte.
  • La base de datos

Cuando tenga una infraestructura de este tipo, utilizará sus recursos de manera mucho más completa, lo que con casos comerciales a gran escala puede generar ahorros significativos.

Para las pequeñas empresas, este enfoque también puede ser muy atractivo. Imagine que planea comprar hierro nuevo para su infraestructura el próximo año. Al mismo tiempo, es muy difícil para usted predecir la carga exacta, que puede variar de muchos factores. Por ejemplo, su producto se vuelve muy popular repentinamente debido a una publicación exitosa en Habré, una multitud de clientes se apresuran hacia usted y lo decepcionan enormemente porque no planeó tales cargas máximas. Y puede haber una situación inversa cuando se sobreestima la demanda, se compra un exceso de capacidad y finalmente se obtiene un equipo inactivo, lo que en realidad elimina el dinero que tanto se necesita de la facturación de la compañía. Una apuesta únicamente en la compra de capacidades de hierro es casi siempre un proceso extremadamente inerte, y ciertamente pierde adaptabilidad en un mercado que cambia rápidamente.

La migración particular o completa a la nube es adecuada para tales situaciones, que sirve como un tipo de condensador que suaviza los picos de consumo máximo. O incluso le proporciona completamente la infraestructura.

Tipos de nubes




De hecho, dependiendo de su modelo de negocio, las empresas suelen idear una de las tres formas de construir sistemas en la nube. Una pequeña empresa generalmente usa nubes públicas y ahorra en los especialistas apropiados, centrándose en su producto. Los particularmente grandes en sí mismos son similares a muchas compañías separadas conectadas por un objetivo y marca comunes. Por lo tanto, a menudo construyen nubes privadas, logrando una utilización óptima de los recursos. Part utiliza modelos híbridos, que le permiten procesar datos particularmente sensibles, protegidos legalmente localmente y transferir tareas menores a nubes externas. Pizza como servicio:



Siempre me gustó esta ilustración, que muestra bien el grado de delegación de las tareas de infraestructura de su empresa al proveedor.

La opción tradicional en el local es ir a comprar comida, precalentar el horno y cocinar pizza usted mismo. Perfecto! Pero necesitas tener todo el equipo, ingredientes y más.

IaaS es una opción de alquiler de infraestructura. Alquiló una cocina con todo el equipamiento, trajo sus productos y cocinó una gran pizza. Las personas especialmente capacitadas lavarán el horno de la grasa, y no necesita preocuparse por la nitidez de los cuchillos y otras bagatelas.

PaaS es una plataforma como servicio. El servicio le proporciona algunas ventajas adicionales además de la infraestructura básica. Por ejemplo, Amazon Redshift, como un almacén de datos, que le permite ahorrar en DBA y centrarse en el producto. En nuestro ejemplo de pizza, puede ser, por ejemplo, una masa con forma preparada que solo se puede descongelar, untar con salsa aromática, espolvorear con champiñones, rebanadas de tocino tierno y parmesano rallado.

La última opción es SaaS. En este caso, obtiene el producto más terminado sobre la base del cual construye su negocio. Por ejemplo, ejecute un blog basado en la plataforma pública de otra persona. En nuestro ejemplo, esta será la opción más cara pero simple para pedir pizza preparada en casa.

Datos de camiones. Nieve móvil


Hay una vieja anécdota barbuda de la época de los años "cero": "Un equipo de camioneros pudo entregar 100,000 CD de Odessa a Kiev durante la noche. Por lo tanto, alcanzaron una velocidad de transferencia de datos de 2,43 terabytes por segundo en una distancia de más de 500 km sin el uso de cables caros ".



En ese momento era solo una broma. Sin embargo, con los volúmenes modernos de un flujo continuo de fotos desde cada teléfono móvil, audio, video y otra telemetría, se vuelve completamente inamovible y se convierte en un problema real. Cuando no tiene un enlace óptico grueso alquilado directamente al centro de datos, mover grandes cantidades de datos a la nube puede ser un gran problema. Servicios como el Snowball de Amazon vienen al rescate.


Le brindan un estuche protegido tan brutal lleno de 50 terabytes de discos de alta velocidad e interfaces de red de 10 gigabits. Luego, lo conecta directamente a su tienda y combina todos los datos a la máxima velocidad. En caso de robo u otros problemas, los datos salen de la sala de servidores solo en forma cifrada. Hay un módulo TPM en el caso, y las claves de cifrado se administran mediante el Servicio de administración de claves (KMS) de AWS. Las claves de cifrado no se almacenan en el propio dispositivo.


En casos especialmente avanzados, puede llamar a Snowball Truck, un centro de datos móvil con una capacidad de 100 petabytes. Cuando la escala de datos se aproxima a los exabytes, una conexión típica de 10 gigabits requerirá 26 años para la transferencia de datos. Y estos camiones blancos podrán arrastrar y soltar datos durante seis meses.

Amazon migrando de Oracle a Redshift



Lo que tuvimos

Te contaré un poco sobre el caso con el que trabajé en Amazon. Las principales plataformas comerciales como Amazon tienen un trabajo muy doloroso: Prime Days. Estas son las ventas pico del Viernes Negro y las ventas de Navidad. En este punto, los servidores se están derritiendo bajo carga, los almacenes están llenos de cargadores y la logística se está ahogando bajo un flujo continuo de mercancías. Este es un momento muy importante desde el punto de vista de las ventas, y cada hora de inactividad o inaccesibilidad del servicio cuesta una gran cantidad de pérdidas.

El problema vino de Oracle DB. La base de datos simplemente dejó de exportar ese volumen de consultas simultáneas, experimentando problemas con el escalado. El sitio casi se desarrolló bajo la avalancha de clientes, y la base de datos se convirtió en un problema en términos de escala.

Después de un análisis cuidadoso, llegaron a la conclusión de que las bases de datos SQL tradicionales no son adecuadas como backend para una plataforma comercial de esta magnitud. Además, Oracle también es extremadamente costoso en términos de licencias y soporte. Como resultado, se decidió migrar a su plataforma en la nube, que estaba basada en Redshift y NoSQL DynamoDB.

DynamoDB fue un desarrollo interno con replicación sincrónica entre centros de datos y un mecanismo extremadamente efectivo para reducir la redundancia de datos, lo que permitió ahorrar significativamente en su almacenamiento. Una característica muy importante fue Auto Scaling: escala dinámica de base de datos para la cantidad de datos requerida. También se ha resuelto una gran integración con Hadoop.

¿Cuál es el principal problema de una base de datos tradicional?



El problema es que la versión anterior con Oracle se refiere a la arquitectura SMP, que solo implica escala vertical. Es decir, tiene una máquina potente con cierta memoria, un montón de almacenamiento rápido y todas las solicitudes fluyen de una forma u otra. Este es un modelo clásico de Oracle que se centra en ofrecer sus potentes servidores independientes. Al mismo tiempo, la compañía no creía particularmente en las nubes, y la computación paralela no se consideraba una solución prometedora. Y necesitábamos MPP, una arquitectura paralela que le permite difuminar una solicitud de muchas máquinas separadas y procesar datos más rápido.

Hay otro punto importante: el enfoque ETL vs ELT para ingresar datos en la base de datos.

ETL - Extracto -> Transformar -> Cargar. Es decir, primero recibimos datos de nuestras fuentes, los estructuramos cuidadosamente y solo luego los llenamos en nuestro almacén. El enfoque ELT implica llenar datos ruidosos sin procesar en el almacenamiento y el procesamiento ya está de su lado. En principio, RedShift admite ambos enfoques, pero ETL tiene una ventaja: el acceso a los datos filtrados es más rápido y fácil de manipular. Aunque al mismo tiempo se gastan más recursos en el análisis inicial de la información en bruto. Hay un momento más obvio. ETL reduce los riesgos en términos de GDPR en la legislación europea al filtrar información confidencial por adelantado antes de que llegue al repositorio general. Esto reduce el riesgo de acceso no autorizado a los datos. La herramienta principal para el procesamiento de datos primarios en la nueva arquitectura fue Matillion. Ya hay una buena GUI allí, es altamente configurable y ya viene en una opción adaptada a Amazon RedShift. Gracias a él, resultó bajar el umbral de entrada. Ahora los gerentes de producto pueden configurar flujos de datos entrantes en forma de un diseñador visual sin la ayuda de nuestros ingenieros de datos.



Como resultado, obtuvimos la flexibilidad, escala y suavización de las cargas máximas que necesitábamos. Por ejemplo, pudieron resolver el problema de acumular 50 GB de registros de servidores web por día para predecir el comportamiento de los visitantes.



También presentamos Tableau, que nos permitió cambiar de tablas mal conectadas en Excel a paneles únicos, conveniente para la administración.

Y lo explicaré por si acaso: hay un Oracle OLTP (back-end) en la tienda, hay Oracle DW, un almacén de datos analíticos. El proyecto estaba dirigido a ambas cosas, ¡pero estoy hablando específicamente de Oracle DW! Es decir, el diagrama y la descripción que se dan son locales, solo conciernen al equipo de Amazon. Lo mismo vale para Tableau. Cuando digo "hemos implementado el marcador", me refiero al proyecto local, ya que en Amazon todo está dividido en equipos, y todos eligen qué hacer y qué implementar y usar.

Las nubes, a pesar de la exageración poco saludable que las rodea, ya son la realidad actual. Lo más probable es que la mayoría de los proyectos empresariales se construyan de alguna manera alrededor de dicha infraestructura. Sí, tal vez no todas las empresas tengan tales soluciones. Pero vale la pena planificar un mayor desarrollo ahora, de lo contrario será difícil responder rápidamente a los parámetros del mercado que cambian rápidamente y a la feroz competencia.

Si alguien está interesado en el tema de análisis de nube y soluciones modernas, vaya aquí . Dejo caer contenido útil allí.

Ven a nuestra reunión




CROC Cloud Services ya ha aprobado una serie de discursos de excelentes oradores, por ejemplo, el tema de un mitap fue el uso práctico de los servicios de AWS en la vida. El año que viene hemos planeado varios eventos más, hablaremos de ellos en detalle. Sigue los eventos.

Source: https://habr.com/ru/post/481836/


All Articles