Necesitarás una plataforma para la automatización y la orquestación. Sin servidor podría ser justo lo que estás buscando.
Sin servidor (también conocido como La función como servicio aún está en sus primeras etapas. Y cualquier tecnología que recién está encontrando su camino tiende a necesitar responder a la pregunta "¿pero para qué sirve?". Esto es particularmente cierto en una época en la que hay algún nuevo desarrollo o tecnología que reclama nuestra atención casi a diario.
Los casos de uso típicos de la tecnología sin servidor giran en torno a su capacidad de aprovechar el poder de la nube para tipos específicos de cargas de trabajo, como el procesamiento de imágenes o la minería de datos. Pero hoy en día hay organizaciones que utilizan tecnología sin servidor para fines menos atractivos, digamos, como la automatización de operaciones.
De hecho, podría argumentar (y creo que lo haré porque soy yo) que la tecnología sin servidor es quizás uno de los medios más eficientes de automatizar operaciones en la actualidad. Aquí hay cuatro razones por las que le sugeriré que considere seriamente la tecnología sin servidor como una plataforma para automatizar operaciones.
1.Está impulsado por eventos
En un sistema impulsado por eventos, las acciones hacen que las cosas sucedan. Los eventos (a veces llamados acciones ) se pueden activar de varias maneras, pero lo más probable es que se invoquen a través de una llamada a la API REST, ya sea mediante una línea de comando (piense en "curl") o desde una interfaz web simple. Esto incluye tareas como aprovisionar un servicio, actualizar una configuración o deshabilitar una regla de firewall. Básicamente, la implementación de aplicações en producción (y posteriormente sus servicios de red y aplicaciones necesarios) se descompone en una serie de “acciones”. Muchas acciones en el pipeline se activan con la finalización de una acción anterior, lo que se corresponde perfectamente con los conceptos de “secuencia de acciones” en entornos sin servidor como OpenWhisk . La orquestación de la implementación es, después de todo, la automatización de un proceso que comprende muchas tareas automatizadas individuales más pequeñas. Cada uno de ellos podría representarse adecuadamente mediante una llamada API en un entorno sin servidor, con una llamada API general que inicie toda la secuencia.
2.Promueve la infraestructura como código y la reutilización
Las plantillas y los scripts se ajustan al concepto de infraestructura como código, pero un sistema sin servidor cumpliría existencialmente con el criterio. Al hacerlo se promueve aún más la reutilización de artefactos y construcciones de implementación al encapsularlos como código inyectado en el proceso. Esto significa procesos predecibles, repetibles y consistentes que puedan medirse y optimizarse a lo largo del tiempo. Un enfoque de “una tarea, una función” fomenta aún más la componibilidad y permite una creación más fluida del proceso que puede impulsarse fácilmente inyectando diferentes funciones basadas en una canalización generada dinámicamente.
3.Es "sin servidor"
Ahora bien, todos sabemos que “sin servidor” no es literalmente “sin servidores”. Pero el mismo concepto (que la infraestructura de hardware (y software) subyacente es “invisible” para quienes la usan) que la hace atractiva para los desarrolladores debería hacerla atractiva también para las operaciones de infraestructura y red. Recuerde, una vez que comience a automatizar y orquestar el proceso de implementación, necesitará software y sistemas para administrarlo. Esto significa servidores y software que deben tener licencia, mantenimiento, administración, escalabilidad y protección... bueno, ya te haces una idea. Ya sabes lo exigente que es gestionar aplicaciones orientadas al consumidor; imagina lo mismo para las aplicaciones orientadas a operaciones. Una infraestructura sin servidor, una vez establecida, proporciona una plataforma consistente sobre la cual puedes crear cualquier cantidad de flujos de trabajo sin preocuparte por la infraestructura subyacente. Lo que significa que los mismos beneficios que atraen a los desarrolladores hacia la tecnología sin servidor también pueden ser obtenidos por las operaciones.
4.Es poli-todo
Podrías pensar, ¿qué diablos tiene eso que ver? Bueno, déjame decirte. Ningún centro de datos funciona sobre una infraestructura heterogénea, e incluso dentro del subconjunto de un único proveedor, las organizaciones ejecutan múltiples modelos y versiones de hardware y software por igual. Uno de los desafíos que enfrentan las organizaciones es gestionar la variedad de dispositivos y versiones en el entorno. La mayoría de los entornos sin servidor ya admiten una amplia variedad de lenguajes y conjuntos de herramientas (una acción se puede escribir en Python, otra en node.js), así como acciones “basadas en imágenes”, que son contenedores que ejecutan, bueno, lo que sea. En un mundo en el que se intenta orquestar un proceso compuesto por tareas que automatizan un conjunto tan diverso de sistemas, la capacidad de utilizar la herramienta que funciona mejor (y tal vez la única) es una ventaja para las operaciones.
El problema es que, a diferencia de la mayoría de aplicações , a las que acceden y utilizan constantemente tanto usuarios corporativos como particulares, las tareas operativas se ejecutan con poca frecuencia y, a veces (aunque no nos gusta admitirlo) sin demasiada advertencia, como respuesta a incidentes de seguridad o disponibilidad en el entorno más amplio. Eso significa que un sistema basado en eventos como serverless parece ser una buena opción. Proporciona una plataforma “siempre activa” que puede ejecutar una amplia variedad de tareas en todo el espectro operativo. En un momento dado podría ejecutar una tarea relacionada con la seguridad: actualizar una regla de firewall. El siguiente paso podría ser iniciar una acción para inyectar un nuevo servicio de aplicación (por ejemplo, un WAF) en la ruta de datos de una aplicação como respuesta a una vulnerabilidad de día cero que necesita una reparación inmediata. La misma plataforma puede proporcionar el mecanismo para ejecutar prácticamente todas las tareas operativas necesarias, de forma automatizada y extensible.
Los eventos incluso podrían activarse mediante la creación de un ticket o un comando de bot desde un sistema que permita ChatOps como Slack, y extraer automáticamente la información requerida del ticket o comando para usarla a medida que se invocan las acciones adecuadas para completar la tarea.
Serverless está enfocado en los desarrolladores, pero los principios y mecanismos subyacentes lo convierten en una alternativa atractiva a la construcción de sus propios sistemas de orquestación operativa o a la confianza en un conjunto de sistemas acoplados de forma flexible que traen consigo sus propios desafíos operativos y de integración.
Si recién está comenzando su recorrido hacia la automatización operativa, es posible que desee analizar en profundidad las plataformas sin servidor para la empresa para ver qué tan bien podrían adaptarse a sus necesidades.