Hello I'm

Ravi Kumar

Senior DevOps Engineer

About Me

Hello, I’m a Ravi, DevOps engineer based in New Delhi, India. I have rich experience in cloud solutions & automation and scripting. Also I am good at

  • Kubernetes
  • Jenkins
  • AWS
  • GCP
  • Azure DevOps
  • Terraform
  • Postgres
Downlaod CV

What I do

Solution Architect

Specialize in designing secure and scalable cloud-based solutions. I leverage my expertise in cloud technologies to architect robust and efficient systems that meet the unique requirements of businesses, ensuring optimal performance, reliability, and cost-effectiveness.

CI/CD

By automating the build, test, and deployment processes, I enable rapid and reliable software delivery. I design and configure CI/CD pipelines, integrating various tools and technologies to streamline development workflows and ensure efficient collaboration among team members.

Application Optimization

Analyze & identify performance bottlenecks application components to improve response times, scalability, and resources utilization. Through careful monitoring and analysis, I continually optimize applications to deliver an exceptional user experience.

Infrastructure Automation

Leveraging infrastructure-as-code (IaC) principles and tools like Terraform and Ansible, I design and implement automated infrastructure pipelines. This enables rapid and consistent deployment of infrastructure resources, reduces manual effort, and improves scalability, security, and reliability.

Application Modernization

By assessing existing systems, I develop a modernization strategy that aligns with business objectives. I migrate applications to cloud platforms, refactor code, and adopt microservices architecture, ensuring increased agility, scalability, and maintainability while minimizing disruption to ongoing operations.

DevOps Training

Guide colleagues and junior DevOps professionals, empowering them with knowledge and skills to implement DevOps practices. I also coach students, providing valuable insights and practical experience for successful careers in DevOps.

Technical Skills

Cloud Providers (Aws, Gcp, Azure)
65%
CI/CD Tools (Jenkins, Teamcity, GitHub Actions, Azure DevOps)
78%
Infrastructure Provisioning (Terraform, CloudFormation, ARM)
55%
Infra Monitoring (Prometheus, Grafana, DataDog, CloudWatch)
80%
Application Monitoring (AppDynamics, DataDog)
47%
VCS (Git, GitHub, BitBucket, GitLab)
73%
Web Servers (Nginx, Tomncat, Apache, IIS)
64%
Containers (Docker)
89%
Container Orchestration (AWS EKS/ECS/Fargate, GKE, Kubernetes)
75%
Service Mesh (Istio, Traefik, Envoy)
30%
GitOps (ArgoCD)
36%
Configuration Management (Ansible)
53%
Logs Management (Elastic Stack, CloudWatch, Log Explorer)
65%
Artifact (Nexus)
20%
Secret Management (Vault, AWS Secret Manager)
22%
Serverless (AWS Lambda, GCP Functions)
68%
Operating Systems (Linux, Ubuntu, Windows Server)
87%
Scripting (Shell/Bash, Powershell)
78%
Programming Lang. (Python, Java, Html, Css, Js/Node.js)
38%

Professional Skills

  • Project Management
  • Team Work
  • Quick Learner
  • Creativity
  • Decision Making
  • Problem Solving
  • Good Listener
Check out Ravi's MindMap to know more about technical stack Ravi's MindMap
Click on the mindmap to view

Education

Master of Computer Application From MDU (Distance)

2018-2020

Motivated professional pursuing Master of Computer Applications through distance learning while managing job commitments.

Bachelor of Computer Applications From KUK

2015-2018

Enthusiastic BCA graduate with a keen interest and proficiency in programming languages such as C and Java. Solid foundation in computer science concepts and a passion for software development.

High School From CBSE

2014-2015

I passed high school 12th standard with 7.8 CGPA in Commerce.

Work Experience

Senior DevOps Engineer at EPAM Systems (LSEG)

