¿Por qué Serverless es el principal campo de batalla de la próxima década?

lu-lu-f-gGPNOZbRI-unsplash.jpg

Autor | No es feo Alibaba Cloud Serverless persona a cargo
Fuente | Cuenta oficial sin servidor

"Sólo la trascendencia podemos seguir".

Este es el décimo año en Ali. Desde que se unió a Alibaba Cloud en 2010, Bu Yu ha participado en la investigación y el desarrollo del sistema distribuido Alibaba Cloud Feitian. Se ha desempeñado como arquitecto de computación por lotes y gerente de investigación y desarrollo de Table Storage (NoSQL). Ha participado profundamente en todo el proceso de investigación y desarrollo del sistema Alibaba Cloud e iteración de productos. En 2016, Bu Yu se convirtió en el jefe de investigación y desarrollo de productos de computación funcional de Alibaba Cloud, dedicado a construir una plataforma de computación sin servidor flexible y altamente disponible de próxima generación.

Serverless es un problema técnico que se resolverá en la próxima década. En esta ola de servidores sin servidor, Alibaba Cloud siempre ha estado a la vanguardia, ya sea tecnología o producto, su riqueza en el país es la primera. "Nunca se atreva a tomárselo a la ligera. Serverless todavía se encuentra en una etapa inicial en China. Solo puliendo la tecnología y los productos para mejorar la experiencia del usuario, esta batalla puede considerarse una victoria".

Hicimos una simple entrevista con Fu y escuchamos sus pensamientos sobre el desarrollo, las dificultades técnicas y la implementación de Serverless que a todo el mundo le preocupa más.

¿Aceptar o esperar y ver?

La computación en la nube definitivamente se convertirá en la infraestructura de toda la sociedad y las empresas en el futuro. Para entonces, el uso de la computación en la nube debería ser tan simple como usamos la energía hidroeléctrica y el carbón en la actualidad. No es necesario comprender una serie de cuestiones como de dónde proviene el agua, cómo filtrar, cómo instalar tuberías, etc. Simplemente abra el grifo y tome un vaso de agua. El concepto de sin servidor puede ayudar a la computación en la nube a dar un paso adelante en esta dirección. Defiende que las personas no necesitan preocuparse por asuntos relacionados con el servicio que no sean la lógica de la aplicación, incluida la administración, la configuración, la operación y el mantenimiento, etc., y pagar tanto como usted use.

Desde este punto de vista, Serverless es un camino que realmente convierte la computación en la nube en una infraestructura empresarial social, y está más cerca del enfoque nativo de la nube que se defiende en la industria. Por lo tanto, las personas deberían seguir naturalmente el enfoque sin servidor cuando se utiliza la computación en la nube. Forma de uso.

Las mentes de los desarrolladores extranjeros en el campo sin servidor son obviamente mejores que las establecidas por los desarrolladores nacionales. Porque muchas empresas extranjeras empezaron sus negocios basándose en el ecosistema Lambda al principio, y algunas grandes empresas nacionales han comenzado a utilizar herramientas y productos sin servidor, y una gran cantidad de empresas están al margen.

La aparición de un nuevo producto también tiene un período de adaptación, por lo que después de la aparición de una serie de productos como Serverless, los usuarios tienen muchas preocupaciones sobre si utilizar, migrar y cómo migrar. Las empresas a menudo consultan sobre cómo garantizar la seguridad de la computación funcional, cómo garantizar la estabilidad de la computación funcional y si existen costos de transformación relativamente grandes y riesgos de transformación al migrar proyectos tradicionales a una arquitectura sin servidor. Estas preocupaciones son normales, pero creo que con el desarrollo de Serverless, la definición de FaaS se vuelve más extensa y la construcción de la cadena de herramientas se vuelve más completa, y estos problemas se irán solucionando gradualmente. En teoría, el problema que la tecnología puede resolver no es un problema.

Sin escala, no cree su propio servidor sin servidor

