Saltear al contenido principal

Sin servidor – Lenguaje Python

Serverless es una arquitectura de implementación donde los servidores no son aprovisionados explícitamente por el implementador. En cambio, el código se ejecuta en función de los eventos definidos por el desarrollador que se activan, por ejemplo, cuando se envía una solicitud HTTP POST a una API, se escribe una nueva línea en un archivo.

Contrata a un experto en Python para iniciar tu proyecto hoy mismo:

¿Cómo se puede ejecutar el código «sin» servidores?

Los servidores aún existen para ejecutar el código, pero se extraen del desarrollador y se manejan mediante una plataforma informática como Amazon Web Services Lambda o Google Cloud Functions.

Espectro de cómputo sin servidor.

Piense en implementar el código como un espectro, donde por un lado construye su propio servidor a partir de componentes, lo conecta a Internet con una dirección IP estática, conecta la dirección IP al DNS y comienza a atender solicitudes. Usted controla completamente el hardware, el sistema operativo, el servidor web, el servidor WSGI, etc. En el lado opuesto del espectro se encuentran las plataformas informáticas sin servidor que toman el código Python y lo ejecutan sin que usted toque el hardware ni siquiera sepa en qué sistema operativo se ejecuta.

Entre esos extremos se encuentran los niveles que eliminan la necesidad de preocuparse por el hardware (servidores privados virtuales), hasta eliminar las preocupaciones sobre los servidores web (plataformas como servicio). El lugar del espectro para su implementación dependerá de su propia situación. Sin servidor es simplemente el más nuevo y extremo de estos modelos de implementación, por lo que depende de usted cuánta complejidad desea asumir con la implementación frente a su control sobre cada aspecto del hardware y el software.

Implementaciones sin servidor

Cada uno de los principales proveedores de nube tiene una implementación informática sin servidor. Estas implementaciones se encuentran en un desarrollo activo significativo y no todas tienen soporte para Python.

  • AWS Lambda es el líder actual entre las implementaciones informáticas sin servidor. Tiene soporte para Python 2.7 y Python 3.6 / 3.7.
  • Azure Functions tiene soporte ciudadano de segunda clase para Python. Se supone que es posible pero
    un poco hacky en este momento. El soporte de Polyglot debería llegar rápidamente a Azure para competir mejor con AWS Lambda.
  • IBM Bluemix OpenWhisk se basa en el
    Apache OpenWhisk
    proyecto de código abierto.
  • Actualmente, Google Cloud Functions solo admite la ejecución de código JavaScript.
  • Webtask.io también solo admite JavaScript, pero hay una ventaja
    prototipo proyecto llamado webtask-pytask
    para ejecutar código Python en el navegador a través de webtask. Esta demostración definitivamente no es para uso de código de producción, pero es increíble para ver lo que la comunidad de programación puede armar usando el código y los servicios existentes.

Marcos sin servidor

Las bibliotecas y marcos sin servidor tienen como objetivo proporcionar código reutilizable que maneja tareas comunes o tediosas, de manera similar a cómo los marcos web tratan con las tareas comunes de desarrollo web. Algunos de estos marcos están diseñados para un solo servicio como AWS Lambda, mientras que otros intentan hacer que las operaciones entre servidores sean más agradables.

Los marcos para crear aplicaciones basadas en Python en servicios sin servidor incluyen:

  • Sin servidor (código fuente), que es una biblioteca útil pero con un nombre genérico que se centra en la implementación y las operaciones para aplicaciones sin servidor.
  • Zappa (código fuente) proporciona código y herramientas para que sea mucho más fácil construir en AWS Lambda y AWS API Gateway que implementar el suyo en los servicios básicos.
  • Cáliz (código fuente) está construido por el equipo de AWS específicamente para aplicaciones Python.
  • Apéndice (código fuente)

Recursos generales sin servidor

