Book Image

Accelerating DevSecOps on AWS

By : Nikit Swaraj
Book Image

Accelerating DevSecOps on AWS

By: Nikit Swaraj

Overview of this book

Continuous integration and continuous delivery (CI/CD) has never been simple, but these days the landscape is more bewildering than ever; its terrain riddled with blind alleys and pitfalls that seem almost designed to trap the less-experienced developer. If you’re determined enough to keep your balance on the cutting edge, this book will help you navigate the landscape with ease. This book will guide you through the most modern ways of building CI/CD pipelines with AWS, taking you step-by-step from the basics right through to the most advanced topics in this domain. The book starts by covering the basics of CI/CD with AWS. Once you’re well-versed with tools such as AWS Codestar, Proton, CodeGuru, App Mesh, SecurityHub, and CloudFormation, you’ll focus on chaos engineering, the latest trend in testing the fault tolerance of your system. Next, you’ll explore the advanced concepts of AIOps and DevSecOps, two highly sought-after skill sets for securing and optimizing your CI/CD systems. All along, you’ll cover the full range of AWS CI/CD features, gaining real-world expertise. By the end of this AWS book, you’ll have the confidence you need to create resilient, secure, and performant CI/CD pipelines using the best techniques and technologies that AWS has to offer.
Table of Contents (15 chapters)
1
Section 1:Basic CI/CD and Policy as Code
5
Section 2:Chaos Engineering and EKS Clusters
9
Section 3:DevSecOps and AIOps

Introducing AWS App Mesh

Before diving into service meshes, let's learn about the problem that they resolve. After that, we will learn about their components.

Are microservices any good?

To answer that question, we need to have a look at a traditional application, such as a monolith, where you have all your logic in one app written in one language that does all the functionality. It may be using object-orientated programming, so you have different classes that do different things, but at the end of the day, it's like one big program that does all the stuff. There are a lot of advantages of doing a monolith type of development. For example, it's easier to debug and deploy; you just need to push it out and you are done. But this is only an advantage when you have a small team and a small application. The problem with monolith comes when your app starts to grow a little bigger. If you are making a small change in the app, you must re-deploy the whole thing. There...