How Serverless Computing (Function-as-a-Service) works and where it is used

Serverless computing and the Function-as-a-Service solutions that work on its basis help developers develop products with a focus on business features. We experimented with these technologies and came to the conclusion that the existing solutions are damp for combat use. Let's go in order.





The term serverless computing is somewhat misleading - of course, servers remain at the heart of the product, but the developers don't have to worry about them. At its core, Serverless continues the same virtualization ideas as earlier aaS technologies: allowing the team to focus on code and feature development. If IaaS is an abstraction of equipment, containers are an abstraction of applications, then FaaS is an abstraction of the business logic of a service.





The idea is not to pack the application server, database, load balancers into the container. Developers can isolate a function in code, load it on the cloud platform, and run it when needed. Provisioning instances, deploying code and allocating resources, launching web interfaces, monitoring health, ensuring security - all this happens automatically.





FaaS provides maximum flexibility in performance management - during downtime, the function does not consume any resources, and if required, the platform quickly allocates capacity, which will be enough for almost any workload. Serves an application of one user or one hundred thousand at once - the performance of a system with FaaS architecture does not actually suffer, and a product with a traditional architecture would certainly have problems.





The team does not worry about the backend and deployment processes.In ideal conditions, the implementation of a new feature is reduced to uploading one function to the server. As a result, development moves faster, Time-to-Market creeps down. And in the company as a whole, the implementation of FaaS helps to develop a platform approach - for Serverless computing, either a pool of cloud resources from a provider or a Kubernetes cluster is needed.





Serverless-. : Lambda Amazon KNative. Amazon, Kubernetes.





Amazon Lambda – , . , , , .





«» – , . , , , .





KNative – , Kubernetes.





Lambda, , . :





  • Event source – FaaS-, . HTTP-, ,





  • Broker – «», Event Source. Kafka, ..





  • Trigger – Broker , «» Service.





  • Service – , -.





, , : (1) , (2) Docker-, (3) .





KNative – , FaaS- . , , .





FaaS

, 0 100%:





  • , . / , , .





  • (push, email, ).





  • , , – . Serverless , .. . , , .





Serverless:

  1. . , , .





  2. – AWS, Microsoft Azure Google Cloud. Kubernetes .





  3. FaaS – Β« Β», . , DDD. , . . .





– Serverless

... Provided that the developers will develop this direction, in particular - to develop open source platforms to the level of the same Amazon Lambda.





The motivation for such projects can be a reduction in resource costs, improved management of large energy-intensive products. But for now, it may be easier for developers to work the old fashioned way. Possession of Serverless and the ability to use these tools is a good baggage, companies should wait a couple of years before using them in combat.








All Articles