Aug'2023 - Present
Responsibilities :
  • At LSEG, initially joined the LSE project where I led the end-to-end migration of CI/CD pipelines from Jenkins to GitLab CI, improving pipeline consistency and reliability. Integrated multiple SAST tools including Semgrep, SonarQube, and Black Duck to enforce security and code quality standards.
  • Designed and implemented custom GitLab CI/CD pipeline templates to standardize build, test, security, and deployment stages across 240 microservice repositories.
  • Established scalable pipeline governance with branching rules, reusable jobs, and environment-specific deployment strategies for staging, UAT, and production
  • Deployed and managed GitLab private runners on Amazon EKS to enable scalable, containerized CI/CD workloads with Kubernetes-native resource control and auto-scaling.
  • Successfully transitioned ownership of CI/CD pipeline management to another team with proper documentation, ensuring smooth continuity, and moved on to a new internal initiative: Research Bulk Documents project.
  • Developed and executed migration scripts to transition source code repositories from Bitbucket and legacy GitLab instances to a modern GitLab setup, ensuring version consistency and minimal downtime.
  • Managed CI/CD pipelines for over 700 repositories across three application IDs, covering all environments (Dev, QA, Release, and Production), and implemented branching strategies and protection rules to streamline safe and compliant production deployments.
  • Set up Nginx Ingress Controller with Let's Encrypt Certificate Manager for secure traffic routing of various microservices in the Kubernetes cluster. This configuration ensured efficient load balancing and automated SSL certificate management, enhancing security and reliability.
  • Architected GitLab pipelines to clearly separate CI and CD workflows into different GitLab groups. CI pipelines handle code compilation and artifact/image generation, while CD pipelines handle versioned deployments using CI-generated artifacts.
  • Standardized and simplified GitLab CI/CD templates, enabling developers to quickly onboard new services or repositories by referencing reusable templates with minimal environment configuration.
  • Provided end-to-end support to development and QA teams, including infrastructure troubleshooting, CI/CD debugging, application-level log analysis, and alarm/alert resolution based on severity levels.
  • Created and managed infrastructure repositories, authored Terraform (IaC) to onboard new services efficiently and maintain cloud resource consistency.
  • Administered and automated TLS/SSL certificate management (including yearly renewals) across all production and internal HTTPS endpoints, and developed pipelines to handle certificate provisioning and renewal across all application IDs.
  • Built pipelines to create golden AMIs by installing the latest packages from the Cloud SRE team, and regularly refreshed EC2 instances to align with updated security baselines.
  • Improved AWS resource tracking by enforcing tagging and naming conventions, tagging resources with app IDs and repository references for improved visibility and cost management.
  • Reduced infrastructure costs by automating scale-down and shutdown of non-production environments on weekends or during inactivity windows.
  • Wrote and executed production change management documentation, including risk assessments, implementation and rollback plans, customer communication plans, and coordinated L2 deployments through incident and change tickets.
  • Regularly engaged with the Cloud Custodian team to ensure infrastructure compliance with internal security policies and enforced remediation actions where required.
  • Created SonarQube Portfolios for each application ID, enabling a consolidated view of code quality, security, and maintainability across all critical customer-facing applications.
  • Led DNS migration efforts, transitioning services from legacy domains to new branded domains with minimal service disruption.
  • Conducted regular KT sessions for developers and QA teams covering new CI/CD practices, branching strategies, and the SonarQube upgrade process.
  • Set up private SFTP servers with IP whitelisting to securely provide access endpoints to external contributors involved in the new Research Bulk Documents initiative.
  • Conducted technical interviews to evaluate and onboard new DevOps talent as part of the recruitment process at EPAM.

Senior DevOps Engineer at Healofy

July'2022 - July'2023
Responsibilities :
  • Achieved 35% infra cost reduction through effective optimizations, right-sizing, and saving plans.
  • Overseeing and managing a multitude of servers and databases across GCP and AWS environments.
  • Enable seamless data access for business teams by implementing and utilizing Metabase as a self-service data exploration and visualization tool. Develop and maintain dashboards, and reports that provide meaningful insights to support data-driven decision-making.
  • Created CI/CD Pipelines for ECS, backend services in Jenkins to reduce manual deployment time by 50%.
  • Established comprehensive billing dashboard in data studio to analyze spend app wise and infra resources in GCP, leveraging resource labels for accurate cost allocation.
  • Develop detailed technical architecture diagrams for both infrastructure and applications prior to AWS migration from GCP.
  • Managing and maintaining the whole infrastructure operations and services using different AWS services that are CodeBuild, CodeDeploy, S3, Elastic Beanstalk, CloudFormation, WAF, Shield, EC2, VPC, Route53, CloudFront, System Manager, RDS, Backup, Lambda, CloudWatch, Inspector, Guard Duty, Elasticache, EKS, ECS, Fargate, IAM, EBS, EFS and more.
  • Utilize Control Tower and OU to establish new AWS accounts. Enable SSO with Google Workspace as an external identity using SAML authentication for secure team access. Enforce least privilege permission sets to safeguard AWS resources and sensitive data.
  • Automated setting up process of Elasticsearch, PostgreSQL, Memcached, Jetty, Bastion host, Jenkins and metabase servers on AWS using CFTs for all environments dev, test and prod.
  • Plan, coordinate, and execute PostgreSQL databases migration from GCP to AWS, ensuring minimal downtime, data integrity, and smooth transition of all databases components.
  • Improved APIs response latency after implemented Response time Monitoring with the help of different GCP services like Cloud Log Explorer, Big Query & Data Studio. Post migration set up same process on AWS using Redshift, Lambda, Java, Python, EventBridge and StepFunctions.
  • Post migration I've implemented backup & restore DR in the aws cloud, which involves ready to use CFTs for provisoning infra faster in the recovery region, use cicd pipelines to deploy latest application version, update backup and amis on regular basis to achieve minimum RPO, use S3 CRR to asynchronously copy objects to an S3 bucket in the DR region continuously.
  • Collaborate with other teams to ensure that disaster recovery is working properly after testing fail over, we achieved 40min RPO after provisioning resources with CFTs and real-time RTO as postgres databases servers are already in sync.
  • Mitigate security risks with Cloud Armor on GLB and transition to AWS by configuring AWS WAF with custom rules on ALB.
  • Maintain comprehensive and up-to-date documentation in Confluence, covering processes, procedures, and project-related information.
  • Implemented Prometheus for detailed monitoring of PostgreSQL databases, ensuring real-time visibility into replication status and resource utilization. Configure alert manager rules to trigger notifications via emails in case of replication failures or excessive resource usage.
  • Implemented DB monitoring process by utilizing PostgreSQL inbuilt pg_stat library to identify and analyze slow queries, bottlenecks, and areas of optimization.
  • Optimize GCP instance group scaling by leveraging additional metrics such as HTTP request count per backend service in GLB. Tune autoscaling groups in AWS for faster scaling based on custom CloudWatch alarms and configure HTTP requests as secondary metrics for effective scale-up operations.

