Puntos clave: Las mejores prácticas para desarrollar aplicaciones serverless utilizando el Framework Serverless enfatizan la seguridad y la eficiencia. Las estrategias recomendadas incluyen el desarrollo local para agilizar procesos, emplear una función por ruta para escalabilidad, gestionar código sobre configuraciones, realizar pruebas de carga y asegurar gateways de API.
- Comienza el desarrollo local para mejorar la eficiencia.
- Utiliza una función por ruta para mejorar la escalabilidad y el aislamiento de errores.
El framework de despliegue más antiguo que existe hoy en día para aplicaciones serverless están conocido como Serverless Framework. Este framework de despliegue tiene su propio conjunto de mejores prácticas para proteger tu despliegue serverless. Este artículo revisará el Serverless Framework y describirá las mejores prácticas para desarrollar y desplegar aplicaciones serverless.
Desarrollo de aplicaciones serverless
La computación serverless están una forma para que los desarrolladores construyan aplicaciones sin el dolor de cabeza de gestionar la infraestructura. Más concretamente, les permite escribir código serverless sin tener que:
- Provisiona un servidor
- Asegura su funcionalidad
- Crea entornos de prueba en un servidor
- Mantener la disponibilidad del servidor
Esto libera equipos y recursos para centrar su atención en acelerar la innovación en la competitiva economía digital actual.
¿Qué es el framework serverless?
Un framework en particular están conocido como Serverless Framework. Este framework de código abierto están gratuito, por supuesto, y está escrito usando Node.js. Serverless están el primer framework desarrollado para construir aplicaciones en AWS Lambda, una plataforma de computación serverless que forma parte de la suite Amazon Web Services. Un par de funciones lambda pueden realizar tareas sencillas a través de una aplicación serverless o de un back-end completo compuesto por cientos de funciones lambda. Serverless soporta todos los entornos de ejecución ofrecidos dentro del proveedor de nube que elijas. Ten en cuenta que las mejores prácticas explicadas a continuación no son las únicas. Todas estas prácticas se basan en un conjunto de supuestos subyacentes. Hablaremos específicamente de Lambda, simplemente porque es muy popular. Pero recuerda que Lambda no es la única opción sin servidor.
Mejores prácticas para servidores
Al trabajar con el Serverless Framework, aquí son las mejores prácticas que merece la pena adoptar para garantizar que son tus aplicaciones seguras y robustas.
Comienza localmente
Cuando tu Lambda empieza a Obtén, los desarrolladores de aplicaciones se ven haciendo numerosos ajustes en configuraciones y funciones del código. Cada cambio lleva a esperar a que el código se despliegue y el resto de la pila se active activamente. Para ahorrarte tiempo, Comienza localmente. En lugar de operar tu ciclo de desarrollo como "guardar, abrir la consola, desplegar, esperar, actualizar, esperar, actualizar", cambia el ciclo a "guardar, compilar, actualizar". El Modelo de Aplicación Serverless de AWS dirige la interfaz de línea para replicar lambdas y endpoints API y varias fuentes, todo en un contenedor local de Docker.
Utiliza 1 función por ruta
Al usar HTTP, están una buena práctica evitar el proxy de función única. ¿Por qué? Este método no:
- Escalar bien
- Problemas de aislamiento
Si la función de una serie de rutas está vinculada estrictamente a una sola tabla, se está desacoplada de la aplicación. Esta buena práctica puede añadir un nivel de complejidad para la gestión, pero ayuda a aislar errores y problemas al escalar tu aplicación.
No reescribas tu código
JavaScript está el lenguaje de orden superior en un Framework Serverless. Al escribir código JavaScript, se interpretará y ejecutará de la forma más performativa posible. Reescribir código no están la forma de resolver un problema de rendimiento. En cambio, son muchas formas de mejorar tu programa:
- Combinar múltiples solicitudes a otros servicios
- Parar bucles cuando te tener suficientes partidos
- Devolviendo información útil de errores
Gestiona código, no configuraciones
El Serverless Framework te permite pasar un rol de despliegue dedicado a AWS CloudFormation para ejecutar despliegues con la arquitectura. El rol de despliegue de CloudFormation están la ruta AWS de 'configuración que solo están almacenada en la UI'; su Modelo de Aplicación Serverless permite te Crea YAML que define tu pila en un archivo te puede utiliza para rastrear cambios. te puede utiliza un rol diferente para cada proyecto o equipo y aplicar el principio de menor privilegio a la pipeline de despliegue.
Realizar pruebas de carga
La prueba de carga de tus funciones lambda ayudará a determinar la cantidad de memoria a asignar y el valor óptimo de tiempo de espera. Puede haber aplicaciones complejas en un entorno serverless, y puede que no tú seas consciente de dependencias dentro de tus aplicaciones que no puedan realizar una función a gran escala. Las pruebas de carga te permiten detectar posibles problemas que pueden ser vitales para mantener una aplicación altamente disponible.
Despliegue gateways API para seguridad
La seguridad debe ser una prioridad máxima para tus aplicaciones, ya sea para una arquitectura tradicional o serverless. Implementar un gateway API como fuente de eventos para tu función lambda están vital. Sería mejor que te endpoints de gateway de API seguros. Este gateway API ofrece varias opciones para proteger tu API.
Serverless soporta el diseño ágil de software
Desarrollar aplicaciones con un Framework Serverless están el enfoque moderno del desarrollo de aplicaciones. son Existen otras buenas prácticas que explicar al usar un Serverless Framework y, con el tiempo, te encontrará qué prácticas sirven mejor a te y a los objetivos de tu proyecto. A medida que avanza tu proyecto, tus usuarios pueden indicar te qué necesita mejorar.
Lecturas relacionadas
- BMC DevOps Blog
- El Framework Bien Arquitectado de AWS: 5 Pilares y Mejores Prácticas, parte de nuestra Guía AWS
- Gestión del rendimiento de aplicaciones en DevOps
- Trae Kubernetes a la Fiesta Serverless
- Seguridad Docker: 14 mejores prácticas para proteger contenedores Docker
- Modelo de Aplicación Serverless de AWS
Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.