Los conceptos y las implementaciones sin servidor aún se encuentran en sus primeras iteraciones, por lo que aún quedan muchas ideas y buenas prácticas por descubrir. Estos recursos son los primeros intentos de descubrir cómo estructurar y operar aplicaciones sin servidor.

  • Software sin servidor
    cubre una variedad de temas en sin servidor y cómo las implementaciones han cambiado a medida que se han generalizado nuevas opciones como PaaS.
  • Lecciones aprendidas: un año en producción «totalmente sin servidores»
    es una retrospectiva de un pequeño equipo de desarrollo que combina un sitio estático con código backend sin servidor para escalar fácilmente su sitio sin personal de operaciones. Discuten lo bueno y lo malo de trabajar de esta manera y, en general, obtienen una experiencia positiva.
  • De bare metal a sin servidor
    proporciona algunos detalles históricos y un contexto de fondo de cómo han evolucionado varias arquitecturas de ejecución, desde la invención de la web hasta el software como servicio, la infraestructura como servicio y las plataformas sin servidor más nuevas de la actualidad.
  • ¿Ha enviado algo serio con una arquitectura «sin servidor»?
    proporciona algunas respuestas excelentes de los desarrolladores de Hacker News que utilizan servidores sin servidor para aplicaciones de gran producción y cómo lidian con las limitaciones de las plataformas.
  • Guerra de inicio en frío sin servidor
    compara los tiempos de inicio de las instancias de funciones sin servidor en Google Cloud, AWS y Azure. Esta es solo una forma de medir los resultados. El autor hizo un gran trabajo al presentar los datos y explicar las posibles razones por las que los resultados aparecieron como se muestran.
  • Implementaciones sin servidor de las API de Python
    es un maravilloso artículo específico de Python sobre cómo usar AWS Lambda, API Gateway y DynamoDB para crear e implementar una API de Python.
  • ¿Qué es esta cosa sin servidor, de todos modos?
  • Arquitecturas sin servidor: ¿abandonemos los servidores?
  • Arquitecturas sin servidor
    proporciona una fantástica descripción general del tema con un enfoque equilibrado que incluye los inconvenientes observados en las plataformas sin servidor actuales.
  • ¿Por qué tanto alboroto por la tecnología sin servidor?
    es una publicación de amplio alcance sobre la historia del desarrollo de aplicaciones y la infraestructura. La línea de tiempo es un poco difícil de seguir, pero por lo demás es una mirada única a por qué las implementaciones de software se están moviendo hacia arquitecturas basadas en servidores y las ventajas que pueden brindar.
  • Arquitecturas sin servidor en resumen
    establece algunas de las ideas iniciales detrás de las ventajas y desventajas de la tecnología sin servidor. Sin embargo, son los primeros días de la tecnología sin servidor, por lo que estas fortalezas y debilidades pueden cambiar a medida que evolucionan las arquitecturas y las buenas prácticas.
  • Creación de un formulario de contacto sin servidor para su sitio estático
    utiliza AWS Lambda, algo de HTML y JavaScript para agregar un formulario de entrada a un sitio web estático creado por un generador de sitios estáticos.
  • Arquitecturas sin servidor, cinco patrones de diseño
    repasa los cuatro principios principales de la infraestructura sin servidor y los cinco patrones de uso principales que el equipo de AWS Lambda está observando en las implementaciones iniciales sin servidor.
  • Calculadora de costos sin servidor estima la cantidad que cobraría cada plataforma sin servidor en función de las ejecuciones, el tiempo medio de ejecución y la memoria necesaria por ejecución. AWS Lambda, Google Cloud Functions, Azure Functions e IBM OpenWhisk están incluidos en los resultados.

Comparaciones de entornos sin servidor

Las «3 grandes» plataformas sin servidor, AWS Lambda, Funciones de Azure y Funciones de Google Cloud tienen distintos grados de compatibilidad con Python. AWS Lambda tiene soporte listo para producción para Python 2 y 3.7, mientras que Azure y Google Cloud tienen soporte «beta» con un valor de producción poco claro. Los siguientes recursos son algunos artículos comparativos que le ayudarán en su proceso de toma de decisiones sobre qué plataforma aprender.

¿Seguro de proveedor sin servidor?

Existe cierta preocupación por parte de las organizaciones y los desarrolladores sobre el bloqueo de proveedores en plataformas sin servidor. No está claro si la portabilidad es peor para los servidores sin servidor que para otras piezas de infraestructura como servicio, pero vale la pena pensar en ello con anticipación. Estos recursos brindan perspectivas adicionales sobre el bloqueo y el uso de múltiples proveedores de nube.

¿Qué más desea aprender sobre implementaciones y sin servidor?

¿Necesitas ayuda para revisar el código de tu proyecto?



Esta entrada tiene 0 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Volver arriba