Serverless es un estado mental

carl-newton-iX7WedkjpUY-unsplash.jpg

Fuente | Cuenta oficial sin servidor ; Autor | Ben Kehoe; Traductor | donghui

La función no es el punto

Si elige Sin servidor porque le gusta Lambda, lo está haciendo por el motivo equivocado. Si elige Serverless, es porque le gusta FaaS y lo está haciendo por el motivo equivocado. La función no es el punto.

Por supuesto, me gusta Lambda, pero no es por eso que defiendo Serverless.

No me malinterpretes, la función es buena. Le permiten escalar de forma transparente, no tiene que administrar el tiempo de ejecución y, naturalmente, son adecuados para arquitecturas controladas por eventos. Estas son funciones muy útiles.

Pero la función debería convertirse eventualmente en una pequeña parte de la solución general. Debe utilizar funciones que contengan lógica empresarial como enlace entre los servicios de alojamiento que proporcionan la mayor parte del trabajo pesado que constituye la aplicación.

El servicio de custodia no es el punto

Tenemos la suerte de que el proveedor de la nube pueda proporcionar una gama tan amplia de servicios de alojamiento para muchas partes diferentes de la aplicación. Gestión de bases de datos, identidades y accesos (¡me alegro de no tener que ser el propietario!), Análisis, aprendizaje automático, distribución de contenido, colas de mensajes y muchos otros modelos diferentes.

El servicio de alojamiento proporciona las funciones que necesita con menos problemas. No tiene que parchear los servidores que ejecutan. No tiene que asegurarse de que el escalado automático proporcione correctamente el rendimiento requerido sin mucha capacidad libre.

El servicio administrado reduce significativamente la carga de operación y mantenimiento. Los servicios de alojamiento son geniales, pero ... no son el punto.

La operación y el mantenimiento no es el punto

Es bueno saber que puede usar menos recursos de operación y mantenimiento para mantener la aplicación en buen estado. Es especialmente importante que los recursos que necesita se basen principalmente en la cantidad de funciones que proporciona en lugar del tráfico.

Reducir la operación y el mantenimiento, más eficiencia, pero ... este no es el punto. 

El costo no es el punto

Bueno, a veces todo lo que las empresas quieren que hagas es reducir costes, y eso es lo que te importa. Serverless te ayudará a hacer esto. Pero, en general, las facturas de computación en la nube no son el foco del problema.

Su factura en la nube es solo un componente del costo total de una aplicación en la nube. Primero, es el salario del personal de operación y mantenimiento; si sus recursos de personal de operación y mantenimiento son menores, el costo será menor. Y su costo de desarrollo.

Aquí hay muchas ventajas de costos, pero ... estos no son los puntos. 

El código no es el punto

El código no solo no es el punto, sino también una responsabilidad. El código solo puede hacer lo que quieras. Los errores debilitarán esto. Solo perderá el enfoque si escribe más código. Cuanto más código tenga, más oportunidades tendrá de desviarse de su valor esperado. Comprenda que este es un cambio cultural.

La tecnología siempre ha sido difícil. Las personas inteligentes crean valor a través de la tecnología. Entonces, los desarrolladores comenzaron a creer que la inteligencia es inherente y buena. Nos llevó tanto tiempo fabricar relojes suizos que no nos dimos cuenta de la apariencia del cuarzo Casio y acusamos a esta evolución de falta de elegancia.

Necesitamos comprender y resolver los problemas comerciales, no utilizar nuestro ingenio para resolver problemas técnicos. Cuando tienes que codificar, estás resolviendo problemas técnicos. 

La tecnología no es el punto

La razón por la que hacemos esto es para lograr ciertos objetivos comerciales. El valor comercial que su organización está tratando de crear es el foco.

Ahora, a veces, estás vendiendo tecnología. Pero incluso si su producto es tecnología, puede que no sea el valor del producto que vende.

Hay un viejo refrán que dice que la gente compra agujeros en lugar de taladros. Cuando necesita perforar un agujero en la pared, no le importa lo hermoso que sea el taladro, solo le importa lo bien que taladre para obtener el agujero que necesita.

En iRobot, no vendemos robots. Ni siquiera vendemos aspiradoras. Vendemos casas limpias. Roomba le da tiempo para volver a su vida diaria y concentrarse en las cosas que son importantes para usted. Entonces, si la tecnología no es el foco, ¿para qué estamos aquí?

El punto es el enfoque

Serverless es un método que se centra en el valor empresarial.

¿Cómo pueden las funciones ayudarlo a generar valor? Le permiten concentrarse en escribir la lógica empresarial en lugar de escribir la infraestructura de soporte para la lógica empresarial.