DevOps Lead at Vetifly (Freelance)

Apr'2021 - June'2022
Responsibilities :
  • Architected secure, scalable, highly available application and infrastructure for several projects using micro-services architecture handling user base of close to 500k users.
  • Collaborated with product managers, business stakeholders, and fellow engineers to design and incorporate infrastructure solutions that are going to use by thousands of customers
  • Closely worked with project managers in defining branching strategy, permissions, and access management for 5+ engineering teams. Created a high-level architecture diagram before implementing branching strategy within organization.
  • Set up multi-AZ EKS cluster using CloudFormation Template and converted NodeJS, ReactJS APIs into microservices. Also included security, logging, and tracing tools like Xray, Fluentd, CloudWatch, SES, WAF, Shield, ACM and many more
  • Managing and maintaining the whole infrastructure operations and services using different AWS services that are CodeBuild, CodeDeploy, S3, Elastic Beanstalk, CloudFormation, WAF, Shield, EC2, VPC, Route53, CloudFront, System Manager, RDS, Backup, Lambda, CloudWatch, Inspector, Guard Duty, Elasticache, EKS, ECS, Fargate, IAM, EBS, EFS and more.
  • Design, implement, and maintain active/active DR on AWS with realtime RTO/RPO. Regularly assess and test recovery region DR resources to ensure its effectiveness.
  • Reduced costs each quarter by eliminating unnecessary servers and consolidating databases.
  • Worked on AppDynamics to track slow transactions and API calls response time. Sometimes for anomaly detection and Root cause diagnostics.
  • Slack Workplace Administration. Integrated AWS bot, victorops, loggly, Jenkins, Jira for notifications & alerts
  • Participated in the audits conducted by Cybersecurity Malaysia
  • Involvement in VAPT to scan all the application and find vulnerabilities.
  • Implemented OpenVPN to provide secure access to organization resources for internal team members.
  • Migration of .NET Teamcity pipelines to Azure Pipeline
  • Set up Tally and backup mechanism on AWS and provide user access through Tally Client by creating .NET type users
  • Performed build and release of all application cycles, test, production, update, patches, and maintenance
  • Ensured 100% of all project confluence documentation was created and updated, including design, development, and deployment documentation.
  • Automate Change Request process with the help of Power Automate and O365

DevOps Engineer at Team Computers

Dec'2018 - Mar'2021
Responsibilities :
  • Managing 50+ servers in a distributed and highly available critical infrastructure
  • Automated mobile application builds and deployment using Bitrise to reduce human errors and speed up production processe
  • Working with GitHub Enterprise to manage source code repositories and performed branching, merging, and tagging depending on the requirement.
  • Built and deployed Docker containers to break up monolithic app into micro-services, improving developer workflow, increasing scalability, and optimizing speed through Kubernetes.
  • Create and maintain fully automated CI/CD pipelines for different programming language projects like .NET, Java, Scala, Angular, Android, Python Django, etc. on different platforms on-cloud & on-prem.
  • Create and maintain highly scalable and fault tolerant multi-tier GCP, AWS and Azure environments spanning across multiple availability zones using Terraform.
  • Wrote Ansible playbooks to automatically install Hadoop system components, saving 80% time consumed by delivery team.
  • Interacting with clients for requirement gathering and preparing functional specifications & low-level design documents
  • Writing, updating, and maintaining technical program, document design, end user documentation and operational procedures of different application system
  • Worked on the constant improvement of existing network operations to maximize efficiency and security.
  • Developed and implemented new deployment and scaling processes
  • Performing comprehensive unit and integration testing of all software produced and contributing to overall quality processes.
  • Installed and configured Prometheus and Grafana to constantly monitor network bandwidth, memory usage, and hard drive status.
  • Wrote Shell scripts to automate regular tasks like update Jenkins, deletion of older AMIs and snapshots in AWS and DB backups to s3 bucket.
  • Responsible for taking the source code and compiling using Maven and package it in its distributable format, such as a WAR file

