ECS constructs and security features – Running Containers in AWS

Being an opinionated container management service from AWS, some constructs are unique to the ECS service. Since they are not commonly used across other tools or platforms in the container ecosystem, let’s briefly discuss them. Important constructs used by ECS Similar to how we declaratively define the state of our resources in a CloudFormation template, … Read more

A quick introduction to the container ecosystem – Running Containers in AWS

It’s a well-known fact that traditional monolithic software architectures hosted on-premises slow down teams who want to deliver business outcomes to their customers by leveraging cloud capabilities. So far in this book, we have discussed quite a lot of technical and organizational impacts such applications can have. To overcome these blockers, software teams prefer breaking … Read more

Support for life cycle hooks that map to different phases of software change – Rolling Out a CI/CD Pipeline

With support for several life cycle hooks, you can pin down the actions that you want to take when you reach a particular stage of the rollout process. This could beBeforeInstall, AfterInstall, upon ApplicationStart, or during ValidateService , among several others. Depending on the chosen compute platform, you can choose and implement all the hooks … Read more

Accessing private VPC resources – Rolling Out a CI/CD Pipeline

By default, you cannot access your VPC resources when running CodeBuild projects. However, if required, the service can be configured to run the build environments within your designated VPCs and subnets. This allows it to access your private resources in the cloud or on-premises. This unlocks a lot of possibilities as you can run integration … Read more

Automating builds and tests with CodeBuild – Rolling Out a CI/CD Pipeline

Ever faced issues with spiky build and test loads toward the end of a sprint? I certainly have my share of experiences. Managing build infrastructure has very similar challenges to what is observed when supporting the dynamic nature of application environments. The customers – the software developers, in this case – should be able to … Read more

Open source or commercial offerings? – Rolling Out a CI/CD Pipeline

You can start with open source versions of the CI/CD tools, but in the long run, the overall total cost of ownership (TCO) takes a hit as it factors in the time you invest in maintaining, scaling, and operating these solutions. AWS-managed services remove this overhead and allow you to pay as you go. Economies … Read more

What is CI/CD? – Rolling Out a CI/CD Pipeline

CI stands for continuous integration and CD is often used interchangeably between continuous delivery and continuous deployment. The scope of what teams end up achieving within each of these varies a lot. Some teams begin with automated testing procedures after code is merged into the main branch, and others might go as far as testing … Read more

Amazon CloudWatch event integration – Rolling Out a CI/CD Pipeline

You can monitor and build automations when specific events occur in your repositories. Among several others, events such as creating pull requests, adding comments, or reacting to comments could be automatically captured and forwarded to a Lambda function, which then notifies the team over Slack or email, for example. Data protection for meeting compliance requirements … Read more

Pre-configured build environments for popular programming languages

You do not need to reinvent the wheel for known programming languages and tooling dependencies. CodeBuild offers several Windows/Linux environments and programming runtimes such as Android, Golang, Dotnet, Java, Node.js, and so on. With specifications as high as 255 GB of RAM, 72 vCPUs, and 824 GB of disk space on offer, you can support … Read more

Deployment group – where to deploy stuff – Rolling Out a CI/CD Pipeline

Deployment groups identify the targets where application artifacts are placed. In our hands-on exercise, we will be working with EC2 instances hosted in an Auto Scaling group. This group of instances is clubbed together and called a deployment group. The actions that you define in the deployment configuration are performed on these servers. Deployment configurations … Read more