¿Cómo aterriza Serverless? Desmitificando la implementación a gran escala del negocio principal de Ali

Head picture.png

Fuente | Cuenta oficial nativa de Alibaba Cloud

En 2020, la nueva epidemia de neumonía de la corona catalizará los estilos de vida digitales para convertirse en la norma. Hoy, cuando las empresas están llevando a cabo activamente la transformación digital y mejorando la eficiencia de manera integral, casi nadie niega que Serverless, que nació con la misión de "reducir costos y aumentar la eficiencia", está a punto de convertirse en un nuevo paradigma de computación en la era de la nube.

Serverless libera a los desarrolladores de la pesada gestión manual de recursos y la optimización del rendimiento, y está provocando nuevos cambios en la productividad de la informática en la nube.

Sin embargo, la implementación de Serverless a menudo es muy difícil. Por ejemplo, cómo migrar proyectos tradicionales a Serverless mientras se garantiza la continuidad comercial del proceso de migración, cómo proporcionar herramientas de desarrollo completas, herramientas efectivas de depuración y diagnóstico bajo la arquitectura Serverless, y cómo utilizar Serverless para mejorar Cada uno de ellos es un problema difícil.

Especialmente cuando se trata de la implementación a gran escala de Serverless en escenarios convencionales, no es fácil. Debido a esto, el llamado de la industria a las mejores prácticas para la implementación a gran escala de escenarios centrales sin servidor es aún más urgente.

El volumen total de transacciones es de 498.200 millones de yuanes, y la creación de pedidos máximos es de 583.000 transacciones por segundo. En 2020, Tmall double 11 establecerá otro récord. Para Alibaba Cloud, el Double 11 de este año tiene otro significado: Alibaba Cloud logró la primera implementación a gran escala de Serverless en el escenario empresarial central en China, resistió el pico de tráfico más grande del mundo y creó una plataforma para aplicaciones sin servidor. Hitos .

El dolor del aterrizaje sin servidor

Desafío 1: el arranque en frío lleva mucho tiempo

El juego rápido es un atributo natural de Serverless, pero la condición del juego rápido es tener la máxima velocidad de arranque en frío para soportar. En el negocio secundario, el retraso de nivel de milisegundos casi no se ve afectado por el negocio. Sin embargo, para los escenarios comerciales centrales, los retrasos superiores a 500 milisegundos ya han afectado la experiencia del usuario.

Aunque Serverless utiliza tecnología de virtualización ligera para reducir continuamente el arranque en frío, incluso se puede reducir a menos de 200 milisegundos en algunos escenarios. Pero este es solo un escenario de operación independiente ideal. En el enlace comercial principal, los usuarios no solo ejecutan su propia lógica comercial, sino que también dependen de servicios de back-end como middleware, base de datos y almacenamiento. La conexión de estos servicios debe iniciarse en la instancia. Aumentará el tiempo de inicio en frío de forma invisible y luego extenderá el tiempo de inicio en frío al segundo nivel.

Para escenarios de negocios en línea centrales, un arranque en frío de segundo nivel es inaceptable.

Desafío 2: Separación del proceso de I + D

El escenario principal de Serverless es escribir código comercial, como escribir funciones comerciales, que se pueden iniciar de manera simple y rápida, lo que permite a los desarrolladores escribir código en la nube y completar fácilmente el lanzamiento.

Sin embargo, en realidad, los requisitos del negocio principal llevan a los desarrolladores de la nube a la realidad, enfrentando varias torturas del alma: ¿cómo hacer las pruebas? ¿Cómo conectarse en escala de grises? ¿Cómo hacer una recuperación de desastres empresarial? ¿Cómo controlar los permisos?

Cuando los desarrolladores hayan respondido a estas preguntas, se desanimarán. Resulta que en el negocio principal en línea, "las funciones se ejecutan normalmente" solo ocupa una pequeña parte, y la distancia desde la línea es tan larga como el río Yangtze.

Desafío 3: conectividad de middleware

El negocio principal en línea no se ejecuta de forma aislada como una función independiente. Necesita conectarse al almacenamiento, middleware y servicios intermedios y de back-end de datos, obtener datos y luego calcular, y luego generar y devolver a los usuarios.

Los clientes de middleware tradicionales necesitan realizar una serie de operaciones, como conectarse a la red del cliente, inicializar y establecer conexiones, lo que a menudo ralentiza la velocidad de inicio de la función.

