Project Overview
In this project, I was responsible for configuring and managing different Ansible roles for various services and servers. The Ansible roles were automatically deployed when Terraform created new EC2 instances on AWS. The system dynamically selected and applied Ansible roles to instances based on EC2 instance tags, ensuring that the correct configurations were deployed without manual intervention. This automated approach streamlined the provisioning and configuration process, ensuring consistency and efficiency across all environments.
Technologies and Services Used
Ansible: For automating configuration management and software deployment based on server roles.
Terraform: Used for creating and provisioning EC2 instances, integrated with Ansible for post-provisioning configurations.
AWS EC2: Managed and configured instances using Ansible, with automatic role assignment based on EC2 tags.
Instance Tagging: Utilized EC2 instance tags to define specific roles and services that needed to be deployed on each instance.
Terraform-Ansible Integration: Seamless integration between Terraform and Ansible for end-to-end automation.
Key Responsibilities:
Ansible Role Configuration: Developed and maintained Ansible roles specific to different services and servers, ensuring that each role matched the server requirements.
Automated Deployment with Terraform: Integrated Terraform to automatically trigger Ansible playbooks during the creation of new EC2 instances, ensuring that server configurations were applied without manual intervention.
EC2 Tag-Based Role Assignment: Configured Ansible to dynamically select roles based on EC2 instance tags, ensuring the correct services were installed and configured on each server.
Automation of Configuration Management: Implemented automation for server configuration management, reducing the manual effort required to manage services across a large fleet of EC2 instances.
Continuous Deployment Workflow: Ensured continuous deployment and configuration updates as new instances were created or existing ones were modified through Terraform.
Testing and Validation: Regularly tested Ansible roles to ensure they deployed and configured services correctly and efficiently across different environments.
Project Outcomes
Fully Automated Configuration Management: Achieved complete automation of server configuration using Terraform and Ansible, ensuring that newly created instances were configured according to their assigned roles without manual intervention.
Dynamic Role Assignment: Implemented a flexible system where Ansible roles were dynamically assigned based on EC2 instance tags, allowing for greater customization and scalability.
Consistency Across Environments: Ensured consistent configurations across multiple servers and services, reducing errors and improving the reliability of deployments.
Faster Provisioning and Configuration: Significantly reduced the time to provision and configure instances by automating the process with Terraform and Ansible integration.
Scalable Infrastructure: The solution was scalable and capable of managing configurations across large numbers of servers with minimal effort, supporting future growth and changes.
Latest Projects
Things I do

CLOUD
Amazon Web Services
AZURE Cloud
Google Cloud Platform
IBM Cloud
DevOps Tools
Jenkins
Ansible for software provisioning
Packer for automated machine images
AWS CodePipeline
AWS CodeDeploy
Azure Pipelines
Chef
Github Actions
GitLab CI/CD
CircleCI
Microservices
Kubernetes
Docker
AWS ECS
AWS EKS
AKS
Azure Container Apps
Monitoring and Alerting
Telegraf
Prometheus
Grafana
Pagerduty
Infrastructure as Code
CloudFormation
Terraform
AWS CDK (Python & Typescript)
Operating System
Most of Linux Server Distributions
Window Server 2019/2022
Databases
MySQL
MariaDB
MongoDB
PostgreSQL
MSSQL
Scripting
Shell Scripting
Python
YAML
PowerShell
My Certifications


Let's Talk
Book a call to talk regarding the current vacancy at your organization.
@2024 RAJ PATEL