A Serverless Boost to Your DevOps Infrastructure
Adopting DevOps is easier said than done and this is mainly because setting up the right infrastructure to promote DevOps practices is either too complex or resource-demanding. However, with upcoming serverless technologies, we can now achieve DevOps like never before. Hence this talk is about what and why serverless technologies are best suited for your DevOps infrastructure, and what can be achieved when considering serverless in your main architecture and as ancillary services throughout your DevOps pipeline.
Outline/Structure of the Talk
The basic principle of DevOps is to increase throughput while maintaining stability. This is facilitated by automation as it allows faster flow across the DevOps pipeline and also reduces the possibility of human error. However, automation also means a possibility of reduced reliability especially since human checks are bypassed. This means that we really need to ensure a solid DevOps pipeline when considering tasks such as continuous deployment. After all, out of all the benefits that GitOps promised, one of the major reasons why the industry is still skeptical about picking it up is the lack of reliability of what is automatically being sent to production.
Nevertheless, the major reason for staying away from DevOps in general, apart from concern for mitigated reliability due to automation, is the fact that practicing DevOps requires an underlying architecture and could be expensive and tedious to implement. That means automated CI/CD pipelines, source control integrations, monitoring, and incident management. This is where serverless comes in.
Serverless is perfect in boosting DevOps adoption especially as acting as glue services between the various parts of the DevOps cycle. This is because of three major characteristics of serverless:
By leveraging these properties of serverless services, we can thus achieve the DevOps mindset by incorporating serverless technologies in either our core architecture and as ancillary services.
- Serverless in the core architecture
- Distributed systems
- Reduced costs of redundancy
- Serverless event buses for communication
- Reduced ops
- Distributed systems
- Serverless for ancillary DevOps use cases:
- System tests through synthetic FaaS services (how it is done in Atlassian as an example)
- Monitoring through monitoring FaaS services (how it is done in Atlassian as an example)
- Incident remediation through FaaS and serverless event bus services such as AWS Eventbridge and Azure Event Grid (theoretical example as use-case)
- Fail Management through serverless CaaS services (theoretical example as use-case)
- Environment configurations with IaC tools such as ARM Templates and AWS CloudFormation Templates managed using a combination of CaaS and FaaS services (how it is done in Atlassian as an example)
- CI/CD with FaaS services acting as glue functions and managing deployments, where automation is further enhanced using a serverless event bus such as AWS EventBridge or Azure Event Grid (GitOps set-up as an example)
the multiple areas of the DevOps pipeline in which serverless can act as effective solutions to accelerate your adoption of DevOps principles and ensure the success of your teams. the content of the talk is based on real-life examples of how various serverless services are being used by various teams both in Atlassian and other organizations.
Those involved in development teams and looking to find ways to better adopt DevOps practices.
Prerequisites for Attendees
- Basics of cloud computing
- Distributed Systems