En el escenario sin servidor, el ciclo de vida de la instancia es corto y el número es grande, lo que provocará el establecimiento de conexiones frecuentes y una gran cantidad de conexiones. Por lo tanto, la conectividad de red se optimiza para el cliente del middleware que se usa comúnmente en las aplicaciones centrales en línea, y el enlace de llamada se abre para monitorear datos. Ayudar a los profesionales de SRE (Site Reliability Engineer) a evaluar mejor las dependencias de las funciones del middleware posterior es muy importante para la migración sin servidor de las aplicaciones principales.

Desafío 4: Observabilidad deficiente

La mayoría de las aplicaciones empresariales centrales de los usuarios utilizan una arquitectura de microservicio, y los problemas de las aplicaciones empresariales centrales también tendrán características de microservicio. Por ejemplo, los usuarios deben realizar inspecciones muy detalladas en varios indicadores del sistema empresarial, no solo deben verificar los indicadores empresariales , También es necesario verificar los indicadores de recursos del sistema donde se encuentra la empresa, pero no existe el concepto de recursos de la máquina en el escenario sin servidor, ¿cómo se pueden revelar estos indicadores? ¿Es posible satisfacer las necesidades del lado comercial solo revelando la tasa de error y la concurrencia de la solicitud?

De hecho, las necesidades del lado empresarial son mucho más que eso. Si la observabilidad es buena o mala depende de si la parte empresarial confía en su plataforma tecnológica. La buena observabilidad es un requisito previo importante para ganarse la confianza de los usuarios.

Desafío cinco: la depuración remota es difícil

Cuando hay un problema en línea en el negocio principal, debe ingresar inmediatamente a la investigación, y el primer elemento de la investigación es: reservar en el lugar y luego iniciar sesión para la depuración. En el escenario sin servidor, no existe un concepto de nivel de máquina, por lo que si un usuario desea iniciar sesión en la máquina, es difícil hacerlo basándose en la tecnología básica sin servidor existente. Por supuesto, las razones no se limitan a esto, como las preocupaciones de Vendor-lockin.

El resumen de las categorías anteriores de puntos débiles es principalmente para la experiencia de desarrollo del desarrollador En el escenario de desarrollo real, si es realmente "eficiencia", en lugar de botellas nuevas de vino viejo. En la actualidad, la mayoría de los desarrolladores de aplicaciones centrales todavía tienen una actitud de esperar y ver qué hay de Serverless. Por supuesto, hay algunas opiniones dudosas, "FaaS solo es adecuado para escenarios de pequeñas empresas y escenarios de negocios no centrales".

Doble 11 sin servidor "Gran prueba"

En diciembre de 2019, la consultora O'Reill publicó una encuesta de uso sin servidor y el 40% de las organizaciones de los encuestados adoptaron la tecnología sin servidor. En octubre de 2020, el " China Cloud Native User Survey Report " publicado por la Academia de Tecnología de la Información y las Comunicaciones de China señaló: "La tecnología sin servidor se está calentando significativamente y casi el 30% de los usuarios ya lo han aplicado en el entorno de producción". En 2020, más y más empresas eligen Únase al campo de Serverless y espere más casos de implementación a gran escala de escenarios centrales de Serverless.

Frente al crecimiento constante del número de desarrolladores sin servidor, Alibaba formuló la estrategia de "Construir el doble 11 sin servidor" a principios de año. El propósito no es solo evitar el tráfico y alcanzar picos, sino reducir los costos y aumentar la utilización de recursos. A través del "horno de alquimia de tecnología Double 11", Alibaba Cloud Serverless se convertirá en un producto en la nube más seguro, estable y amigable para ayudar a los usuarios a lograr un mayor valor comercial.

A diferencia de Double 11 en los últimos 11 años, después de que el sistema de núcleo Tmall Double 11 pasara a la nube el año pasado, Alibaba se dio cuenta de que la nube completa se basa en el sistema operativo comercial nativo digital, y la actualización de la tecnología de núcleo duro subyacente ha traído un impulso creciente. Y el máximo rendimiento. Tomando el valor máximo de los pedidos de soporte como ejemplo, el costo de TI por cada 10,000 transacciones máximas se ha reducido en un 80% en comparación con hace cuatro años. Serverless también marcó el comienzo del primer aterrizaje a gran escala en el escenario central de Double 11.

