- DevOps for Serverless Applications
- Shashikant Bangera
- 533字
- 2021-07-16 17:35:34
Understanding Serverless Frameworks
In the previous chapter, we looked into the world of serverless computing, how it works, what the purpose of it is, the benefits of adopting it, the different service providers, and how they fare in terms of the services they offer. We also learned about the pros and cons of adopting a serverless architecture. The goal of this chapter is to teach us different serverless deployment frameworks, and how they will eventually help us to achieve continuous integration and continuous delivery. Furthermore, we will also look at the various features provided by the frameworks and talk in more detail about the serverless framework, learning what it does under the hood.
In the world of application development, the process of developing an application is usually the same. The developer develops the code on their local machine, and compiles and pushes the changes to the source code management repository. The tester then tests and publishes reports, and the ops team plays the role of deploying the code into various different environments and manages the infrastructure.
But there is a chance that the same code will fail on production. Now, to get this code working again, the developer, tester, and operations teams have to work overtime to get the production live again. During root-cause analysis, the developer will say that his code works fine on his PC, the tester will claim that she has tested everything and will provide reports supporting this fact, and the operations guy will say that his job is just to deploy the code. So the challenges we have here are as follows:
- Make the code run perfectly on production every time it is deployed
- Speed up the deployment cycle
- Make the team work together and own their responsibility
- Have tensionless production deployment
The solution to all these problems is adopting DevOps, automating both the process and team collaboration.
DevOps rides on the wheels of tools, people, processes, and feedback loops. But tools and processes are the front wheel of DevOps, and play a very important role in driving faster release cycles on non-production and production environments, and in continuous integration, continuous testing, and continuous deployment.
Using serverless architecture to implement DevOps is much easier, as we do not have to worry about the underlying infrastructure. However, we still need continuous integration, monitoring, logging, and continuous deployment for smoother-sailing code to production. As serverless is still in its infancy, there are quite a few newly developed tools and frameworks that are available, but these numbers will eventually grow. We will be looking at the more popular tools or frameworks, and finally focus on one framework, looking at it in detail and learning about the features that it offers.
All the tools that we will be looking at in this book are open source frameworks. They each serve a particular function on an as-per-need basis. We will consider four popular serverless frameworks and look at what they have to offer.