Sin servidor ofrece una experiencia extremadamente flexible, ahorros de costos y mejoras en la eficiencia del desarrollo, todos muy atractivos. En el proceso de desarrollo comercial tradicional y en línea, se requiere trabajo en equipo. Cada persona desarrolla una parte, fusiona el código, desarrolla la depuración conjunta y luego realiza la evaluación de recursos, la construcción del entorno de prueba, la construcción del entorno en línea, el lanzamiento de la prueba, la operación y el mantenimiento. Sin embargo, en la era sin servidor, los desarrolladores solo necesitan desarrollar sus propias funciones / funciones y luego implementarlas en el entorno de prueba y en el entorno en línea. Una gran parte del trabajo posterior de operación y mantenimiento no necesita ser considerado ni preocupado.

No es exagerado decir que si una empresa crea su propio servicio de base de datos a través de un host en la nube, la disponibilidad generalmente no es tan buena como el servicio de base de datos proporcionado por los proveedores de la nube. Además, las puertas de enlace API, los servicios de almacenamiento de datos, etc. también son productos proporcionados por los proveedores de la nube con mejor rendimiento. Más seguro y confiable.

Es mejor que las pequeñas empresas no construyan Serverless por sí mismas. Debido a que el elemento central de Serverless es usar según la cantidad, esto significa que si la cantidad actual es pequeña, utilizará muy pocos recursos; si la cantidad actual es grande, necesita movilizar más recursos. Durante el período "Double Eleven", el tráfico fue del orden de 100 millones. Si su empresa no tiene recursos de máquinas de este tipo de tráfico en 100 millones de unidades, ¿cómo programar estos recursos para que otros los usen? Si no hay forma de lograr la programación por volumen, mucho menos sin servidor. No se recomienda a las empresas que no tienen la escala de recursos que creen sus propias capacidades sin servidor, pero pueden practicar sin servidor mediante el uso de productos de nube pública.

Hoy en día, todos los fabricantes importantes han visto que Serverless es el futuro. Incluso si no es el estado final de la computación en la nube, también es un camino hacia el estado final. Por un lado, porque Serverless puede resolver muchos problemas prácticos, es más "me gusta" o incluso más. Cerca de la computación en la nube real; por otro lado, todos no quieren quedarse atrás en la ola del desarrollo de la computación en la nube. Por lo tanto, Serverless se ha convertido en un campo de batalla.

Hay tres partes principales en la competencia por las capacidades sin servidor:

El primero es el rendimiento , incluida la seguridad, la estabilidad, la flexibilidad, etc. Si el rendimiento no se hace bien, no creo que podamos hacerlo sin servidor o no, ni siquiera con la computación en la nube, porque el rendimiento es la capacidad principal de los servidores sin servidor y todo está construido. Además de seguridad, estabilidad y rendimiento.

La segunda es la función . Para hacer bien Serverless, la función es indispensable. Debido a que Serverless no es solo FaaS, incluso FaaS no es solo una operación en línea, sino que también incluye muchas cosas, como BaaS, disparadores, registros, monitoreo, alarmas, etc. Es probable que los desarrolladores solo estén dispuestos a usarlo si cumplen con los requisitos de los desarrolladores en términos de funcionalidad.

Por último, está la experiencia . La experiencia sin servidor es demasiado importante. La experiencia incluye todos los aspectos, como la facilidad de uso, la estabilidad, la seguridad, la flexibilidad del producto y la integridad de la cadena de herramientas. Además de los tres puntos mencionados anteriormente, creo que la comunidad, la ecología y la apertura también son muy importantes.

Alibaba Cloud es uno de los primeros proveedores de nube pública en lanzar plataformas sin servidor en China, y sus productos de plataforma FaaS se denominan computación funcional. En términos de activación de eventos, soporte de idiomas y experiencia del usuario, hay muchos datos a los que vale la pena prestar atención en la informática funcional:

  • Activación de eventos : la función informática de Alibaba Cloud puede activarse mediante eventos de servicio en Alibaba Cloud, como Alibaba Cloud Object Storage (OSS), Log Service (SLS), Message Service (MNS), Table Storage (OTS), API Gateway, CDN, etc. Su característica es que el mecanismo de devolución de llamada único reduce en gran medida la arquitectura del desarrollador y el costo del código para el modelo asincrónico;

  • Idiomas admitidos : Alibaba Cloud Function Computing actualmente admite lenguajes de desarrollo convencionales como Node.js, Java, Python y es compatible con Go, C / C +, Ruby, Lua, etc. a través de Custom Runtime;

  • Experiencia del usuario : Alibaba Cloud Function Computing proporciona una consola basada en web y un SDK, los usuarios pueden administrar aplicaciones de funciones a través de la consola web o operar a través de líneas de comando interactivas;

  • Modo de servicio : las funciones se pueden administrar mediante servicios y aplicaciones, y una única instancia de función puede ejecutar varias solicitudes en paralelo, lo que ahorra costos de recursos informáticos de manera efectiva.