Escenario 1: múltiples escenarios de front-end

En Double 11 en 2020, el front-end de Alibaba Group adoptará por completo el servidor sin servidor nativo de la nube, y docenas de BU, incluidas Taoxi, Fliggy, AutoNavi, CBU, ICBU, Youku, Koala, etc., han implementado conjuntamente la arquitectura de servicios en línea Node.js FaaS como núcleo. Modelo integrado de investigación y desarrollo en la nube.

En Double 11 este año, bajo la premisa de garantizar la estabilidad y la alta utilización de recursos, la escena de la guía de compras de marketing clave de múltiples BU ha logrado una actualización del modelo de investigación y desarrollo. La entrega del modelo de I + D integrado en la nube respaldado por FaaS front-end aumentó la eficiencia en un 38,89% en promedio. Confiando en la conveniencia y confiabilidad de Serverless, Taobao, Tmall, Fliggy y otras páginas de doble 11 lugar rápidamente aterrizaron la tecnología ***, que mejora la experiencia de la página del usuario. Además de garantizar grandes promociones, también reduce la flexibilidad diaria en un 30% en comparación con el cálculo anterior costo.

1.png

Escenario 2: escenario de recomendación personalizada

La escalabilidad elástica natural de Serverless es la razón más importante para elegir Serverless para el "escenario empresarial de recomendación personalizada". Miles de costos de operación y mantenimiento de aplicaciones heterogéneas siempre han sido un punto débil en este escenario. Mejore la operación y el mantenimiento a través de la falta de servidor, lo que permite a los desarrolladores centrarse en la innovación de algoritmos comerciales.

En la actualidad, el alcance de la aplicación de este escenario es cada vez más amplio, y ha cubierto casi toda la APLICACIÓN Ali: Taobao, Tmall, Alipay, Youku, Fliggy, etc., por lo que podemos hacer más optimizaciones en la utilización de los recursos de la máquina. Programación inteligente, la tasa de utilización de recursos de la máquina alcanzó el 60% en la hora pico.

2.png

Escena tres: escenas intermedias y entre bastidores

En 2020, Century Lianhua Double 11 se basará en la expansión elástica de Alibaba Cloud Function Computing (FC) y se aplicará en múltiples escenarios, como un gran lugar de promoción ***, picos de productos en línea, distribución de cupones de punto fijo, guías de compras de la industria y computación de datos en etapa intermedia. , El QPS empresarial pico superó el 230% de Double 11 en 2019, la eficiencia en I + D se mejoró en más del 30% y el costo de los recursos flexibles se redujo en más del 40%.

3.png

Por supuesto, hay muchos escenarios que se aplican a Serverless, y los desarrolladores de más industrias necesitan enriquecerlos. En general, la libreta de calificaciones de FaaS de este año es muy deslumbrante. En la promoción Double 11, no solo se llevó a cabo parte del negocio principal, sino que el tráfico también rompió nuevos máximos, lo que ayudó a la empresa a soportar el pico de tráfico de un millón de QPS.

¿Cómo supera Alibaba Cloud los puntos débiles de Serverless?

Entonces, ¿cómo superó Alibaba Cloud el dolor del aterrizaje sin servidor común de la industria?

1. Modo de reserva + modo basado en cantidad para eliminar el arranque en frío

En la actualización importante de Serverless 2.0 en 2019, Alibaba Cloud Function Computing tomó la iniciativa en el soporte del modo de reserva, y luego AWS Lambda también lanzó una función similar unos meses después.

¿Por qué Alibaba Cloud planteó esta pregunta primero? El equipo de Alibaba Cloud Serverless explora constantemente las necesidades de los negocios reales. Aunque el modelo de pago por uso es muy atractivo, el tiempo de inicio en frío es demasiado largo, por lo que el negocio principal en línea está cerrado. A continuación, Alibaba Cloud se centró en analizar las demandas de las principales empresas en línea: baja latencia y garantía de la elasticidad de los recursos. ¿Cómo resolverlo?

Mire la figura a continuación, una curva comercial muy típica, utilizando el modo reservado para cumplir con la cantidad fija en la parte inferior, y la elasticidad para satisfacer la demanda de ráfagas.

4.png