Android Developer at DeetyaSoft (IVRGURU)

Apr'2018 - Nov'2018
Responsibilities :
  • Results-driven Android developer proficient in Android Studio and Java
  • Developed a business application utilizing IVR (Interactive Voice Response) technology.
  • Implemented efficient CI/CD processes for the Android application using Code Magic.

Recent Projects

  • All Projects
  • Infrastructure
  • Application
  • Technical Architecture
  • CI/CD

Automating Hadoop Installation and Configuration with Ansible

Problem Statement

The manual installation and configuration of Hadoop across multiple nodes is a time-consuming and error-prone process. It involves numerous steps, dependencies, and configurations that can lead to inconsistencies and potential security vulnerabilities.

Additionally, managing the installation across various environments and clusters poses a significant challenge for the data engineering team.

Results

> Improved Efficiency > Scalability
> Consistency and Standardization
> Enhanced Security
> Faster Troubleshooting and Maintenance

Tech
  • Ansible
  • Zookeeper
  • HDFS
  • Hive
  • MapReduce
  • Apache Pig
  • Yarn
  • Spark
  • Java
  • Linux/Unix
Solution

To address the challenges of Hadoop installation and configuration, i propose an automated approach using Ansible. Ansible provides a powerful and flexible automation framework that enables us to define Hadoop's infrastructure as code. Through Ansible playbooks and roles, we can create a repeatable and consistent process for deploying and configuring Hadoop across the entire cluster.

The Ansible playbook will handle the installation of dependencies, such as Java, and set up the necessary configurations for Hadoop's various components, including HDFS, YARN, and MapReduce. With Ansible's declarative syntax and idempotent nature, we can ensure that the installation process is reliable and repeatable.

POC Code

Provision AWS infrastructure using Terraform

Problem Statement

A client was facing challenges with manually provisioning and managing AWS cloud resources. The process was time-consuming, error-prone, and lacked consistency. It led to delays in project deployments, difficulty in maintaining infrastructure, and increased operational costs.

Results

With Terraform, we achieved faster and more consistent infrastructure provisioning. It significantly reduced the risk of human errors and increased the efficiency of our development and deployment processes.

The ability to manage infrastructure as code has improved collaboration between teams and enhanced our disaster recovery capabilities. Additionally, the cost of managing infrastructure decreased as we optimized resource allocation based on actual usage patterns. The project has proven to be a successful step towards a scalable and reliable cloud environment on AWS.

Tech
  • EC2
  • Route53
  • Elasticsearch
  • ALB
  • IAM
  • RDS
  • Security Group
  • ASG
  • Apache
  • S3
  • Jenkins
  • Terraform
Solution

To address these issues, we implemented Terraform, an infrastructure-as-code tool, to automate the provisioning of AWS cloud resources. Terraform allows us to define our infrastructure in code using declarative configuration files. This enables us to version control and maintain the infrastructure as part of our codebase.

Implementations:
> Wrote custom modules tf files for asg, oem softwares
> Dynamic blocking and data sources are used to reduce code complexity
> Workspaces are used to work within multiple environments
> DynamoDB table used for resource locking mechanism

POC Code

The repository may contain test feature files.

Provision AWS infrastructure using CloudFormation

Problem Statement

During the migration of resources from GCP to AWS, there is a need for a faster and efficient setup process. Manually provisioning AWS resources can be time-consuming and error-prone, leading to delays and potential issues during the migration process.

Results

The adoption of CloudFormation templates streamlined the provisioning of AWS resources for our cloud migration project. It significantly accelerated the setup process, saving valuable time and resources.

With a consistent and reliable infrastructure deployment, we achieved a smoother and more efficient migration from GCP to AWS, enabling us to meet project deadlines and reduce operational costs.

POC Code
Solution

