Infrastructure, DevOps and SRE
Infrastructure is composed of both physical equipments, such as bare-metal servers, as well as virtual machines.
Concepts
| Concepts | References |
|---|---|
|
DevOps
|
It is a mindset around combining Software Development with Infrastructure Operations in the constant search for improving delivery velocity by automating processes and empowering teams by giving them autonomy.
|
|
SRE
|
Site Reliability Engineering
According to Google “SRE is what you get when you treat operations as if it’s a software problem.” |
Cloud Infrastructure
| Cloud Providers |
|---|
| Amazon AWS |
| Google Cloud (GCP) |
| Microsoft Azure |
| IBM Cloud |
| Alibaba Cloud |
Containerization x Virtualization
Following is a visual representation comparing these 2 different approaches:

| References | |
|---|---|
| Atlassian | Containers vs. virtual machines - Learn the differences between containers and virtual machines (VMs), the popular providers for each, and how they can be used together |
| IBM | Containers vs. Virtual Machines (VMs): What’s the Difference? - Everything you need to know to understand the containers vs. VMs debate and why containers are growing in popularity. |
| Microsoft | Containers vs. virtual machines |
| VMWare | Why use containers vs. VMs? |
| RedHat | Containers vs VMs |
| Container Runtimes | Notes |
|---|---|
| Docker Engine | |
| Rkt (by RedHat) | CoreOS that created rkt was bought by RedHat. At some point, the open source version of rkt was discontinued |
| cri-o | |
| LXC |
Benefits of working with Docker
- Easy to deploy
- Easy to experiment by using recipes in Docker Hub
- Low overhead (kernel is shared)
- Portability
- Scalable
- Rollback painless
- Versioning
- Production environment equal to Development environment - No more excuse “works in my computer”
Microservices x Monolith

Benefits of a Microservices Architecture over Monolith
- Components with Single Responsibility
- Decoupled applications allow teams to have more autonomy
- Enable faster deployments because there is no need to retest the entire application, but only the component
-
Design for failure
- If one microservice fails most of the other microservices will continue working normally impacting fewer people
- Since it is a smaller component of the architecture is faster to rollback any deployment
- In a Monolith most of the time you have only one instance, but on a microservices architecture you try to work with the minimum resources needed for the container and use more containers - this way when a container fails the traffic is redirected to another container
- More Flexibility since it is possible to scale each microservice according to the demand of that specific microservice that normally is completely different from other microservices
The main downside of microservices is that there is the need to invest more time in the architecture, on how the components are going to be decoupled. Managing many components in production was also a hard job, but since the creation of Container Orchestration (Kubernetes being the most famous), that problem went away.
| References |
|---|
| Microservices vs. Monoliths: An Operational Comparison |
| How to break a Monolith into Microservices |
| Microservices vs. monolithic architecture (by Atlassian) |
Infrastructure Components
| Components | References |
|---|---|
| Database | |
| API Gateway | |
| Service Mesh | |
| Reverse Proxy | |
| Container Orchestration | |
| CI/CD | |
| Coordination | |
| Queue Management (Producer/Consumer) |
Infrastructure as Code
Managing and provisioning computer infrastructures through coding, rather than physical hardware configuration or interactive configuration tools.
| Tools | References |
|---|---|
|
Terraform
|
|
|
Ansible
|
|
| Chef | |
| Puppet | |
| AWS CloudFormation |
CI/CD Pipeline
soon
writing as fast as I can
writing as fast as I can
meanwhile subscribe to stay
up-to-date.
Monitoring and Observability
soon
writing as fast as I can
writing as fast as I can
meanwhile subscribe to stay
up-to-date.
FinOps
soon
writing as fast as I can
writing as fast as I can
meanwhile subscribe to stay
up-to-date.






