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

Scaling containerized deployments beyond simple use cases – Running Containers in AWS

Running one or two container instances on your local system is easy. For CI/CD use cases, teams often run multiple in parallel. This does require some additional development effort on top of the interfaces exposed by respective tools (for example, GitLab CI/CD pipeline templates), but it is still manageable. The real challenge, however, comes up … Read more

What are containers and why do we need them? – Running Containers in AWS

Containers are not a new idea. They have been around for many years in the Solaris, FreeBSD, and Unix operating systems as Solaris Zones, Jails, and Chroot , respectively. In the compute space, we have already experienced a lot of innovations that raise the technical maturity bar while abstracting the underlying complexity. We started with … Read more

Summary – Programmatic Approach to IaC with AWS CDK

In this chapter, we learned about the basics of working with AWS CDK to create infrastructure resources using general-purpose programming languages. This approach to managing cloud infrastructure is particularly useful for teams who are used to working with CloudFormation, have experience using the service in an enterprise-grade environment, and would now like to take the … Read more

Synthesizing the template – Programmatic Approach to IaC with AWS CDK

The synthesizing process generates a valid CloudFormation YAML template. At this point, you could also deploy it directly within your AWS environment, or instruct CDK to do so. For now, let’s trigger template synthetization with the cdk synth command: The 40-odd lines of code we added to the lib/chapter-6-stack.ts file resulted in a template 10 … 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

Key concepts used by Docker – Running Containers in AWS

To offer a consistent experience to the application developers, some key concepts are used in Docker’s architecture that are worth discussing. Docker images A Docker image is a reusable read-only template that includes code, dependencies, runtime, and tools that can be replicated by one or more containers. It is usually based on another parent image … Read more

AWS services that support running containers in the cloud – Running Containers in AWS

It mainly comes down to the trade-offs between the level of control and ease of operations. Depending on the needs of your workloads and your teams’ comfort with containerization, you might decide to choose one of the three AWS offerings discussed in this section. AWS Elastic Compute Cloud (EC2) Organizations that prefer to have maximum … 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