Los servicios administrados le permiten concentrarse en funciones de escritura. Menos recursos de operación y mantenimiento pueden liberar mano de obra y fondos para crear un nuevo valor para los clientes.

La observabilidad le proporciona herramientas para lidiar con MTBF y MTTR, los cuales pueden medir la frecuencia con la que sus clientes obtienen valor. Gastar menos dinero en computación en la nube significa que puede gastar más directamente en respaldar la creación de valor. 

El enfoque es la razón para elegir Serverless

Debe elegir Serverless porque desea centrarse en la creación de valor: en su empresa, se esfuerza por aplicar la tecnología para crear valor comercial.

Volviendo al costo, la factura de AWS de Lyft, $ 100 millones por año, se ha convertido recientemente en noticia. Mucha gente dice que pueden hacerlo más barato, no pueden, pero ese no es el punto.

Si Lyft se cambiara a Lambda y administrara el servicio tanto como fuera posible, ¿sus facturas serían más bajas? Pero cuando se toman el tiempo de reestructurar, ¿de qué sirve? Pierden el enfoque.

La empresa se encuentra en una etapa en la que el desarrollo es más importante que el control de costos. Eventualmente, esta situación puede cambiar. Las empresas que cotizan en bolsa son responsables ante los accionistas, por lo que reducir los costos puede aportarles valor. Pero para Lyft hoy, brindar valor a sus clientes significa ejecutar sus aplicaciones y procesos actuales. Están tomando una decisión sin servidor.

Lo que quiero decirles es que Serverless nunca ha involucrado la tecnología que llamamos Serverless. Entonces, ¿qué tiene que ver nuestra llamada tecnología sin servidor con esto?

Serverless es el resultado de centrarse en el valor empresarial

La tecnología es el resultado de cómo entrega valor. El equipo de desarrollo y el equipo de operación y mantenimiento están tradicionalmente separados porque tienen diferentes puntos de enfoque. Pero vemos que esta tendencia está cambiando.

El modelo tradicional se centra en la tecnología de desarrollo tecnológico frente a la tecnología de operación y mantenimiento. Pero hemos visto a personas darse cuenta de que la atención debe centrarse en el valor: las funciones entregadas, incluido cómo construir y ejecutar.

Cuando adoptamos este concepto de enfocarnos en el valor comercial y ejecutamos sus conclusiones lógicas, obtenemos Serverless.

Cuando quiere concentrarse en ofrecer valor, quiere escribir funciones. Cuando una función necesita estado, necesita una base de datos. Para obtenerlo de otros, puede usar DBaaS; puede elegir entre sus opciones en función de cuánto lo mantiene enfocado.

Al elegir los servicios de alojamiento, algunos de ellos pueden incluso estar orientados al usuario. Si puede iniciar sesión con una cuenta social en lugar de tener su propia cuenta, entonces tiene una cosa menos que administrar y menos fichas que tiene para la experiencia del usuario.

Ahora, todavía tiene la responsabilidad de todo lo que subcontrata. A tus usuarios no les importa que su mala experiencia sea causada por un tercero. Este sigue siendo tu problema. Debe dejar la interrupción a sus usuarios mientras acepta que no puede controlar completamente su destino allí. Este es un lugar incómodo, pero merece la pena.

No puedes ganar puntos en estas cosas, pero puedes perder. Esto significa que necesita saber qué aspecto tiene "malo". Esto requiere que tenga un conocimiento suficiente de los productos y tecnologías de subcontratación para asegurarse de proporcionar a los usuarios la calidad suficiente.

Tenga en cuenta que tener una experiencia profunda en un área de enfoque y un conocimiento amplio pero débil en áreas adyacentes es muy similar al concepto de habilidades T, aplicable a organizaciones y equipos. 

Sin servidor es un rasgo

Serverless es una característica de la empresa. Si una empresa decide que no debe tener tecnologías centrales que no se den cuenta de su valor comercial, entonces no tiene servidor. Pocas empresas carecen completamente de servidor. Pero dentro de la empresa, todavía puede haber una parte sin servidor.

Si su equipo decide centrarse solo en el valor que ofrece y delegar cualquier cosa más allá de esos valores a otro equipo, o idealmente a un extraño, su equipo se convertirá en un servidor sin servidores. No siempre puede optar por utilizar tecnología externa; esto es bueno, aún puede tomar la mejor decisión en condiciones limitadas.

En una organización lo suficientemente grande, ya no es importante. Cuando Amazon.com usa Lambda, no tiene ningún servidor, aunque en cierto sentido es local. Pero, ¿y si eres el único?

¿Qué pasa si está entusiasmado con Serverless, pero se siente completamente solo en la empresa? Si está lejos del valor comercial real, ¿qué pasa si parchea un equipo que sirve para la creación de contenido orientado al usuario? ? Quiero convencerle de que hoy puede quedarse sin servidor en cualquier situación.

