Serverless functionality for microservices is a good solution, but don't forget about flexibility

In anticipation of the start of the " Microservice Architecture " course, we have prepared a traditional translation of the material for you.






() , , , : « () ? , , (VM)?»





, : « ». — «», « ». . , .





, (“pay per use”) , , . , , , .





, () . .





(Serverless Functions, FaaS, ) - , , HTTP- , Kafka. , , , .





FAAS Reacts to HTTP Requests: Multiple Concurrency and the “Pay Per Use” Model
FAAS HTTP-: “pay per use”

FAAS   (AWS Lambda, Azure Functions, Google Functions, Oracle Cloud Functions). FAAS , Apache OpenWhisk. (, AWS 10 15 ), .





. , , , SMS- , , , ( FaaS ).





Front-end application served by microservices implemented on various deployment models.
, , .

FaaS

, ( «Pay per use»). 10 , 10 ( , ). , , ( , ) ( 0 , ) , .





, .





, FaaS .





  • : , .





  • , : , , , FaaS .





« » , , . : , .





« » « ».





, FaaS, , . . «pay per use» . .





, , , , Kubernetes , , FaaS.





FaaS , .





? , , , .





,





, , - AWS .





. , 3.000.000 . Lambda 4 500 ( ).





FaaS “pay per use”, , ( ), : 100,60 .





, , , -, .





. , , , . 10 ( , 3.000.000 , , ), , (AWS EC2) 8 32 , , Lambda. 197,22 ( , ). . EC2 , , , .





. , . , . , 2 8 , 31,73 , Lambda.





, , , , FaaS , . .





: ? ?









  • . ( , Java, TypeScript Go), ,  





  • DevSecOps (CI/CD). , , , .









  • -. , , API ( ), , , JSON, . , , , , . , API - Spring Boot ( Java), Express ( Node) Gorilla ( Go). FaaS, .





  • , . , . , ( ). , Spring Boot, Express Gorilla. FaaS , , ( AWS Lambda, Azure Google Cloud, -).





Separating deployment-related code from common business logic to support switchability between different deployment models
, , -

, :





  • «, » «-»





  • «-» - /, .





, (-), , , , .





«-» «, ». , , AWS Lambda, Google Application Engine, , «, », 6% ( 7 200 ). , 94% , , Lambda .





DevSecOps (CI/CD)

, , ( ) .





, . , , , Docker. FaaS, , FaaS . , FaaS.





, «-» «, », , . «-» «, » , , , , . , .





- , , «-», , .





, ,

, , «, », , . , , , /, , .





Separating responsibilities between parts of the codebase of a modern application

. , . , .





. , FaaS , , .





. , , , , , .





, .






"Microservice Architecture".








All Articles