Files
awesome-kubernetes/v2-docs/serverless.md

105 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Serverless Architectures and Frameworks
!!! info "Architectural Context"
Detailed reference for Serverless Architectures and Frameworks in the context of The Container Stack.
## Standard Reference
- [theregister.com: Microservices guru says think serverless, not Kubernetes: You don't want to manage 'a towering edifice of stuff'](https://www.theregister.com/software/2020/09/22/microservices-guru-says-think-serverless-not-kubernetes-you-dont-want-to-manage-a-towering-edifice-of-stuff/353334) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [serverlessguru.com: Enterprise Serverless Adoption 🌟](https://www.sls.guru/blog/enterprise-serverless-adoption) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [acloudguru.com: Containers vs serverless: Which is right for you?](https://www.pluralsight.com/resources/blog/cloud/containers-vs-serverless-which-is-right-for-you) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [dev.to: Price Comparison of Popular Serverless Architecture Providers](https://dev.to/d1020/price-comparison-of-popular-serverless-architecture-providers-2jk9) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [winderresearch.com: A Comparison of Serverless Frameworks for Kubernetes: OpenFaas, OpenWhisk, Fission, Kubeless and more](https://winder.ai/a-comparison-of-serverless-frameworks-for-kubernetes-openfaas-openwhisk-fission-kubeless-and-more) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [xenonstack.com: Serverless Architecture with OpenFaaS and Java](https://www.xenonstack.com/blog/serverless-open-faas-java) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [datacenterknowledge.com: Explaining Knative, the Project to Liberate Serverless from Cloud Giants](https://www.datacenterknowledge.com/servers/explaining-knative-the-project-to-liberate-serverless-from-cloud-giants) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [OpenShift Serverless](https://www.redhat.com/en/technologies/cloud-computing/openshift/serverless) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [openshift.com: Why and When you need to consider OpenShift Serverless](https://www.redhat.com/en/blog/why-and-when-you-need-to-consider-openshift-serverless) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [Building microservices? Give Dapr a try](https://www.infoworld.com/article/2261795/building-microservices-give-dapr-a-try.html) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [versusmind.eu: Dapr - a serverless runtime for distributed applications 🌟](https://versusmind.eu/dapr-a-serverless-runtime-for-distributed-applications) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [Docker for LLMs](https://www.docker.com/llm) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [Azure Functions Cost Considerations and Optimization](https://build5nines.com/azure-functions-cost-considerations-and-optimization) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [itnext.io: **arkade** by example — Kubernetes apps, the easy way 🌟](https://itnext.io/kubernetes-apps-the-easy-way-f06d9e5cad3c) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [martinfowler.com: Serverless Architectures](https://martinfowler.com/articles/serverless.html) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [developers.redhat.com: Serverless Architecture](https://developers.redhat.com/topics/serverless-architecture) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [itnext.io: Scaling My App: Serverless vs Kubernetes 🌟](https://itnext.io/scaling-my-app-serverless-vs-kubernetes-cdb8adf446e1) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [Is Serverless The End Of Kubernetes?](https://towardsdatascience.com/kubernetes-serverless-differences-84699f370609) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [freecodecamp.org: Serverless is cheaper, not simpler](https://www.freecodecamp.org/news/serverless-is-cheaper-not-simpler-a10c4fc30e49) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [medium: What a typical 100% Serverless Architecture looks like in AWS!](https://medium.com/serverless-transformation/what-a-typical-100-serverless-architecture-looks-like-in-aws-40f252cd0ecb) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [serverless.com: Why we switched from docker to serverless](https://www.serverless.com/blog/why-we-switched-from-docker-to-serverless) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [developers.redhat.com: Orchestrate event-driven, distributed services with' Serverless Workflow and Kubernetes](https://developers.redhat.com/blog/2020/11/26/event-driven-distributed-service-orchestration-with-serverless-workflow) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [dzone: Implementing Serverless Microservices Architecture on AWS](https://dzone.com/articles/implementing-serverless-microservices-architecture) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [docs.google.com: Serverless Guide to Success 2021](https://docs.google.com/document/u/0/d/1VEkUvTbqxfC1XyVGb2Z3DtEk9NA1M6PJpeCqEYRATLM/mobilebasic) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [vimal-dwarampudi.medium.com: Serverless Architecture design on major clouds](https://vimal-dwarampudi.medium.com/serverless-architecture-design-on-major-clouds-8c53c2aa62d2) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [dzone: When to Use Serverless, and When to Use Kubernetes 🌟](https://dzone.com/articles/when-to-use-serverless-when-to-use-kubernetes) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [itnext.io: Kubernetes Serverless simply visually explained 🌟](https://itnext.io/kubernetes-serverless-simply-visually-explained-ccf7be05a689) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [readysetcloud.io: Building Serverless Applications That Scale The Perfect' Amount 🌟](https://www.readysetcloud.io/blog/allen.helton/how-to-design-serverless-apps-that-scale-the-perfect-amount) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [jeromevdl.medium.com: When to use a Lambda function, and when not? 🌟](https://jeromevdl.medium.com/when-to-use-a-lambda-function-and-when-not-9a225e6dd2dd) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [c-sharpcorner.com: Why and When to use Azure Functions](https://www.c-sharpcorner.com/article/why-and-when-to-use-azure-functions) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [dzone: When to Use Logic Apps and Azure Functions](https://dzone.com/articles/when-to-use-logic-apps-and-azure-functions) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [serverlessland.com/event-driven-architecture: Introduction to Event Driven' Architecture 🌟](https://serverlessland.com/event-driven-architecture) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [medium.com/@marinradjenovic: Why do you still need to think of scalability' when architecting Serverless apps?](https://medium.com/@marinradjenovic/why-do-you-still-need-to-think-of-scalability-when-architecting-serverless-apps-a2e1f14e3eca) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [architectelevator.com: Concerned about Serverless Lock-in? Consider Patterns!](https://architectelevator.com/cloud/serverless-design-patterns) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [serverlessland.com: EDA VISUALS](https://serverlessland.com/event-driven-architecture/visuals) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [serverlessland.com: BATCH PROCESSING VS EVENT STREAMING](https://serverlessland.com/event-driven-architecture/visuals/batching-vs-event-streams) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [serverlessland.com: Splitter pattern](https://serverlessland.com/event-driven-architecture/visuals/splitter-pattern) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [dev.to: Serverless - Beyond the Basics | Kristi Perreault 🌟](https://dev.to/aws-heroes/serverless-beyond-the-basics-kom) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [theburningmonk.com: Why you should use ephemeral environments when you do' serverless](https://theburningmonk.com/2019/09/why-you-should-use-temporary-stacks-when-you-do-serverless) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [serverlesshorrors.com](https://serverlesshorrors.com) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [theburningmonk.com: Making Terraform and Serverless framework work together](https://theburningmonk.com/2019/03/making-terraform-and-serverless-framework-work-together) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [betterprogramming.pub: Going Serverless? Governance Is Everything](https://betterprogramming.pub/going-serverless-governance-is-everything-c70589c9cee9) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [fathomtech.io: Microservices vs. Serverless](https://fathomtech.io/blog/microservices-vs-serverless) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [cloudnowtech.com: Kubernetes vs Serverless How do you choose? 🌟](https://www.cloudnowtech.com/blog/kubernetes-vs-serverless-how-do-you-choose) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [economictimes.indiatimes.com: Thoughtworks XConf Tech Talk Series: Serverless' vs. Kubernetes when deploying microservices](https://economictimes.indiatimes.com/tech/technology/thoughtworks-xconf-tech-talk-series-serverless-vs-kubernetes-when-deploying-microservices/articleshow/89085544.cms) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [oliverjumpertz.medium.com: Serverless vs. Kubernetes](https://oliverjumpertz.medium.com/serverless-vs-kubernetes-58b0b387dc98) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [thenewstack.io: Serverless vs. Kubernetes: The Peoples Vote](https://thenewstack.io/serverless-vs-kubernetes-the-peoples-vote) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [dashbird.io: Serverless Case Study Coca-Cola](https://dashbird.io/blog/serverless-case-study-coca-cola) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [thenewstack.io: How Daily.Dev Built a Low-Budget Serverless Scraping Pipeline' for Online Articles](https://thenewstack.io/how-daily-dev-built-a-low-budget-serverless-scraping-pipeline-for-online-articles) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [wikipedia: FaaS Function as a Service](https://en.wikipedia.org/wiki/Function_as_a_service) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [redhat.com: What is Function-as-a-Service (FaaS)?](https://www.redhat.com/en/topics/cloud-native-apps/what-is-faas) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [stackify.com: What Is Function-as-a-Service? Serverless Architectures Are' Here!](https://stackify.com/function-as-a-service-serverless-architecture) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [dev.to: FaaS on Kubernetes: From AWS Lambda & API Gateway To Knative &' Kong API Gateway](https://dev.to/pmbanugo/faas-on-kubernetes-from-aws-lambda-api-gateway-to-knative-kong-api-gateway-4n84) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [fauna.com: How does FaaS compare to PaaS and CaaS. A Comparison of Serverless' Function (FaaS) Providers](https://fauna.com/blog/comparison-faas-providers) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [techbeacon.com: An essential guide to the 2019 serverless ecosystem](https://techbeacon.com/enterprise-it/essential-guide-2019-serverless-ecosystem) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [vshn.ch: A (Very!) Quick Comparison of Kubernetes Serverless Frameworks](https://www.vshn.ch/en/blog/a-very-quick-comparison-of-kubernetes-serverless-frameworks) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [serverless.com: Serverless Framework](https://www.serverless.com) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [epsagon.com: Serverless Open-Source Frameworks: **OpenFaaS**, **Knative**,' & More 🌟](https://epsagon.com/blog/serverless-open-source-frameworks-openfaas-knative-more) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [OpenFaaS](https://www.openfaas.com) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [itnext.io: Deploy your first Serverless Function to Kubernetes](https://itnext.io/deploy-your-first-serverless-function-to-kubernetes-232307f7b0a9) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [magalix.com: Implementing FaaS in Kubernetes Using Kubeless](https://www.magalix.com/blog/implementing-faas-in-kubernetes-using-kubeless) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [openfaas.com: Learn how to build functions faster using Rancher's kim and' K3s](https://www.openfaas.com/blog/kim) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [OpenFunction: Cloud Native Function-as-a-Service Platform (CNCF Sandbox' Project)](https://github.com/OpenFunction/OpenFunction) <span class='md-tag md-tag--info'>⭐ 1656</span> <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [knative.dev](https://knative.dev) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [kn: knative client](https://github.com/knative/client) <span class='md-tag md-tag--info'>⭐ 384</span> <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [redhat.com: What is knative?](https://www.redhat.com/en/topics/microservices/what-is-knative) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [developers.redhat.com: Build and deploy a serverless app with Camel K and' Red Hat OpenShift Serverless 1.5.0 Tech Preview](https://developers.redhat.com/blog/2020/04/24/build-and-deploy-a-serverless-app-with-camel-k-and-red-hat-openshift-serverless-1-5-0-tech-preview) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [redhat-scholars.github.io: Welcome to OpenShift Serverless Logic Tutorial](https://redhat-scholars.github.io/serverless-workflow/osl/index.html) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [kubeless.io](https://kubeless.io) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [medium.com: Serverless - Build a Serverless Simple Flask Application with' Kubeless on top of Kubernetes](https://medium.com/@peiruwang/serverless-build-a-serverless-simple-flask-application-with-kubeless-on-top-of-kubernetes-95c6682c3750) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [openwhisk.apache.org](https://openwhisk.apache.org) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [developers.redhat.com: Build and deploy microservices with Kubernetes and' Dapr](https://developers.redhat.com/articles/2021/08/12/build-and-deploy-microservices-kubernetes-and-dapr) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [dev.to: Running Dapr on Kubernetes](https://dev.to/cvitaa11/running-dapr-on-kubernetes-89g) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [github.com/diagrid-labs/dapr-workflow-demos](https://github.com/diagrid-labs/dapr-workflow-demos) <span class='md-tag md-tag--info'>⭐ 62</span> <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [headleysj.medium.com: Building event-driven systems at scale in Kubernetes' with Dapr — Part II: How does Dapr work?](https://headleysj.medium.com/building-event-driven-systems-at-scale-in-kubernetes-with-dapr-part-2-how-does-dapr-work-732ba7a0d652) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [thenewstack.io: Build a Serverless API with AWS Gateway and Lambda](https://thenewstack.io/build-a-serverless-api-with-aws-gateway-and-lambda) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [TriggerMesh](https://www.triggermesh.com) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
- [thenewstack.io: TriggerMesh: Open Sourcing Event-Driven Applications](https://thenewstack.io/triggermesh-open-sourcing-event-driven-applications) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span>
## Architecture
### Microservices
#### Distributed Application Runtime
- [dapr.io](https://dapr.io) <span class='md-tag md-tag--critical'>[ADVANCED LEVEL]</span> <span class='md-tag md-tag--success'>[DE FACTO STANDARD]</span> — Curator Insight presents Dapr as a portable, event-driven runtime that simplifies building resilient, distributed microservices. Live Grounding highlights its widespread enterprise adoption as a CNCF incubated project, offering sidecar APIs for state management, pub/sub, and service invocation across any cloud.
## Software Architecture
### Cloud Patterns
#### Serverless
- [ServerlessHorrors: A Web Compiling Nightmares in the Serverless World](https://revistacloud.com/serverlesshorrors-la-web-que-recoge-las-peores-pesadillas-del-mundo-serverless) <span class='md-tag md-tag--warning'>[SPANISH CONTENT]</span> <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span> — Un compendio técnico sobre los errores más comunes y costosos en el diseño de arquitecturas serverless. Ofrece un análisis crítico de fallos reales de concurrencia, inicios en frío ("cold starts"), costos fuera de control e integración de servicios, sirviendo como guía de advertencia para diseñadores de sistemas distribuidos. [SPANISH CONTENT]
---
💡 **Explore Related:** [Kubernetes Bigdata](./kubernetes-bigdata.md) | [Kubernetes Operators Controllers](./kubernetes-operators-controllers.md) | [Openshift](./openshift.md)