To achieve a faster setup and seamless migration, i implemented AWS CloudFormation templates, which enables the infrastructure to be defined and provisioned as code. CFTs are created to describe the AWS resources required for the application, including EC2 instances, VPCs, security groups, elasticache, and many tools such as jetty, metabase, elasticsearch, jenkins, postgres, nginx. These templates enabled automated provisioning, reducing manual effort and ensuring consistency across environments.

Considerations:
> Custom cft was created to install and configure older versions of elasticsearch, jetty and postgres
> Helper scripts were utilized to configure applications after successful installation
> Proper cfn-signals are used to handle misconfigurations gracefully
> CFTs were written in such a way so that we can able to use same templates for lower and upper environments
> Nested stacks were adopted to avoid redundant code and enhance the reusability of templates

Tech
  • OU
  • SSO
  • EC2
  • Route53
  • Elasticsearch
  • ALB
  • IAM
  • RDS
  • Security Group
  • ASG
  • Nginx
  • S3
  • Metabase
  • Postgres
  • CloudWatch
  • Lambda
  • Redshift
  • StepFunctions
  • EventBridge
  • Jenkins
  • Jetty
  • CloudFormation

Uploading Soon...

  • Teamcity
  • Azure DevOps
  • Elasticbeanstalk
  • CodeDeploy
  • dotNet
  • Grunt
  • MSBuild
  • SqlCompare
  • PowerShell

Uploading Soon...

  • Bitrise
  • TFS
  • XCode
  • App Store

Response Time Monitoring - GCP & AWS

Problem Statement

The problem statement in response time monitoring is the need to track and analyze the response times of backend API calls. It is essential to identify and address any performance issues or bottlenecks that may impact the user experience and overall system efficiency. The challenge lies in collecting and processing the relevant data, generating meaningful insights, and promptly alerting the dev team to take necessary actions for optimization and improvement.

Client don't want to share any kind of data outside organization because of healthcare industry constraints.

Solution

My solution for response time monitoring is designed to provide real-time visibility into the performance of backend API calls. By logging and analyzing API request and response data, we accurately measure and track response times. Through data enrichment and structured processing, identify patterns and outliers to detect performance bottlenecks. I generate reports and visualizations that highlight response time trends and notify stakeholders of any deviations, enabling proactive optimization and ensuring a seamless user experience. My solution empowers organizations to continuously monitor and optimize API performance for enhanced reliability and customer satisfaction.

Tech
  • bigquery
  • sql
  • logexplorer
  • datastudio
  • java
  • cloudwatch
  • eventbridge
  • redshift
  • stepfunctions
  • lambda
  • ecsfargate
  • python
  • s3
Before Migration (GCP Solution)

The API calls response time monitoring and optimization solution involves logging API calls into Google Cloud's Log Explorer, transferring them to BigQuery for data cleaning and transformation. A Java program on Cloud Run generates daily reports, calculating response times and comparing them to identify performance trends. Developers receive email alerts, enabling them to address any slow response issues promptly.

After Migration (AWS Solution)

By leveraging AWS services like CloudWatch, S3, Step Functions, Lambda, and Redshift, the project provides an end-to-end solution for monitoring and analyzing response times of Java APIs, enabling timely insights and alerts for performance optimization.

Database Monitoring & Optimization

Problem Statement

Slow database queries in PostgreSQL can significantly impact application performance and user experience. Identifying and optimizing these queries manually is time-consuming and requires deep knowledge of database internals. Without efficient monitoring, organizations face challenges in detecting and resolving performance bottlenecks, leading to reduced application responsiveness and potential downtime.

Client don't want to share any kind of data outside organization because of healthcare industry constraints.

Solution

My solution for database monitoring leverages the built-in PostgreSQL extension, pg_stat, to provide comprehensive insights into query performance. By monitoring query execution times, resource usage, and query plans, developers can able to identify slow-running queries and their underlying causes. Through detailed analysis and optimization techniques, DBA can propose query optimizations, such as index creation, query rewriting, and database tuning, to improve overall query performance. This implemented solution enables my client to proactively identify and optimize slow database queries, ensuring optimal application performance and improved user experience.

Weekly Encrypted DB Monitoring Report For Developers and DBA
Sensitive information has been masked to ensure data privacy and securit

Tech
  • PostgreSQL
  • pg_stat
  • Java
  • Event Bridge
  • RedShift
  • ECS
  • S3
  • Metabase

Google Cloud Billboard - GCB

Problem Statement

Without a centralized billing dashboard, it becomes difficult to track and understand resource utilization, identify areas of potential cost savings, and allocate expenses accurately. This leads to inefficient resource usage, budget overruns, and difficulty in aligning costs with business needs. A solution is needed to provide clear insights into cloud spending, enabling better cost management and optimization strategies.

Solution

Implementation of a Google Cloud Billbaord provides a centralized and comprehensive view of gcp expenses, enabling effective cost management and optimization.