Sin servidor es la dirección, no el final

Solía ​​hablar de la tecnología sin servidor como un espectro, porque sé que no hay una línea clara para distinguir entre la tecnología sin servidor y la tecnología sin servidor. Quiero decir, apenas hay una línea clara para separar un grupo dado, así que estoy seguro en esta suposición.

He hablado de cosas como Kinesis que necesitan administrar fragmentos. No tiene servidor, pero es menos servidor que SQS. No es necesario utilizar RDS para parchear la instancia, pero debe elegir el tipo y número de instancia. Estas tecnologías no tienen servidor en diversos grados.

Pero recientemente comencé a darme cuenta de que un problema al describir Serverless como un espectro es que no significa móvil. El hecho de que esté utilizando un determinado producto designado como Serverless, no significa que deba sentir que ha obtenido Serverless; es aceptable continuar usándolo y pensar que ha marcado la casilla de verificación Serverless. 

Sube por la escalera sin servidor

Empecé a pensar en Serverless como una mierda. Está escalando un cierto nirvana en el que puede ofrecer valor comercial puro sin gastos generales. Pero cada paso en la escalera es un paso válido sin servidor.

Si pasa de la nube local a la pública, es una escalera. Si migra de una máquina virtual a un contenedor, es simplemente una escalera. Si migra a Kubernetes sin una orquestación de contenedores o una orquestación personalizada, esta es la escalera. Si pasa de un servidor de larga duración a un FaaS autohospedado, será una escalera. Pero siempre hay un peldaño por encima de ti y siempre debes seguir subiendo. 

2.png

Una cosa que "escalera" no transmite es que no es lineal. La migración de máquinas virtuales a contenedores a Kubernetes son todos pasos ascendentes, pero lo mismo ocurre con la migración de máquinas virtuales de las instalaciones a la nube. En estos casos, no suele haber un "mejor" claro.

Pensé en la analogía de muchos caminos hasta la cima de la montaña, pero lo que me gusta de *** es que puede ser infinito. No hay un estado final. Me gusta Lambda, pero siempre estoy buscando una mejor manera de entregar código que me haga prestar más atención al valor.

Serverless es un estado mental

Sin servidor se trata de cómo tomas decisiones, no de tu elección. Cada decisión está obligada. Sin embargo, si conoce la dirección correcta, incluso si no puede moverse directamente de esta manera, puede elegir la opción más estrechamente integrada y luego subir otro peldaño. Entonces, ¿cómo adoptas esta forma de pensar? ¿Cómo se hace una elección sin servidor?

La configuración es tu amiga

Creo que muchos desarrolladores menosprecian la configuración y piensan que "no es una programación real". Ahora existe un culto ciego a la programación. Se nos dice que "el software se está comiendo el mundo", pero lo traducimos incorrectamente como "la codificación se está comiendo el mundo".

Creemos que los desarrolladores son las únicas personas importantes en la organización, y nuestra conciencia de productividad es lo único importante. Queremos sentirnos en la zona, y esto es lo que proporciona el código. Cualquier obstáculo en esta área es perjudicial para el negocio. No tenemos ningún sentimiento sobre si ingresar al área es realmente más rápido y crear valor mejor que las rutas alternativas. 

Recuerde: los días de programación pueden ahorrar horas de configuración

Las limitaciones son buenas. La opción de eliminar puede ayudarlo a mantenerse enfocado. Obviamente, no todas las restricciones son buenas, pero en términos generales, la capacidad para hacer cosas generales tiene el costo de tomar más tiempo para hacer una cosa en particular. La barandilla puede desgastarse, pero correrá más rápido que si mira fijamente el borde de la barandilla.

De esta manera, Serverless se trata de minimalismo. Elimina la interferencia. Marie Kondo es grande ahora y se aplica el mismo consejo. Busque componentes en su pila que no generen valor. 

Miedo a los grandes eventos que podrían suceder.

La posibilidad contiene complejidad oculta. Para cualquier tecnología, uno de mis principales indicadores de evaluación es cuánto tiene más allá de la tarea en cuestión. Cuando hay mucho espacio extra, se trata y se aprende la complejidad innecesaria.

La gente promociona Kubernetes como una herramienta única para cada requisito de la nube, ¡lo hace! Pero si todo es posible, todo es posible. Para una tarea determinada, Kubernetes puede cometer errores porque no considera cómo se comporta cuando no está relacionado con la tarea.

Por otro lado, cuando considera los servicios sin servidor, es posible que deba elegir entre el 80% de las soluciones proporcionadas por los principales proveedores o los servicios proporcionados por proveedores externos que se adapten mejor a sus necesidades. Pero, ¿cuáles son los requisitos de operación y mantenimiento de este nuevo proveedor? ¿Cómo es la autenticación? Se trata de una complejidad oculta, debe introducir estas características, debe sopesar las diferencias en estas características. 