Problema espinoso

Los puntos débiles de Serverless son muy difíciles. Por ejemplo, cómo migrar rápidamente proyectos tradicionales a Serverless, cómo realizar una transición sin problemas, cómo hacerlo sin servidor, cómo realizar una mejor depuración en la arquitectura sin servidor, cómo ahorrar costos, etc., cada uno es un problema. Mi colega Xu Xiaobin mencionó los desafíos a los que se enfrenta Serverless en el artículo "Detrás del ruido: el concepto y los desafíos de Serverless":

No es fácil implementar Serverless a gran escala en escenarios convencionales. Hay muchos desafíos. Permítanme analizar estos desafíos en detalle:

Desafío 1: dificultad en los negocios ligeros

Para lograr una resiliencia automática completa y pagar por los recursos que realmente se utilizan, la plataforma debe poder escalar las instancias comerciales en segundos o incluso milisegundos. Este es un desafío para la infraestructura y plantea requisitos muy altos para las empresas, especialmente para aplicaciones comerciales relativamente grandes. Si se tarda diez minutos en distribuir e iniciar una aplicación, entonces la capacidad de respuesta automática y flexible básicamente no podrá mantenerse al día con los cambios en el tráfico comercial ...

Reto 2: los requisitos de respuesta de la infraestructura son extremadamente altos

Una vez que las aplicaciones sin servidor o las instancias de funciones se puedan expandir en segundos o incluso milisegundos, la infraestructura relacionada pronto enfrentará una enorme presión. La infraestructura más común son los sistemas de detección de servicios y monitoreo de registros. Originalmente, la frecuencia de cambio de toda la instancia del clúster puede ser varias veces por hora, pero ahora esta frecuencia se ha convertido en varias veces por segundo; además, si la capacidad de respuesta de estos sistemas no puede mantenerse al día con la instancia La velocidad del cambio, entonces toda la experiencia se reducirá considerablemente.

Desafío 3: el ciclo de vida del proceso empresarial no es coherente con el contenedor

La plataforma Serverless se basa en un ciclo de vida de la aplicación estandarizado para lograr un movimiento de contenedores completamente automático y funciones de autorreparación de la aplicación. En un sistema basado en contenedores estándar y Kubernetes, el ciclo de vida que la plataforma puede controlar es el ciclo de vida del contenedor. Por lo tanto, es necesario que la empresa mantenga el ciclo de vida del proceso comercial coherente con el ciclo de vida del contenedor, incluido el inicio, la parada y las especificaciones de la sonda de preparación y la sonda de actividad, etc.

Desafío 4: Es necesario mejorar la observabilidad

En el modo Serverful, si hay algún problema en el entorno de producción, el servidor no desaparecerá y los usuarios pensarán naturalmente en iniciar sesión en el servidor. En el modo sin servidor, los usuarios no necesitan preocuparse por el servidor, lo que significa que el servidor no está visible de forma predeterminada. ¿Qué pasa si el sistema es anormal y la plataforma no puede completar la recuperación automática en este momento? …… Cuando la observabilidad integral que rodea al modelo sin servidor es insuficiente, los usuarios ciertamente no se sentirán cómodos.

Desafío cinco: las mentes de I + D, operación y mantenimiento deben cambiar

Casi toda la I + D, cuando se implementa la propia aplicación por primera vez en una carrera, es para un servidor o una IP, lo cual es un hábito muy poderoso. En el proceso de implementación gradual de Serverless, I + D necesita cambiar algunos modos de pensamiento, adaptarse gradualmente a la mentalidad de "IP puede cambiar en cualquier momento" y cambiar a más operación y mantenimiento desde la perspectiva de la versión del servicio y el tráfico. Sistema propio.

