- Overall 9 years of experience in Software Industry that includes experience in DevOps, Build/Release Engineer and Linux administration
- Technical expertise in the areas of Build/Release/Deployment management with emphasis on automation, designing, implementing and managing Continuous Integration (CI) and Continuous Deployment/Delivery (CD ) as an iterative process on Amazon Web Services (AWS)
- Worked on AWS Cloud platform and its features which includes EC2, VPC, EBS, AMI, SNS, RDS, EBS, Cloud Watch, Cloud Trail, Cloud Formation AWS Config, Autos scaling, Cloud Front, IAM, S3, R53 and Lambda
- Hands on Experience with DevOps methodologies in server provisioning, setting up the build and deployment automation through tools like Jenkins, Maven, Nexus, Ansible, AWS, Docker and Kubernetes
- Extensively worked with scheduling, deploying, managing container replicas onto a node cluster using Kubernetes and experienced in creating Kubernetes clusters
- Strong experience in Containerization using Docker, to create Docker file, for customized Images to create containers and integrate Docker with Jenkins to do build on Docker containers and to achieve Continuous Delivery goal on high scalable environment
- Developed Ansible playbooks and Ansible roles for performing automated configurations on remote servers reducing the time between provisioning and deployment
- Used Kubernetes to deploy scale, load balance, scale and manage Docker containers with multiple name spaced versions for test environments
- Extensively worked on Ansible, writing playbooks and updating existing playbooks for installing and configuring development, staging and production environments, also automated the process of pushing features and fixes to production
- Strong experience in Creating develop and test environments of different applications by provisioning Kubernetes clusters on AWS using Docker, Ansible, and Terraform
- Extensive experience in Branching, Merging, Tagging and maintaining the versions across various project repositories using SCM tools like Git , GitHub , Subversion ( SVN ) on Linux platforms
- Responsible for setting up Continuous Integration (CI) and Continuous Delivery (CD) process using Jenkins along with Shell scripts to automate routine jobs
- Experience with container - based deployments using Docker, working with Docker images, Docker hub and Docker registries and installation and configuring Kubernetes and Clustering them
- Worked in all areas of Jenkins setting up CI for new branches, build automation, plugin management and securing Jenkins and setting up Master/slave architecture
- Experience in Configuration of various plugins for Jenkins for automation of the workflow
- Good knowledge in managing the Nexus Artifactory repositories for the maven artifacts and dependencies
- Good experience in implementation and enhancement of automated scripts which are developed in Bash, Groovy, YAML and Python
- Strong background in version control systems and source code management tools- Git, GitHub, SVN and Bitbucket
- Worked on Infrastructure as code (IaC) using Ansible and Cloud Formation
- Experience with Atlassian tools like Jira for Bug tracking and Confluence for documentation
- Experience in setting up Logging and Monitoring subsystems using tools like Splunk, Prometheus and Grafana
- Have strong knowledge in Databases, Relational databases and NoSQL databases
- Good interpersonal skills, team working attitude, takes initiatives and very proactive in solving problems and providing best solutions.
CI/CD Tools: Git and Jenkins
Containerization: Docker and Kubernetes
Infra Automation: Ansible and Cloud Formation
Databases: Oracle, SQL Server and MySQL
Build Tools: GNU Make, Ant, Maven and Gradle
Languages: HTML, XML, Shell Scripting and Python.
Tracking Tools: Jira and Bugzilla
Web/Application Servers: WebLogic, Apache Tomcat and Nginx
Repository Management: Nexus and JFrog Artifactory
Operating Systems: Windows, Linux (RHEL, CentOS, Ubuntu), MacOS
- Designed and implemented a continuous build-test-deployment (CI/CD) system with multiple component pipelines using Jenkins to support bi-weekly feature releases, production-critical and security fix releases as required.
- Worked on container-based deployments using Docker, working with Docker images, Docker Hub and Docker-registries and Kubernetes
- Provided support for various AWS services like EC2, EBS, S3, CloudWatch, CloudFront, IAM, Security Groups, Autoscaling, AWS CLI and CloudWatch
- Implemented build scripts using Maven build tool in Jenkins to move from one environment to other environments. Configured GIT with Jenkins and schedule jobs using POLL SCM/Webhooks
- Used Kubernetes to deploy, scale, load balance and manage Docker containers in multiple namespaces. And have good experience with Kubernetes Rancher for deployments
- C onfigured Kubernetes to automatically adjust all replica sets according to the deployment strategy, making it possible to perform updates without affecting application availability
- Written terraform scripts for building Test, Dev, Staging and Prod environments.
- Used Ansible as Configuration management tool to automate repetitive tasks, quickly deploys critical applications, and proactively manages change
- Implemented Ansible Playbooks to manage all existing servers and automate build/configuration of new servers
- Worked on managing distributed build environment in Jenkins
- Responsible for setting up AWS S3 services creating buckets, configuring buckets with permissions, logging, versioning and tagging
- Responsible for product deployments into QA, STAGE and PROD environments
- Worked with IAM service creating new IAM users & groups, defining roles and policies for control access
- Used Jenkins for Continuous Integration and deployment into Tomcat Application Server
- Extensively worked on Configuration management of build machines and also staging and production machines, using Ansible. Worked on implementing Ansible Playbooks and also updating existing playbooks
- Utilized AWS cloudWatch to monitor the performance environment instances for operational and performance metrics during load testing
- Used Amazon S3 to backup database instances periodically to save snapshots of data and customized JSON templates
- Created alarms and trigger points in CloudWatch based on thresholds and monitored logs via metric filters.
- Experience in deploying microservice applications in Kubernetes clusters
- Used Kubernetes to orchestrate the deployment, scaling and management of Docker containers
- Setup and maintained docker repositories for storing docker images of various applications. Configured retention policies and also implemented automated script to remove outdated docker images.
- Containerized various microservices and applications using Docker to make them self-contained and independently deployable in production.
- Implemented docker-compose YAML files for bringing up multiple services (each service in each container) of an application.
- Experience in integrating Unit Tests using JUnit, Code Coverage tools like Cobertura and Static Code Analysis tools like PMD, FindBugs and Check-Style to ensure quality of the code
- Installed and configured various plugins on Jenkins server. Setup the Continuous Integration (CI) by configuring SCM polling plugin on Jenkins to trigger build and test jobs automatically when changes are pushed into Git repositories.
- Configured Elastic Load Balancers with EC2 Auto scaling groups
- Worked on maintaining JFrog Artifactory for storing builds of various projects
- Created Pod configurations, deployment configurations, Service definitions and ingress controllers in Kubernetes
- Established infrastructure and service monitoring using Prometheus and Grafana
- Implementing new projects build framework using Jenkins and Maven as build framework tools
- Experience in troubleshooting build and test failures of Java code and recommending possible fixes.
- Worked on automation and Continuous Integration processes with Jenkins, Maven and GitHub and automated application packaging and deployments through Ansible.
- Involved in Designing and deploying AWS solutions using EC2, S3, RDS, EBS, Elastic Load Balancer and Auto scaling groups
- Utilized Kubernetes for the runtime environment of the CI/CD system to build, test and deploy
- Used Ansible to run ad-hoc commands and playbooks to automate tasks on various servers
- Experience with Ansible Tower to manage enterprise Ansible deployments more easily
- Responsible for creating and installing builds and deployments on UAT and Prod Environments
- Resolving merging issues during build and release by conducting meetings with developers and managers and also resolved conflicts related to merging of source code for GIT
- Created the development and test environments using Infrastructure as code (IaC)
- Worked on Auto Scaling and CloudWatch monitoring creation and update
- Setup Static Code Analysis and Code Coverage to ensure quality of code
- Used Maven dependency management system to deploy snapshot and release artifacts to Nexus to share artifacts across projects and environments
- Created S3 buckets, managed policies for S3 buckets, utilized S3 bucket and Glacier for storage and backup on AWS
- Implemented Dockerfile (s) to containerize various micro-services and applications to make them self-contained and production ready
- Managed containers through Docker Swarm and Docker compose
- Implemented AWS Code Pipeline and Created Cloud formation JSON templates in Terraform for infrastructure as code
- Reporting defects for the failed builds and tests and tracking the status on the daily basis until the issues are resolved and builds successful
- Automated weekly releases with Maven scripting for compiling java code, debugging and placing builds into repository (Nexus Artifactory)
- Involved in setting up Jira as defect tracking system and configured various workflows, customizations and plugins for the Jira bug/issue tracker
- Created and maintained documentation of build and release processes and application configuration to comply with audit requirements and industry best practices
- Configured and maintained Jenkins to implement the CI process and integrated the tool with Ant and Maven to schedule the builds.
- Branching and merging code lines in the GIT and resolved all the conflicts raised during the merges.
- Performed all necessary day-to-day GIT support for different projects.
- Involved in phases of testing for example Integration testing, Smoke testing Performance testing and Load testing. We are also using inbuilt test cases in Jenkins and running those tests on master branch
- Take part in code peer review of the test cases, Bug review and QA weekly status meetings.
- Reported defects for the failed test cases and tracking the status on the daily basis.
- Produced scripts for viable combination of JIRA applications with different tools.
- Used agile methodology throughout the project. Involved in weekly and daily bases release management.
- Worked on analysis of logs and performing root cause analysis to troubleshoot any issues generated while building, deploying and in production support
- Python scripts for monitoring and automated build and deployment process
- Handled Jira tickets for SCM support activities and have experience in Jira workflows