Acepta la incomodidad de no ser dueño de tu propio destino

Cuando utiliza servicios de alojamiento, las interrupciones del proveedor pueden generar presión. No puedes resolver sus problemas. Esto es inevitable, siempre se siente mal. Podría pensar: "Si ejecuto mi propio clúster de Kafka en lugar de usar Kinesis, puedo encontrar el problema y resolverlo". Esto puede ser cierto, pero debes recordar dos cosas:

  • Eso distraería a la gente de la creación de valor empresarial.
  • Es casi seguro que lo hará peor al ejecutarlo. Encontrarás más y peores cosas. El objetivo de vida de los proveedores de servicios es ser buenos en esto; ellos tienen economías de escala y usted no.

Puede ser difícil ir más allá de la actitud de "siempre puedo construirlo yo mismo". Jared Short proporcionó recientemente un excelente conjunto de pautas para seleccionar tecnología.
_Mi pensamiento sobre la tecnología sin servidor en
estos días está en orden de consideración. - Si la plataforma es propietaria, utilice - Si el mercado es propietario, compre - Si puede reconsiderar la demanda, ejecute - Si debe construir, posea. —— @ ShortJared

Por lo tanto, si está utilizando una plataforma en la nube, permanezca en el ecosistema tanto como sea posible. De esta forma, puede eliminar muchas posibilidades de la ecuación. Sin embargo, si no puede obtener lo que necesita en la plataforma, cómprelo en otro lugar.

Si no puede comprar exactamente lo que necesita, ¿puede reconsiderar lo que está haciendo para adaptarse a lo que puede comprar? Esto es realmente importante. Ha alcanzado el núcleo del tiempo de comercialización.

Si tiene algo que cree que es valioso, querrá enviarlo lo antes posible. Pero es mejor enviar algo más rápido que construirlo con precisión, porque no sabe si es lo correcto.

Esperar a que se construya lo correcto no solo llevará más tiempo, sino que las iteraciones posteriores serán más lentas, y su mantenimiento consumirá recursos que puede utilizar para enviar más cosas en el futuro. Esto se aplica incluso cuando la tecnología no es sin servidor: pregunte siempre si los ajustes a sus requisitos pueden lograr una entrega de valor más rápida, mejor o más enfocada.

Pero al final, si debes construirlo, hazte dueño. Encuentra una manera de hacerlo único. Ahora bien, esto no significa que todo lo que ha construido deba diferenciarse. En un mundo perfecto, vea solo lo que no puede comprar. Imagínese cómo sería una implementación totalmente nueva sin servidor y descubra lo que se necesita construir allí. 

Encuentre la parte de valor de su negocio

Por lo tanto, fundamentalmente, desea encontrar la parte de valor de su negocio. ¿Qué trabajo técnico realizas? Quizás esté muy lejos de los productos orientados al usuario. Solo puede contribuir con una pequeña parte. Pero está ahí, puede encontrarlo y centrarse en este valor.

Comience con el valor directo que brinda a otros en la organización y concéntrese en eso. Luego comience a rastrear la cadena de valor. Asegúrese de que todas las decisiones se centren en el valor que crea. Elija la opción sin servidor.

Contrata a personas que puedan hacer el trabajo automáticamente y luego continúa proporcionándoles trabajo. —— @ Jessfraz

Me gusta lo que dijo Jessie Frazelle. Puede darle la vuelta: automatice el trabajo y continúe haciendo el trabajo requerido.

Recuerda, no eres una herramienta. Para cualquier valor que desee crear, créelo automáticamente. Si administra servidores de compilación, busque formas de convertirlos en autoservicio, de modo que no esté entregando la compilación en sí, sino las herramientas de compilación para que el equipo pueda entregar la compilación por sí mismo. 

Resumen: Serverless es un estado de ánimo

El enfoque no está en funciones, servicios administrados, operaciones, costos, código o tecnología. El punto es el enfoque: esta es la razón para elegir Serverless.

Serverless es el resultado de centrarse en el valor empresarial. Este es un rasgo. Esta es la dirección, no el final. Sube por la interminable escalera sin servidor.

La configuración es tu amiga. Varios días de tiempo de programación pueden ahorrar horas de tiempo de configuración. Miedo a los grandes eventos que puedan ocurrir. Acepta la incomodidad de no ser dueño de tu propio destino.

Encuentre la parte de valor de su negocio y obtenga el estado sin servidor. 

Enlace original en inglés:https://read.acloud.guru/serverless-is-a-state-of-mind-717ef2088b42

Supongo que te gusta

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