Results

By leveraging GCB features and insights, team leads can track resource utilization, monitor costs, identify cost-saving opportunities, and align spending with business priorities. It also helped us to make informed decisions, optimize resource allocation, and ensure efficient budget utilization, resulting in improved financial transparency and control over gcp expenditures.

Tech
  • BigQuery
  • Looker Studio
  • Logging
  • Python

Infra & Application Monitoring with Datadog

Problem Statement

The lack of comprehensive monitoring and observability in our AWS cloud environment hampers our ability to identify performance bottlenecks, security issues, and ensure the overall health of our applications and infrastructure. The absence of real-time insights makes it challenging to proactively address potential incidents and optimize resource utilization.

Solution

To address these challenges, i implemented Datadog as our AWS cloud monitoring solution. Datadog offered real-time insights into various AWS services, including EC2 instances, RDS databases, Lambda functions, and more. I've set up custom dashboards and alerts to proactively monitor critical metrics, detect anomalies, and receive timely notifications in case of any irregularities.

Results

With Datadog's monitoring in place, we achieved enhanced visibility into our AWS resources and application performance. The proactive alerts enabled us to respond swiftly to potential issues, minimizing downtime and improving the overall reliability of our cloud infrastructure. Additionally, we could optimize resource utilization and plan for future scalability effectively. Datadog played a crucial role in maintaining the stability and efficiency of our AWS environment, ultimately leading to improved customer satisfaction and operational excellence.

Checkout sample datadog panels
Tech
  • Datadog
  • EC2
  • Lambda
  • ECS
  • Redis
  • Elasticsearch
  • RDS
  • DynamoDB
  • .NET
  • JS
  • Windows Servers
  • APM
  • OpenVPN
  • Error Tracking
  • Traces
  • Service Map
  • Logging

GCP to AWS Migration

Problem Statement

The migration from GCP to AWS was necessitated by the vendor's agreement clauses that imposed a minimum billing amount for discount benefits. However, after implementing DevOps practices and optimizing our infrastructure, the billing amount significantly decreased, leading to the vendor being unable to provide discounts on the lower billing. In order to increase flexibility and maximize usage discount opportunities, the decision was made to transition to AWS.

Performed Tasks During Rehost Migration
  • Define the migration strategy and the implementation phases, identify all dependencies that might pop up during the migration.
  • Create WBS, Flowcharts, phases, cost analysis and architecture diagrams before starting migration.
  • Set up organizations in the AWS management account using Control Tower within the Organizational Unit (OU) and establish SCP policies, permission sets for user groups in the Identity Center.
  • Wrote CFTs to set up vpc networking and different applications servers like Elasticsearch, PostgreSQL, Memcached, Jetty, Bastion host, Jenkins and metabase for all environments dev, test and prod
  • Ready small workloads using CFTs, tested with QA team and create final migration plan.
  • Set up each environments one by one from dev to prod using CFTs.
  • Plan, coordinate, and execute PostgreSQL databases migration process in night at the time of less traffic, database backups and restore, ensuring minimal downtime, data integrity, and smooth transition of all databases components
  • Created CI/CD Pipelines for ECS, backend services in Jenkins to reduce manual deployment time
  • Set up centralized logging in Cloudwatch for backend applications and other supporting services like postgres, database monitoring, response time system and waf blocked requests
  • Create custom dashboards in CloudWatch to monitor different components of aws services such as Elasticache, backend servers, ALB, WAF, Redshift cluster, and ASG
  • Mitigate security risks by setting up AWS WAF consisting managed and custom rules
  • Tune ASG in AWS for faster scaling based on custom CloudWatch alarms and configure HTTP requests as secondary metrics for effective scale-up operations.
  • Improved APIs response latency after implemented Response time Monitoring with the help of different AWS services like Redshift, Lambda, Java, Python, EventBridge and StepFunctions
  • Implemented DB monitoring process by utilizing PostgreSQL inbuilt pg_stat library to identify and analyze slow queries, bottlenecks, and areas of optimization
  • Implemented Prometheus for detailed monitoring of PostgreSQL databases, ensuring real-time visibility into replication status and resource utilization. Configure alert manager rules to trigger notifications via emails in case of replication failures or excessive resource usage.
  • Create and implement various cost reduction saving plans for different kind of workloads. For example: Spot instances for webservers, reserved instances for static workloads, and compute saving plans for elasticache.
  • Maintain comprehensive and up-to-date documentation in Confluence, covering processes, procedures, and project-related information
Technical Architecture Diagrams
Sensitive information has been masked to ensure data privacy and security