Para la expansión de ráfagas, utilizamos una combinación de dos métodos de expansión para satisfacer: la expansión de recursos y la expansión de solicitudes. Por ejemplo, los usuarios solo pueden establecer el umbral de expansión de los recursos de la CPU en 60%. Cuando la CPU de la instancia alcanza el umbral, la expansión se activará. La nueva solicitud en este momento no llega inmediatamente a la instancia expandida, sino que espera a que la instancia esté lista antes de la desviación, evitando así un inicio en frío.

De manera similar, si solo el umbral de expansión del índice de concurrencia se establece en 30 (la concurrencia llevada por cada instancia), la expansión del mismo proceso también se activará cuando también se cumpla esta condición. Si se establecen ambos indicadores, la condición que se cumpla primero activará la expansión primero.

A través de una gran cantidad de métodos de escalado, Alibaba Cloud Function Computing resuelve el problema del arranque en frío sin servidor y es compatible con empresas sensibles a los retrasos.

2. Mejora de la eficiencia de la I + D del negocio principal en un 38,89%

"Mejorar la eficiencia" debería ser la ventaja de la tecnología sin servidor, pero para las aplicaciones principales, "rápido" = "alto riesgo". Los usuarios deben pasar por varias verificaciones de proceso, como pruebas de CI, pruebas diarias, pruebas previas al lanzamiento e implementación gris. Asegurar la calidad de la función. Estos procesos son un obstáculo que impide que las aplicaciones principales utilicen FaaS.

En respuesta a este problema, la estrategia de Alibaba Cloud Function Computing es "integrarse", combinando las ventajas de la plataforma de I + D con Alibaba Cloud Function Computing, que no solo puede satisfacer el proceso CI / CD del usuario, sino que también puede disfrutar de los beneficios de Serverless, ayudando a los usuarios Cerrando la brecha en el uso de FaaS.

El Grupo Alibaba integra internamente la plataforma de I + D de cada aplicación principal a través del estándar OpenAPI expuesto.Después de la verificación de I + D empresarial del doble once, la eficiencia de I + D se ha mejorado enormemente en un 38,89%. En la nube pública, nos integramos con la plataforma de eficiencia en la nube para integrar el proceso de I + D con FaaS de manera más cercana y fluida, ayudando a las empresas fuera del grupo a mejorar la eficiencia humana.

5.png

3. Conectividad de middleware

Las aplicaciones principales son inseparables de la cooperación ascendente y descendente. Una vez que las aplicaciones principales utilizan la computación funcional, ¿cómo deberían cooperar con el middleware? El desarrollo de aplicaciones tradicionales necesita integrar varios SDK de middleware y empaquetarlos para que estén en línea. Sin embargo, para las funciones sin servidor, el tamaño del paquete de código es un defecto. Este problema afectará directamente el tiempo de inicio en frío.

Alibaba Cloud Function Computing ha pasado por dos fases de desarrollo. En la primera, creamos un proxy de middleware para abrir el middleware a través del proxy. La función solo utiliza un protocolo único para interactuar con el proxy, descargando así el SDK del middleware.

La segunda etapa: con el hundimiento de las capacidades del middleware, también se han incluido algunos requisitos de control en la agenda, como: emisión de comandos, gestión del tráfico, extracción de configuración, etc. Durante este período, Alibaba Cloud adoptó el componente de código abierto Dapr, Costos de interacción en medio de la descarga con Sidecar.

La solución anterior se basa en el tiempo de ejecución personalizado de Alibaba Cloud Function Computing y la función de contenedor personalizado.

6.png

4. La mejor experiencia de desarrollo

La depuración remota, la visualización de registros, el seguimiento de enlaces, la utilización de recursos y la mejora de las cadenas de herramientas periféricas son capacidades esenciales para los desarrolladores. Alibaba Cloud Function Computing también lanzó diferentes equipos de investigación. Primero, se combinó con Tracing / ARMS para crear una capacidad de seguimiento de enlaces clara y se integró con SLS para crear un monitoreo integral de datos comerciales.

Por lo tanto, el negocio se puede personalizar de acuerdo con las necesidades, y adoptar el producto de código abierto Prometheus expone la tasa de utilización de recursos y admite WebIDE con capacidades de depuración remota.

Además, la reciente arma pesada de código abierto de Alibaba Cloud: Serverless-devs , una herramienta para desarrolladores que no está vinculada por un fabricante y ayuda a los desarrolladores a duplicar la eficiencia de desarrollo / operación y mantenimiento bajo la arquitectura Serverless. Los desarrolladores pueden crear aplicaciones, desarrollo de proyectos, pruebas de proyectos, lanzamiento e implementación de manera simple y rápida, etc., para lograr la gestión del ciclo de vida del proyecto.

