Devops Engineer Resume
Atlanta, GA
SUMMARY
- With 8+ Years of Expertise working as DevOps Engineer & Build/Release Engineer in the areas of Continuous Integration (CI), Continuous Delivery (CD), Configuration Management and Application Deployment management.
- 4 years of experience with DevOps methodologies in Server provisioning, middleware management, build and deployment automation through tools like AWS, Docker, Jenkins, Rundeck, Chef, GIT etc.
- Strong believer of DevOps Methodologies and working towards a core DevOps engineer position, who can bring an end to end work flow of Continuous Integration, Continuous Delivery and Continuous Deployment process for an organization.
- I have designed and implemented CI / CD pipelines for many java - based applications helping project teams develop, test and deliver software packages fast & reliably.
- 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.
- Experience maintaining Jenkins Master, configuring, securing and plugin management areas in Jenkins.
- Capable of writing Chef Recipes to automate operational & Deployment activities, written Docker files, Integrated Chef & Jenkins with Rundeck to provide an end to end cycle of instance provisioning to Application Deployment.
- Written Chef cookbooks and recipes to Provision Several pre-prod environments consisting of Deployment automation, AWS EC2 instance mirroring, Weblogic domain creations and several proprietary middleware installations
- Experience with multiple integration techniques based on service oriented architecture such as SOA, Web services (REST APIs, SOAP) and other communication interfaces like HTTP, HTTPS, and TCP.
TECHNICAL SKILLS
CI Tools: Jenkins, Teamcity, Bamboo
Build Systems: Maven, AntVersion Control Git, SVN, Perforce
Application & Web Servers: Weblogic, Apache Tomcat, Jboss, Apache, IIS
Configuration Management: Chef, Puppet
Cloud Services: AWS, OpenStack
Containerization Tools: Docker
Virtualization Platforms: Vagrant, Virtual Box
Scripting Languages: Shell, Ruby, Perl
Logging: Logstash, Splunk
Operating Systems: Linux, Unix, Windows
PROFESSIONAL EXPERIENCE
Confidential, Pleasanton, CA
DevOps Engineer
Responsibilities:
- Written Several Chef cookbooks from scratch consisting of recipes that can Provision several pre-prod environments consisting of Weblogic domain creation, Deployment automation, instance mirroring, and several proprietary middleware installations.
- Written chef recipes to perform middleware binary Installation and Configuration tasks involving jdk, Tomcat, WebLogic binaries installation.
- Responsible for configuring and maintaining all pre-prod environments consisting of complex middleware environments with several variations of Tomcat installations consisting of several instances in each installation.
- Worked with various custom resources, created roles & environments and using chef handlers for various auto kickoff requirement jobs.
- Written Unit test cases for chef recipe testing using test kitchen, foodcritic etc.
- Setting up chef repo’s (local & remote) working with both hosted and standalone server versions.
- Performed tasks like bootstrapping nodes to executing runlists to mirror the new nodes to web or application servers and to run deployments against newly added nodes to the clusters.
- Written several Docker files to create tomcat along with required version of jdk container images.
- Worked with Docker Trusted Registry as repository for our docker images and worked with Docker container networks
- Dockerized several services like SSH daemon service and familiar with several docker command line utilities.
- Utilizes Several Docker best practices to create base images from scratch and to create clear, readable and maintainable clean docker files.
- Worked with several AWS services like EC2, EBS, S3, VPC, Cloud Formation and Cloud Watch.
- Responsible for creating on-demand EC2 instances.
- Creating Custom AMI’s and AMI tags, modified AMI permissions.
- Working with Security Groups, configuring Inbound /Outbound rules, creating and importing Key Pairs.
- Used AWS S3 service as Build Artifact repository to created release based buckets to store various modules/branch based artifact storage.
- Setup various jobs in the Jenkins for the commit based builds as well as nightly builds.
- Created Wiki pages and educated the team about the automation and branching strategies to be followed.
- Implemented code review tools like Gerrit and Emma. Set up cronjobs for automating the logs archiving and disc cleanup.
- Implementing new projects builds framework using Jenkins & maven as build framework tools.
- Implementing a Continuous Delivery framework using Jenkins, Chef, Maven and Nexus in Linux environment.
- Backup files and archive files in Glacier.
- Migrated applications to the AWS cloud.
Environment: Git, Jenkins, Chef, Maven, Nexus, WebSphere, Ant, Putty, Confluence, Gerrit, Emma, Jira Unix/Linux, Windows, Oracle Database.
Confidential, Atlanta, GA
Sr. Build & Release Engineer/DevOps
Responsibilities:
- Responsible for versioning the source code, releasing binary files, creating and applying labels on source files and release files
- Led Hudson continuous integration server installation and configuration for all GIT Repositories
- Automated application packaging and deployment
- Managed Ubuntu 8.10 staging environments
- Managed 190 GIT repositories with a version control wrapper tool REPO.
- Established coding standards and enforced them through automated tools
- Configured multiple Windows and Linux slaves for Hudson master to distribute the load across a Farm of machines
- Applied the test driven development methodology while developing which yielded cohesive, loosely coupled and tested code
- Educated team about continuous integration and automated testing practices and supported them throughout development
- Configured Hudson to Implement Nightly builds on daily basis and generate change log that includes changes happened from last 24 hours.
- Integrated Testing Tools like Junit, Emma and Coverity in Hudson which provide unit testing and Code coverage with detailed graphical reports
- Connected continuous integration system with GIT version control repository and Continually build as the check-in’s come from the developer
- Good Knowledge with mobile telecommunication technologies and have hands-on experience with wireless mobile device operating systems: Android, WinMobile
- Resolved dependency issues between different modules in android build system by configuring make files
- Created Multiple ANT and Shell (bash) scripts for build automation and deployment.
- Defined branching and merging strategies
- Documented the SCM process and policies of the company and recommended some process changes.
- Enabling the build process by using the Visual studio, specifying the maximum number of builds running on the TFS.
- Responsible for writing the Release Notes, documenting all useful info about the release: software versions, changes implemented in the release, Defects fixed, Labels applied etc
- Deployed and configured Tomcat application server to host the wiki website.
- Coordinated software development teams and QA teams on issues and solved the problems.
- Mentored junior Java developers through Eclipse, ANT, GIT, and general Java issues and documented knowledge in several in-house wiki pages.
Confidential
Build and Release Coordinator
Responsibilities:
- Used SVN as version Control
- Supported Java Project code base and used Maven as Build tool.
- Migrated Ant build.xml files to Maven POM.xml
- Used Bash as scripts language for Build Automation.
- Maintained Ubuntu build machines and always keep them updated with latest security fixes.
- Managed Disk space and rebooted builds slaves as regular schedule to keep the health of build slaves
- Used Jenkins as CI tool and added 20 Build slaves. Labeled Slaves so that load can divided and branches get their own priority
- Installed Nagios to keep track of the system status like uptime, system load, disk usage and send notifications to team when necessary.
- Worked on the .NET framework application by using the Internet Information Services IIS and deploying the files in the framework applications.
- Created branches and tags in Version control
- Merged and resolved conflicts using SVN and helped developers to work with version control tools
- Documented all the process and to do list for improvements
- Worked with Team and supported on-call rotation for pushing the releases in timely manner
Confidential
QA/Release Engineer
Responsibilities:
- Primary responsibilities include Build and Deployment of the java applications onto different environments
- Installed subversion and trained all the Development team in subversion.
- Involved in Migration from CVS to SVN.
- Responsible for Managing Source Code, creating tags, Branches and Branch Merges using CVS, SVN.
- Responsible for the Code Freeze and Stage Freeze Activities.
- Installed Clear Case, Clear quest on Windows 2000 and XP clients.
- Created VOBs, Dynamic views, Snapshot Views for project teams.
- Helped all developers and other project teams to set views and environments
- Created Builds and deployed builds to different environments based on requests.
- Maintained Dev/QA application environments to ensure all business rules, print logic and compliance issues are well-managed and documented prior to pushing to production
- Implemented UCM solutions for the Confidential Trading System
- Used Ant as a Build tool.
- Automated Builds using Continuous Integration tool Continuum.
- Applied baselines and recommended baselines for each build and releases
- Wrote scripts using Perl, shell and batch files for Automation of Activities and builds
- Used Unix Cron jobs and Crontab for Automation of Build and Deployment
- Integrated clear quest defect tracking tool with the clear case
- Performed merges for each build from Development Branch to Integration Branch.
- Created CM process for installation and verification of Builds after deployment.
- Created the release management plan with the implementation schedule
- Performed and deployed Builds for various Environments like QA, Integration, UAT and Productions Environments.
- Coordinated offshore Teams in India to tests the builds.
- Used IBM WebSphere and Tomcat As application servers. Packaged the software using packaging tools like install shield and install anywhere.