GCP Skillset
  • Compute Engine
  • GKE
  • GLB
  • Caching
  • BigQuery
  • Billing
  • LookerStudio
  • Logging
  • Monitoring
  • VPC
  • Firewall
  • NAT
  • Stackdriver
  • IAM
  • Cloud Run
  • Cloud Storage
  • Cloud Armor
  • Cloud Tasks
  • Cloud Scheduler
  • Cloud Shell
AWS Skillset
  • OU
  • Control Tower
  • Identity Centre
  • CloudFormation
  • RedShift
  • EKS
  • VPC
  • EC2
  • ECS
  • Elasticache
  • CloudWatch
  • Billing
  • IAM
  • Lambda
  • WAF
  • AWS Shield
  • AWS CLI
  • Cost Explorer
  • Certificate Manager
  • EventBridge
  • Step Function
  • CloudFront
  • R53
Other Skillset
  • Python
  • Java
  • SQL
  • Docker
  • Gradle
  • PostgreSQL
  • MongoDB
  • Elasticsearch
  • Metabase
  • Jenkins
  • Kafka
  • Zookeeper
  • Jetty
  • Shell Scripting
  • Ubuntu 22
  • Jira
  • Confluence
  • Bitbucket

Deployment on Jetty

Problem Statement

The project aims to streamline the deployment process, ensure consistency, and enhance efficiency in deploying 7 Java backend applications on 7 different Jetty server.

Client don't want separate pipelines for each backend services.

Solution

My solution is to create a single jenkins pipeline which require run time parameters from users before triggering. User have to enter branch name and choose application name to initiate deployment.

There would be 2 cicd pipelines, 1st is to deploy single backend service, and 2nd one is to deploy all 7 java services in which user don't need to choose application name, user just need to pass branch name and initiate deployment.

Tech
  • Jenkins
  • Shell Script
  • EC2
  • BitBucket
  • Netcat
  • Gradle
  • Jetty
  • Slack
  • Java
  • CloudWatch
  • Linux
  • Networking
Pipeline for lower environments

In lower environments cicd pipelines, Last 3 artifacts retained in case of rollback. Deployment lock is require incase other team member triggered another cicd pipeline for all java services then it should wait until current deployment lock exist.

Pipeline for production environment

In production deployment, we create EC2 AMI images from a ec2 instance on which java, jetty and cloudwatch agent are already installed. Autoscaling instance refresh is used to replace servers in batches. First new servers are created then only old servers deregistration and termination started.

Bitbucket CICD Pipelines

Android App CICD

Objective:
The pipeline will automate the process of building, and deploying the Android application to various environments, ensuring faster and reliable delivery of software updates.

Requirements:
- Bitbucket Pipelines must be configured to automatically trigger CI/CD workflows upon code changes in the repository.
- Automated build tasks to compile the Android application.
- Gradle build scripts should be utilized to manage dependencies and build configurations.
- Proper code signing mechanisms must be implemented for secure app distribution.
- Pipeline should automatically deploy the Android application to different platforms for the QA team. (e.g. Diawi and Browserstack).
- Pipeline should stored versioned artifacts in S3 bucket to keep track of application releases.
- Deployment to Google Play Store should be supported.
- Email notifications or chat integration (e.g., Slack, MS Teams) should be configured to notify the team about build and deployment status.

Node Backend ECS CICD

Objective:
Automate the process of building docker images, maintaining image versions in ECR, and deploying new images on AWS ECS.

Key Features:
- The Node.js application is containerized using Docker, allowing consistent deployment and scalability in the ECS environment
- The pipeline automates the deployment of the Dockerized Node.js application to Amazon ECS. IAM credentials and permissions are securely managed and integrated into the pipeline.
- Configuration variables and environment-specific settings are managed through AWS Parameter Store.
- Email notifications or chat integration (e.g., Slack, MS Teams) should be configured to notify the team about build and deployment status.

ReactJS Deployment on S3

Objective: Leveraging Bitbucket Pipelines to automates the build, and deployment of the React.js app to an Amazon S3 bucket and triggers CloudFront invalidation to ensure seamless and efficient content delivery to end-users.

Key Features:
- Upon successful S3 bucket deployment, CloudFront invalidation is triggered to ensure immediate propagation of changes to the content delivery network, reducing latency for end-users.
- Configuration variables and environment-specific settings are managed through AWS Parameter Store.
- Email notifications or chat integration (e.g., Slack, MS Teams) should be configured to notify the team about build and deployment status.

Pipelines for lower environments
Tech
  • BitBucket
  • Gradle
  • Java
  • NPM
  • ECS
  • S3
  • ECR
  • Lambda
  • CloudFront
  • Secret Manager
  • Diawi
  • Docker
  • Browserstack
  • Teams
  • Slack