Para usar una analogía, Serverless actualmente tiene un formulario, es decir, un marco, pero todavía hay muchas cuadrículas (problemas) en este marco que no se han llenado (resuelto), por eso todos deberían usar Serverless hoy. Donde hay dudas, una de las razones es que no hemos visto suficientes casos exitosos. Pero, de hecho, Ali implementó con éxito Serverless durante Double Eleven en 2019. No solo eso, sino que Alibaba Cloud también ha llevado a varias empresas a utilizar productos informáticos funcionales, ahorrando así una gran cantidad de costes de TI. 

"Ser el servidor sin servidor que necesitan los usuarios"

La computación de funciones tiene varios escenarios de aplicación muy típicos, como aplicaciones web, razonamiento de IA, procesamiento de audio y video, procesamiento de gráficos y texto, procesamiento de archivos en tiempo real, procesamiento de secuencias en tiempo real, etc. En la actualidad, la computación de funciones tiene una gran cantidad de grupos de clientes, como documentos de grafito, mango TV , Sina Weibo, Malong Technology, etc.

Tomando a Weibo como ejemplo, la función informática transporta miles de millones de solicitudes de microblog todos los días en promedio, y sus recursos informáticos escalables a nivel de milisegundos pueden garantizar que la aplicación aún pueda garantizar un retraso estable cuando ocurre un evento caliente, y la experiencia del usuario es completamente independiente del número de visitas. influencias. Al ejecutar servicios de procesamiento de imágenes a través de la función informática, Weibo ha logrado ahorros continuos de costos. Ya no es necesario reservar una gran cantidad de recursos de máquinas inactivas con anticipación para manejar sin problemas el aumento en el tráfico causado por picos comerciales. Al mismo tiempo, debido a que no es necesario mantener estados complejos de máquinas, Los ingenieros pueden concentrarse en trabajar con equipos de productos para aumentar el valor comercial en lugar de dedicar tiempo a administrar la infraestructura.

No solo las primeras empresas de Internet como Sina aterrizaron en Serverless, algunas empresas emergentes también se están uniendo al campo Serverless.

Lanmo es una empresa de alta tecnología fundada por estudiantes estadounidenses que regresan a China, que se centra en la investigación de nuevas tecnologías y operaciones de plataforma en el campo de la publicación digital y el aprendizaje móvil en la era de Internet móvil. Con la explosiva demanda de educación en línea, Lanmo ha incrementado sus esfuerzos para integrar recursos curriculares de alta calidad en la industria y expandir continuamente sus fronteras comerciales. Mientras gana oportunidades, su equipo técnico también enfrenta desafíos sin precedentes.

El negocio relacionado con el procesamiento de video es uno de los problemas más difíciles que encuentra el equipo técnico de tinta azul. Lanmo maneja una gran cantidad de materiales didácticos en video todos los días, lo que implica una serie de tareas técnicas complejas como edición de video, segmentación, combinación, transcodificación, ajuste de resolución y adaptación del cliente. En los años anteriores de práctica técnica, el equipo técnico de tinta azul ha establecido un conjunto completo de mecanismos de procesamiento de video independientes y controlables a través de FFmpeg y otras tecnologías, lo que respalda el rápido desarrollo del negocio. Sin embargo, la tasa de crecimiento comercial de este año fue inesperada para los ingenieros de Lanmo: la demanda de procesamiento de video en el período pico fue decenas de veces mayor que en años anteriores sobrepasó la arquitectura existente y afectó seriamente la experiencia del usuario.

Las demandas centrales actuales de Lanmo se pueden resumir en tres: ahorro de costos, extrema flexibilidad y operación y mantenimiento gratuitos.Estos son precisamente los problemas que Serverless mejor resuelve. Después de investigar varios aspectos de los servicios sin servidor proporcionados por los proveedores de la nube nacionales, el equipo técnico de tinta azul acordó que Alibaba Cloud Function Computing es la solución más adecuada para ellos en el campo del procesamiento de video.