7.png

Serverless tiene muchos problemas iniciales. ¿Por qué Alibaba Cloud puede aplicar Serverless a todos los ámbitos de la vida?

En primer lugar, Alibaba Cloud proporciona la matriz de productos sin servidor más completa entre todos los proveedores de la nube, incluido el FC de computación funcional, el motor de aplicaciones sin servidor SAE, ASK para la orquestación de contenedores y ECI para las instancias de contenedores.

La rica matriz de productos puede cubrir diferentes escenarios. Por ejemplo, para escenarios desencadenados por eventos, la computación de funciones proporciona capacidades de integración de fuentes de eventos ricas y una flexibilidad extrema de escalamiento de 100 milisegundos; para aplicaciones de microservicio, el motor de aplicaciones sin servidor puede lograr una transformación de código cero. Deje que los microservicios también disfruten de los dividendos sin servidor.

En segundo lugar, Serverless es un campo en rápido desarrollo y Alibaba Cloud está expandiendo constantemente los límites del producto Serverless. Por ejemplo, la computación de funciones admite múltiples funciones pioneras en la industria, como la duplicación de contenedores, el modo prepago y la ejecución simultánea de múltiples solicitudes dentro de una instancia, lo que resuelve por completo problemas sin servidor, como fallas de rendimiento causadas por el arranque en frío, y amplía enormemente los escenarios de aplicación de la computación de funciones.

Finalmente, la economía de Ali tiene un escenario comercial muy rico, que puede pulir aún más la práctica de aterrizaje sin servidor. Este año, los escenarios de negocios centrales de Double 11 BU de Alibaba Economy, como Amoy Department, Koala, Fliggy y AutoNavi, utilizaron Alibaba Cloud Function Computing y alcanzaron con éxito el pico de Double 11. 

Serverless lidera la próxima década

"La productividad laboral más radical, así como la mayor competencia, habilidad y juicio en el uso del trabajo, parecen ser el resultado de la división del trabajo". Este es un extracto de "La riqueza de las naciones", que enfatiza la "división del trabajo". Lo que está en juego en cualquier industria, cuanto mayor sea el tamaño del mercado, más fina será la división del trabajo. Este es también el famoso "teorema de Smith".

De manera similar, este teorema también se aplica a la industria del mercado de aplicaciones de software. A medida que las industrias tradicionales han entrado en la etapa basada en Internet, la escala del mercado se ha hecho más grande y la división del trabajo se ha vuelto cada vez más refinada. La era del alojamiento de máquinas físicas se ha convertido en historia y ha madurado con IaaS. El reemplazo de capas, seguido de los servicios de contenedores, es ahora estándar en la industria.

Entonces, ¿cuál será la próxima década de tecnología? La respuesta es: sin servidor, que suaviza la falta de personal de I + D en presupuesto y experiencia en operación y mantenimiento. Ante los picos comerciales, la mayor parte de I + D se puede controlar y procesar fácilmente, lo que no solo reduce en gran medida el umbral de la tecnología de I + D, sino también a gran escala. Se encuentran disponibles mejoras en la eficiencia de la investigación y el desarrollo, la alerta temprana en línea, la observación del tráfico y otras herramientas, fáciles de lograr el funcionamiento y el mantenimiento gratuitos de la investigación y el desarrollo de tecnología, se puede decir que Serverless es una división del trabajo más detallada, por lo que los desarrolladores comerciales ya no prestan atención a la operación y el mantenimiento subyacentes, solo En la innovación empresarial, esto mejora enormemente la productividad laboral. Este es el efecto del "Teorema de Smith" y la razón interna por la que Serverless se ha convertido en una tendencia inevitable en el futuro.

Actualmente, todo el sistema de productos en la nube no tiene servidor y más del 70% de los productos no tiene servidor. Los desarrolladores ya conocen bien los productos sin servidor, como el almacenamiento de objetos, el middleware de mensajería, las puertas de enlace API y el almacenamiento de tablas. En la próxima década, Serverless redefinirá el modelo de programación en la nube y remodelará la forma en que las empresas innovan.

Supongo que te gusta

Origin blog.51cto.com/13778063/2563000
Recomendado
Clasificación