Devops Engineer Resume
Regina, SK
SUMMARY:
- Over 5 years of extensive work experience in implementing DevOPS practices, building continuous integration or deployment pipelines, Configuration Management and Infrastructure monitoring.
- Expertise in Version Control tools like GIT with GitHub, Subversion (SVN), CVS and TFS in both Linux and Windows platforms.
- Experience in development and configuration experience with software provisioning tools like Chef, Ansible and Puppet.
- Good Knowledge on configuration management using Chef's cookbooks.
- Strong Experience on writing Puppet's manifest and Ansible's playbooks and to automate the environment provisioning, Middleware Infrastructure Installations.
- Good Experience in developing Terraform and AWS Cloud Formation templates to create custom sized VPC, subnets, EC2 instances, ELB and other services.
- Experienced with Amazon AWS Cloud Administration which includes services like: EC2, S3, EBS, VPC, ELB, AMI, SNS, RDS, IAM, Route 53, Auto scaling, Cloud Front, Cloud Watch, Cloud Trail, Cloud Formation, OPS Work, Security Groups.
- Extensive experience using MAVEN, ANT and Gradle as a Build Tool for the building of deployable artifacts (Jar, war & ear) from source code.
- Experienced in Continues Integration (CI) and build automation tools including Jenkins, Ant & Bamboo.
- Expertise in using log monitoring tool like Splunk and Nagios.
- Set up system for dynamically adding and removing web services from a server using Docker and Nginx.
- Experience in using containerization tools like Docker for deployment and build web applications, those can run consistently across any machine, have knowledge on containerization orchestration using Kubernetes.
- Experience in using virtualization tools like Virtual Box, VMware and provisioning virtual machines using Vagrant.
- Proficient in scripting for build automations which include Perl, Bash Shell, Python and PowerShell.
- Well versed in managing source code repositories like SVN, Git, GitHub and Bit bucket.
- Good Experienced in application deployment and configuring on web application servers like Apache Tomcat, JBoss, IBM WebSphere and Oracle Web logic.
- Expertise in Branching, Merging Strategies, migrating projects from Subversion repositories to GitHub Enterprise repositories through Team Foundation server (TFS).
- Good understanding of the principles and best practices of Software Configuration Management (SCM) in Agile, Scrum and Waterfall methodologies.
- Expertise in creating DevOps strategy in a mix environment of Linux (RHEL, Ubuntu, CENTOS) servers and Windows along with Amazon Web Services.
- Expertise in trouble shooting the problems generated while building, deploying and in production support.
- Efficient in working closely with core product teams to ensure high quality and timely delivery of builds.
- Excellent communicative, interpersonal, intuitive, analysis and leadership skills with ability to work efficiently in both independent and team work environments.
TECHNICAL SKILLS:
Languages/Scripting: Java, Python, Bash, Shell, Power shell, Ruby.
Version Controls: Git, SVN, Bit Bucket.
CI Tools: Jenkins, Bamboo, Team City.
Build Tools: Ant, Maven, Gradle.
Devops Tools: Chef, Ansibe, Puppet, Docker, Kubernnetes, SonarQube, Terraform, AWS, Nexus, VmWare, Nginix.
Monitoring Tools: Splunk, Nagios.
Servers: Apache Tomcat, Jboss, WebSphere, WebLogic.
Methodologies: Agile, TDD, Waterfall.
Data Bases: Oracle, My SQL, postgreSQL.
Operating Systems: Windows, Unix, Linux (RHEL, Ubuntun CentOs, Red Hat).
WORK EXPERIENCE:
Confidential, Regina, SK
Devops Engineer
Tools: & Technologies: CI/CD, Jenkins, Maven, Ant, Chef, Ansibe, Docker, AWS, Terraform, Kubernetes, Git, SVN, SonarQube, Nexus, Nagios, Splunk, Elastic Search, Python, Shell, Bash, Long Stach, Tomcat, Jboss, Agile, Windows and Linux.
Responsibilities:
- Involved in DevOps migration/automation processes for build and deploy systems.
- Used Jenkins and implemented CI/CD pipeline using and configuring plugins like parameterized build and dependency Jobs.
- Automated CI/CD with Jenkins, build - pipeline-plugin, Maven, GIT, Set up Jenkins master/slave to distribute builds on salve nodes
- Worked to ensure smooth continuous integration and deployment (CI/CD pipelines) of the products.
- Created Chef Recipes for automating the Infrastructure, deployment process. Managed Nodes, Run lists, roles, environments, data bags, cookbooks, recipes in Chef.
- Implemented Chef Recipes for Deployment on build on internal Data Centre Servers. Also re-used and modified same Chef Recipes to create a Deployment directly into Amazon EC2 instances.
- Defined all servers in Ansible, so that a newly built server could be up and ready for production.
- Used Ansible to automate Configuration management and written playbooks to manage Web Applications, Config Files, Data Base, Commands, Users Mount Points and Packages.
- Implemented a Git mirror for SVN repository, which enables users to use both Git and SVN.
- Developed Docker based micro services, deployment modules with Jenkins, Kubernetes and Ansible based pipelines/frameworks.
- Used Kubernetes as an open source platform for automating deployment, scaling and operations of applications containers across clusters of hosts, providing container centric infrastructure.
- Developed and maintained the pipelines for deploying our Java Micro services into Marathon through Jenkins.
- Coordinate/assist developers with establishing and applying appropriate branching, labeling/naming conventions using Subversion (SVN) and Git source control.
- Branching and merging code lines in the GIT and resolved all the conflicts raised during the merges.
- Configured SonarQube code quality tool and integrated it with Jenkins.
- Implemented SonarQube to analyze code quality metrics, to verify the coding standards and setup quality gates to allow/fail builds as per requirement.
- Used Maven as build tool on Java projects for the development of build artifacts on the source code.
- Worked on the transition project that involved migration activities to Maven from ANT to standardize the build across all the applications.
- Used Nexus tool to manage the repository in Maven and used the same to share the snapshots and releases of internal projects.
- Maintained Splunk, ElastiCache, Log stash and Kibana stacks for log aggregation and alerting.
- Responsible for working with dev team to automate application deployments on Tomcat & JBoss application servers.
- Created scripts in Python to automate log rotation of multiple logs from web servers.
- Created BASH shell scripts to automate Cron jobs and system maintenance. Scheduled Cron jobs for job automation.
- Implemented & configured Nagios for continuous monitoring of applications in the production environment & enabled notifications via emails & text messages.
- Worked with project development teams following Agile & Waterfall methodologies and can design source code branching, release life cycles and CI/CD pipelines based on pace & project deliverables
- Build, configured and support Application team environments.
- Administered Linux servers for several functions including managing Apache/Tomcat server, mail server, and MySQL databases in both development and production.
- Executed user administration and maintenance tasks including creating users and groups, reports and queries.
Confidential, Oakville, ON.
DevOps Engineer
Tools: & Technologies: Ansible, Terraform, Chef, Kubernetes, Jenkins, Maven, Ant, Agile, Java, Python, Bash, Shell, Git, AWS, Docker, Gradle, CI/CD, Splunk, Nagios, Nexus, Openshift, Windows and Linux.
Responsibilities:
- Responsible for the management and continuous improvement of the release process for internal and external web applications.
- Developed and implemented Software Release Management strategies for various applications according to the agile process.
- Developed Chef Cookbooks, Recipes, Resources and Run lists, Managed Chef client nodes, and uploaded cookbooks to chef-server using Workstation.
- Designed and built a continuous integration and deployment framework for Chef Code using test driven development.
- Responsible for implementing server configurations using Ansible.
- Responsible for writing Ansible Playbooks to install packages and running services over the environment having number of servers.
- Developed the Terraform manifests using the azure resources to automate the provisioning of Azure and AWS infrastructure.
- Managed infrastructure in AWS with Terraform and orchestrated Docker containers, pushed Docker images to ECR and deployed in ECS services.
- Build servers using AWS, importing volumes, launching EC2, RDS, creating security groups, auto-scaling, load balancers (ELBs) in the defined virtual private connection and open stack to provision new machines for clients.
- Used Jenkins and pipelines to drive all micro services builds out to the Docker registry and then deployed to Kubernetes.
- Compiled Java Code performed Debugging and Placed Builds into Maven Repository by using Maven/Gradle.
- Configuring Jenkins set up, defining, scheduling jobs, invoking external scripts and external executables triggered from Jenkins at defined intervals.
- Defined dependencies and plug-ins in Maven pom.xml for various activities and integrated Maven with GIT to manage and deploy project related tags.
- Created Docker images using a Docker file, worked on Docker container snapshots, removing images and managing Docker volumes.
- Used Docker and OpenShift to manage micro services for development and testing.
- Implemented a production ready, load balanced, highly available, fault tolerant, auto scaling Kubernetes AWS infrastructure and microservice container orchestration.
- Implemented CI/CD allowing for deploy to multiple client Kubernetes/AWS environments.
- Installed & configured Jenkins to support various Java builds and Jenkins plugins to automate continuous builds and publishing Docker images to the Nexus repository.
- Monitored servers, switches and ports using Nagios Monitoring tool and assisted internal users of Splunk in designing and maintaining production quality dashboards.
- Created scripts for systems administration and AWS using languages such as BASH and Python.
- Written Python scripts to create test cases during two week sprints using agile methodology.
- Created and maintained the Shell and Perl deployment scripts for Web Logic web application servers.
- Integrated various provisioning and monitoring modules into a single platform using Jenkins CI tools.
- Troubleshoot issues along the CI/CD pipelines.
- Coordinated developers with establishing and applying appropriate branching, labeling/naming conventions using GIT source control.
- Analyze and resolve conflicts related to merging of source code for GIT.
- Deployed and configured Git repositories with branching, forks, tagging, and notifications. Experienced and proficient deploying and administering GitHub.
- Installed and configured Jenkins CI tool on Linux machines.
- Provided stable build environments for product development.
- Documented all build and release process related items. Level one support for all the build and deploy issues encounter during the build process.
Confidential - Ottawa, ON.
DevOps/Build/Release Engineer
Tools: & Technologies: ElasticSearch, Jenkins, Maven, Puppet, Maven, GIT, AWS, Docker, Wercker, Apache, Nagios, MySQL, Logstash, BIND, Python.
Responsibilities:
- Collaborated with Development and Support teams to setup a Continuous Delivery environment with the use of Docker and Wercker, continuous build and delivery tools.
- Working for DevOps Platform team responsible for specialization areas related to Puppet for Cloud Automation.
- Conducted business impact analysis & risk assessments of business functions. Accordingly, designed, developed, documented and implemented Disaster Recovery infrastructure for mission critical servers.
- Coordinating the resources by working closely with Project Manager's for the release and Project Manager for all the Operational Projects.
- Automated builds using TFS team build, .NET build for .NET applications
- Worked on Managing the Private Cloud Environment using Puppet.
- Build Automation and Build Pipe Development using Jenkins and Maven.
- Worked on Cloud automation using AWS Cloud Formation templates.
- Developed automation framework for Application Deployments to the cloud environments.
- Designed Puppet Modules to manage configurations and automate installation process.
- Automated centralized configuration using Puppet.
- Worked on migration from Datacenter to AWS.
- Implemented rapid-provisioning and life-cycle management for Ubuntu Linux using Amazon EC2, Puppet and custom Ruby/Bash scripts.
- Managed and optimize the Continuous Delivery tools like Jenkins.
- Automate Continuous Build and Deploy Scripts for Hudson/Jenkins Continuous Integration tool.
- Developed Custom Scripts to monitor repositories, Server storage.
- Worked with RESTful API’s of Elastic Search to analyse, search and visualize real-time data.
- Scripting & automating tasks using Python for backup, monitoring and file processing.
- Upgrading Production Environment servers for Stability and Security.
- Installed and configured Puppet and BIND for internal infrastructure within the company.
- Implemented Nagios monitoring solution for mission critical servers.
- Worked on creation of custom Docker container images, tagging and pushing the images.
- Worked on creating the Docker containers and Docker consoles for managing the application life cycle.
- Branching, Tagging, Release Activities on Version Control Tools: SVN and GIT.
- Worked on network based services including DNS, Syslog, NTP, SSH. Utilized Netstat, Dig, TraceRoute, Nmap, iPerf and Rsync.
- Provide stable build environments for product development.
- Accumulated application and system logs into LogStash for centralized monitoring, querying and reporting.
- Continuously updating documentation for internal knowledge base of support team and IT team.
Confidential
Build-Release Engineer
Tools: & Technologies: SVN, ClearCase, WebSphere, Tomcat, CI/CD, ANT, Jenkins, TFS, Python, ClearQuest, Shell Scripting, .Net, Windows and LINUX.
Responsibilities:
- Worked closely with the Development Team in the Design Phase and developed Use Case Diagrams using Rational Rose.
- Worked with the Architects on SDLC Process, being the owner of Post Development Environments.
- Carried out Deployments and Builds on various Environments using the Continuous Integration tool Jenkins.
- Developed and Implemented the Software Release Management for the Release of Web Applications.
- Wrote ANT and MAVEN Scripts to automate the Build Process.
- Used Shell/Perl Scripts to automate the Deployment Process.
- Designed a Customized Status Reporting Tool, based on the specific requirements using J2EE/Struts and Websphere Application Server with DB2 as Database.
- Overhauling the source code in SVN, adding static code analysis tests like coverity, findbugs, pmd etc. and configuring unit tests to run as part of builds.
- Setting up commit builds to checkmarx for compilation failures of checked-in source code by the developers to accelerate CI.
- Integrated SVN and Maven with Jenkins to implement the continuous integration process.
- Establish CI / CD for trunk and branches to support parallel development.
- Co-coordinated Instance Refreshes and Environment Re-base Lining.
- Interdependencies and planning Release.
- Planning, Scheduling and Documenting Releases at Code Freeze Periods.
- Worked with many Teams of strength more than 30 and managed 2 Release/Build Engineers.
- Implemented & Maintained the Branching and Build/Release Strategies utilizing Subversion.