Debido a que FC es totalmente compatible con la lógica de código existente y también puede admitir varios lenguajes de desarrollo convencionales, el equipo técnico de tinta azul puede migrar la lógica de código de la arquitectura original a FC de una manera casi perfecta, y el costo es extremadamente bajo. . Al acoplar el disparador OSS, siempre que se cargue un nuevo archivo de origen de video en el OSS, la instancia de cálculo de la función se puede extraer automáticamente para iniciar el ciclo de vida del negocio de procesamiento de video.

Mediante la integración de flujos de trabajo sin servidor, las tareas distribuidas se pueden organizar de manera uniforme y se pueden realizar operaciones complejas, como el procesamiento en paralelo y la fusión final de archivos grandes después de la división. Los recursos informáticos de decenas de miles de instancias se pueden movilizar rápidamente en poco tiempo para realizar el procesamiento de video. Ejecución rápida de tareas;

Por otro lado, en comparación con el método tradicional, la solución sin servidor basada en funciones de computación FC puede ayudar a Lanmo a ahorrar alrededor del 60% de  su costo de TI en escenarios de procesamiento de video  .

El principal campo de batalla de la próxima década

Lo ideal sin servidor debería ser: forma de producto más completa, flexibilidad más extrema, mejor cadena de herramientas, mayor ahorro de costos, eficiencia de desarrollo más eficiente, velocidad de migración más conveniente y rápida, actualización más conveniente y poderosa Experiencia en la nube. Para permitir que los desarrolladores se centren en el desarrollo de código comercial de una manera, sin prestar atención a las diferencias en las plataformas operativas, una escritura puede ejecutarse en todas partes, y los desarrolladores solo necesitan dominar una forma para no tener costos de aprendizaje entre diferentes negocios. Para cambiar.

Desde la perspectiva de los desarrolladores, todo el modelo de I + D de Serverless también presenta desafíos para el sistema de I + D. Para el front-end, Serverless no solo complementa las capacidades existentes de los ingenieros de front-end, sino que también puede cambiar el posicionamiento de toda la industria del front-end. Resulta que la gente a menudo piensa que el trabajo de front-end es simple, simplemente haz un buen trabajo en el desarrollo de la interfaz de usuario y el resto puede dejarse para el back-end. Pero una vez que se combinan el front-end y el servidor sin servidor, la demanda de todos para el front-end no es solo desarrollar una página, sino poder entregar el desarrollo de la aplicación completa.

Pero, en consecuencia, la primera reacción de los compañeros de back-end podría ser, ¿esto me revoluciona? ¿Ya no necesito trabajar? Este no es el caso. La evolución del modelo de I + D sin servidor les ayuda a evolucionar a un nivel inferior, lo que les permite centrarse en las partes que realmente necesitan hacer investigación técnica. Por ejemplo, ¿cómo hacer que estas capacidades de datos y capacidades de servicio sean mejores y más sólidas? Esto es lo que esperamos ver.

Alibaba Cloud juega una carta muy interesante y beneficiosa para el desarrollo general de Serverless mediante la combinación de la cadena de herramientas, la comunidad y las capacidades del producto. El objetivo de Alibaba Cloud Serverless es convertirse en "el servidor sin servidor que todo el mundo necesita", que es completamente diferente de otros proveedores de nube . Solo los proveedores sin servidor que anteponen las necesidades de los usuarios pueden hacer bien los productos sin servidor.

En el futuro, la tecnología sin servidor será omnipresente, y cualquier solución técnica lo suficientemente compleja puede implementarse como un servicio de back-end sin servidor totalmente administrado . No solo productos en la nube, sino también servicios de socios y terceros. La nube y sus capacidades ecológicas se reflejarán a través de API + Serverless. De hecho, para cualquier producto u organización basada en plataforma que utilice API como una forma de revelar funciones, como DingTalk, Didi, WeChat, etc., Serverless será la parte más importante de su estrategia de plataforma.

La cuenta oficial de Serverless publica la información más reciente sobre la tecnología Serverless, recopila el contenido más completo de la tecnología Serverless, presta atención a la tendencia sin servidor y presta más atención a la confusión y los problemas que encuentra en su práctica.

Supongo que te gusta

Origin blog.51cto.com/14902238/2562966
Recomendado
Clasificación