NodeJS Deployment on AWS Lambda

The Bitbucket CI/CD Pipeline for the Node.js project is designed to automate the build, and deployment process of serverless applications running on AWS Lambda functions.

Key Features:
- The pipeline includes a mechanism to update Lambda layers whenever a new version is pushed to the repository. This ensures that all Lambda functions using the layers can access the latest version of shared code and resources.
- Configuration variables and environment-specific settings are managed through AWS Parameter Store.
- Email notifications or chat integration (e.g., Slack, MS Teams) should be configured to notify the team about build and deployment status.

Containers Deployment

Problem Statement

The project aims to streamline the deployment workflow, enable continuous integration and delivery, and provide a resilient infrastructure for running containerized applications in AWS ECS & EKS.

It utilizes AWS EKS for container orchestration, ensuring scalability, high availability, and efficient resource management.

Solution

Use Jenkins to deploy the containerized application to the AWS EKS cluster. This involves creating Kubernetes deployment manifests and applying them to the cluster.

Set up automated triggers to deploy the application whenever changes are committed to the repository. Perform rolling updates or blue-green deployments to minimize downtime during updates.

Tech
  • Jenkins
  • Shell Script
  • EKS
  • ECS
  • BitBucket
  • Docker
  • Gradle
  • Java
  • CloudWatch

Automate Database Deployments

Problem Statement

The current database process lacks automation and efficiency, leading to delays in deployment, and difficulty in scaling faster. This manual approach poses a risk of errors and security vulnerabilities. To address these challenges, a robust and streamlined DevOps solution is needed to automate database changes deployments, and ensuring smooth operations and enhancing data security.

Solution

The solution for database DevOps involves leveraging Redgate SQL Compare tool to automate and streamline the database deployment process. By utilizing SQL Compare, developers can compare and synchronize database schema changes between different environments, ensuring consistency and minimizing errors. This tool facilitates automated script generation and deployment, allowing for smooth and efficient database updates while maintaining data integrity. Additionally, it enhances collaboration between development and operations teams, enabling faster releases and reducing the risk of deployment failures.

Result

Achieved significant improvements in our deployment process. The automation and synchronization capabilities of SQL Compare have led to faster and more reliable database updates, reducing the risk of errors and downtime. The tool's script generation and deployment features have streamlined the release cycle, enhancing collaboration between teams and enabling efficient delivery of new features. Overall, the adoption of SQL Compare has resulted in a more agile and efficient database management process, contributing to improved application performance and user experience.

Technical Flow Chart

Tech
  • MSSQL
  • SQL Compare
  • TeamCity
  • Powershell
  • Azure Repo
  • TFS

.NET Framework Deployments

Description

For the .NET IIS web server project, i have implemented a robust CI/CD pipeline to streamline the development and deployment process. The pipeline is integrated with TFS Azure repo, enabling automatic triggers upon code commits. It starts with a build phase where the code is compiled, and packaged MVC and web deploy packages into artifacts. These artifacts are then automatically deployed to various test environments for integration and acceptance testing. Once the tests pass, the pipeline proceeds to deploy the application to the production server. To ensure continuous monitoring, we have integrated logging and monitoring tool DataDog. This CI/CD pipeline significantly reduces manual intervention, accelerates deployment cycles, and enhances overall development efficiency while maintaining high-quality releases.

Tech
  • .NET Framework
  • MSBuild
  • NPM
  • Grunt
  • Bower
  • TeamCity
  • Powershell
  • Azure Repo
  • TFS
  • ElasticBeanstalk
  • System Manager
Pipeline for Preprod environment
Pipeline for production environment

Creatio Project Deployments

Description

For the Creatio project, we have set up a streamlined CI/CD pipeline using TeamCity. It starts with code commits triggering automated builds and tests in lower environments. The pipeline deploys the application to staging environments for further validation. After successful testing, it promotes the application to production. We've integrated TFS, and Code Deploy to ensure continuous integration and delivery on all creatio servers.

Tech
  • Creatio
  • TeamCity
  • Powershell
  • Azure Repo
  • TFS
  • Code Deploy
Pipeline for staging environment
Pipeline for production environment

Interested to Work?

We look forward to discussing your project in more detail and finding the best solutions to meet your needs.

Contact

Pricing Table

Full-time work

I am available for full time

$3999
  • DevOps
  • Cloud
  • Application Modernization
  • Technical Architecture
Hire Me

Technical Consultation

I am available for consulting

$500
  • DevOps
  • Cloud
  • Application Modernization
  • Technical Architecture
Hire Me

Hourly work

I am available for Hourly projets

$45
  • DevOps
  • Cloud
  • Application Modernization
  • Technical Architecture
Hire Me
Colors :