Balaji Vajjala's Blog

A DevOps Blog from Trenches

balaji vajjala resume

Contact: at bvajjala@gmail.com, balaji.vajjala, Main Street, Carmel, IN 46032, (610) 888-4986 (M), Linked In.

Overview

As an DevOps Solution Architect consultant, I provide infrastructure automation services within private and public clouds as well as team training and DevOps mentoring. I like uncharted territory and problems that are difficult to solve. I love to:

  • Advocate for, facilitate and create DevOps culture and Automate all the things with the correct devops tool!
  • Finally reach continuous delivery and Build clouds with Openstack and AWS

With Many years of experience conducting and managing business on the Internet and have created technical solutions for businesses around the world and for my own business ventures. To briefly name a few of my major accomplishments, I have

  • Designed and built highly available, private AWS clouds.
  • Designed and built automated infrastructure using open source tools.
  • Developed web applications.
  • Designed and built networks and information systems and.
  • Provided training and mentoring to others in these fields.

Am currently working as a Principal DevOps Engineer, with a primary focus on Build and Release and Delivery Automation Engineering. My responsibilities involve setting the overall Delivery Automation strategy, via investments in automation at several layers of the Technology stack to implement a Continuous Deployment/Delivery pipeline.

My specific areas of expertise are cloud systems automation and architecture and specialities encompass agile and lean development practices. Additionally, open source software strategy, identification, evaluation, selection, implementation and documentation. My primary focus is on enabling development/engineering professionals, as well as project, program, and technical leads on the benefits of adaptive automation processes.

Have extensive experience with build architecture and automation, continuous delivery, and troubleshooting complex dependency graphs. Am also a software craftsman, applying state-of-the-art tools and methods to enable efficiency, performance, and agility for those who rely on me.

  • Mastery of build technologies like Hudson, Jenkins, Ivy, Maven, Gradle, NuGet etc, Integration and automation of source control applications like Perforce, Subversion, Git, Artifactory,
  • Management of library versions and deprecated code, Design and sequencing of automated builds & test runs and Troubleshooting expertise – build failures due to dependencies, tests, etc.
  • Evangelism of best practices and tools and Programming/scripting skills using tools like shell scripting, Python, Groovy, Powershell with Strong communication and cross-functional skills and the ability to execute autonomously given a set of clearly defined strategies
  • Currently Rails and AWS consulting. – From the backend persistence layer to the Ruby layer, to client side JavaScript, I’ve got projects covered. I’m typically adding code to Github and submitting a pull request within a day of joining a project.

Specialties: Systems engineering and automation (mainly GNU/Linux), cloud/distributed computing, Opscode Chef, Openstack, Amazon AWS, Apache Software Foundation projects, Unix/Linux shell scripting, Ruby, PHP, Python, Java, HTML5, Javascript, Git, GitHub, Jenkins.

Experience


Angie’s List,Indianapolis, IN


2012 to present, Principal Devops Lead @ Angie’s List

Principal DevOps Lead

  • Manage DevOps and Infrastructure Teams supporting tools and infrastructure for 100+ developers on 3-5 concurrent releases.
  • Manage implementation of the company’s first repeatable, traceable, documented, and packaged product ensuring quality upon delivery.
  • Implement the first release tracking and reporting providing full visibility into software releases.
  • Manage re-architecture of Jenkins and integration with Confluence for release management and documentation assets. Re architect a Maven based system reducing build times.
  • Manage implementation and installation of server class hardware with migration companies’ assets from desktops around the office.
  • Manage hardware request and support from developers and infrastructure.
  • Manage all CM tools (JIRA, Confluence, Artifactory, SVN, Maven, Jenkins, ANT, Git, GitHub, Visual Studio) and their usage / process ensuring traceability, repeatability, quality, and support.
  • Re architect a legacy SVN repository from pure script dependency and no representation of releases to clear direction regarding where code resides and the difference between releases.
  • Implemented a Continuous Delivery pipeline with Docker, Jenkins and GitHub and AWS AMI’s, Whenever a new github branch gets started, Jenkins, our Continuous Integration server, automatically attempts to build a new Docker container from it, The Docker container leverages Linux containers and has the AMI baked in. Converted our staging and Production environment from a handful AMI’s to a single bare metal host running Docker.

Tools used : Artifactory, Nuget, OctpusDeploy, DJango, Python, .NET, Nexus, Ivy, Maven, MS Build,
MS Deploy, Nant, Docker, Puppet, AWS Cloudformation, AWS OpsWorks, Ruby, Scala, Play, JIRA, Confluence, Artifactory, SVN, Maven, Jenkins, ANT, Git, GitHub, Visual Studio.


Build and Release manager @ Angie’s List

This role is key to providing proactive, continuous acceleration of development velocity by managing, optimizing, and redesigning builds (and related artifacts) for 10+ distinct high traffic services (edge, middle, big data) and related libraries owned the by the Infrastructure team. We develop, deploy, and operate critical functionality,global management, operational insight, and developer support. We depend on a large, distributed set of services and others depend on us. We produce and consume 100s of code artifacts and we’re working towards daily deployments.

Tools used : Artifactory, Nuget, OctpusDeploy, DJango, Python, .NET, Nexus, Ivy, Maven, MS Build, MS Deploy, Nant

Configuration Manager @ Angie’s List

  • Responsible for applying the Corporation’s Software Configuration Management processes to projects, setting up and maintaining TFS/GIT/GITHub infrastructure and supporting a continuous delivery model by automating software build and package migration processes.
  • Responsible for planning, developing, executing and supporting the Corporations software development lifecycle from the point of developer check-in through production deployment. TFS/GIT responsibilities include maintaining the version control system (branching model, security), creation and maintenance of build definitions\scripts, and the setup of work item areas and iterations. work closely with key members of the development and operations teams. is responsible for troubleshooting build breaks, enforcement of software quality standards, and proper communication of packages\installation steps to operations for both non-production and production environments. also responsible for maintaining and supporting developer tools (i.e. PostSharp, CodeSmith, Resharper) and developer environments.
  • Working with developers to reduce friction of code flow from the Developer’s fingertips to production.This includes improving and maintaining Continues Integration Systems and Deployment systems

Tools Used: CruiseControl, Hudson, Anthill Pro, Fitnesse, TFS, MSBuild, Maven, Ivy, Nexus, NAnt, Ant, Sonar, Selenium, QTP, Agile, XP, Scrum, Lean / Kanban, Mingle, Rally, Hudson, Jira, Crucible, Git, GitHUb, Gerritt.


Delivery Lead @ Angie’s List

Came up with a Continuous Delivery platform and refrecne implementation to provide a complete working Continuous Delivery solution using industry-standard open source tools such as Jenkins, Puppet, Chef, Capistrano, Ruby, Maven, git, Java, etc. Uses the following tools

  • CloudFormationCloudFormation is a domain-specific language expressed in JSON for automating the provisioning/management of AWS resources. These CloudFormation scripts automate the provisioning of AWS resources (IAM, EC2, S3, Route 53, SNS, RDS, ELB and Auto Scaling) and make calls to Puppet scripts that execute the rest (provisioning/configuration of servers on the instances)
  • IAMIAM is the user authentication and authorization service for AWS. The Delivery Scripts provisions IAM users for secure access to AWS resources in its CloudFormation scripts.
  • EC2 – (Security Groups, KeyPairs) EC2 is the service for launching compute instances in AWS and automatically provisions EC2 instances based on AMIs. Italso configures security groups as part of virtual firewall configuration.
  • S3 – It has CloudFormation scripts that push files, create keys, etc. in S3.
  • Route 53Route53 is an automated DNS. From CloudFormation, it configures Route 53 to allocate domain names.
  • Simple Notification Service (SNS) – In CloudFormation, it configures SNS to send notification messages to inform users and services based on events.
  • RDS – In CloudFormation, configures RDS
  • Elastic Load Balancer – In CloudFormation, provisions ELB to distribute traffic across multiple Amazon EC2 instances, as necessary.
  • Auto Scaling – In CloudFormation, provisions launch configurations and Auto Scaling groups to provide support for scaling instances across AZs
  • Github – uses Github for version control
  • Jenkins – automates the provisioning and configuration for all of the Jenkins Continuous Integration Server including plugins, jobs, server configuration, etc.
  • PuppetPuppet scripts are called by CloudFormation. It’s Puppet scripts automate the provisioning and configuration of servers on the EC2 instances. These include, but are not limited to, Java, Ruby, GCC, Tomcat, MySQL and PostgreSQL.
  • ChefChef It is in the process of supporting Chef.
  • CucumberCucumber is a behavior-driven framework written in Ruby. It calls Cucumber scripts from Jenkins to test the infrastructure and deployment to ensure they were successful or, otherwise, notify team members.
  • CapistranoCapistrano is a deployment framework written in Ruby. It calls Capistrano scripts from Jenkins to perform
  • Ruby – uses Ruby as the “glue” between all of its components. These Ruby scripts run tests, delete stacks and instances, etc.
  • Dev Platforms – It provides “out-of-the-box” automation for Rails, Java and Grails on the Linux operating system. Other platforms can be supported by OpenDelivery. and, provides analogous automation for MySQL, PostgreSQL, Tomcat and Apache.

Tools Used : Jenkins, Puupet, Chef, Capastrino, Ruby, Maven, Git, Java


Vanguard Investments Group, Malvern, PA

2012 – 2012, Configuration Analyst

  • Constructed/Architected a Continuous Integration CI Server and Implemented Build/Deploy automation Server utilizing CI Technologies like Jenkins/Hudson, Subversion, Maven, Ivy Nexus, MS Build, Ant, Sonar, JIRA and Selenium for both .NET and J2EE Applications on mixed OS (Windows/Linux/Unix).
  • Modeled and automated the End to End Continuous Integration/Deployment/Delivery pipeline which included building a Continuous Integration server utilizing tools like Jenkins, Ivy, Nexus, maven, Jira, Subversion, Git, Ant, Selenium, and Sonar.
  • Administered and Supported the Continuous Integration Server Infrastructure. Completing software builds and elevations, creating directories and security groups, and recreating prior versions. Monitored software, hardware, and/or middleware updates and

Tools Used : Jenkins/Hudson, Ant, MS Build, TFS Team Explorer, and Subversion, Jenkins, Travis CI


HP Enterprise Services

2010-2012, CM Solutions Architect, Release manager


CM Solution Architect for Healthcare Emerging Products

  • As CM Solution Architect at HP Healthcare was the focal point for managing, communicating and strategizing application and infrastructure releases. Main responsibilities included planning, developing, coordinating and leading release activities with Engineering, Quality, Project Management, Operations, Product and Support teams.
  • Led the successful deployment of multiple product releases to QA, Staging and Production environments and acted as the gatekeeper in facilitating all agreed entry/exit criteria and process checkpoints are satisfactorily negotiated and received. In addition, also applied my proven communication and problem-solving skills to guide and assist the support groups on issues related to the testing and deployment of business-critical information and applications. Specific responsibilities:
  • Engaged with Multiple projects in early phases of the development life cycle to ensure alignment with the overall release schedules and corresponding demand management. Defined and formulated releases to ensure alignment to established software development processes in an effort to meet business/Corporate needs.

    Tools Used : Jenkins, Puupet, Chef, Capastrino, Ruby, Maven, Git, Java


Configuration manager for Healthcare Emerging Products

  • Conducted multiple CM assessments including “As-Is” and “To-Be” with recommendations to improve Healthcare CM and release management practices. Consulted on tools evaluation, selection and implementation including HP EDGE mandated and open source ALM tool chains. Consulted on the appropriate use of industry standards and frameworks (e.g. CMMI/EDGE).
  • Developed Healthcare Product Release and Configuration plan and managed CM team responsible for build automation (development and maintenance), code promotion through environments, and production packaging and installation support for customers. The configuration management tools utilized were HP CMDB, HP Service manager, Quality Center, Subversion, Team Foundation Server, Ant, Electric Commander, Jenkins, Nexus, Ivy and InstallAnywhere, InstallShield. Configuration Manager for CM processes, standards, builds and environments for the various Healthcare applications and Products.
  • Directed setup, use, and build scheduling for environments and implemented a Continuous Delivery pipeline. Designed and implemented CM requirements, approach, and tooling for Java (J2EE) and .NET -based application development. Designed, coded, and implemented automated build scripting in Ant, Ivy, Jenkins/Hudson, and Maven.
  • Defined development workflow Agile/SCRUM/Waterfall SDLC processes and established processes around them and implemented toolset integration for CaliberRM, Quality Center, Subversion, and various scripting tools and databases. Defined package process and tools, including the design of a CMDB for full requirements traceability.
  • Led team of CM build specialists, tool integrators, environment coordinators and packagers and defined and assisted with Data Management (and Testing data baseline) CM strategies. Managed Healthcare product packaging for release to customers utilizing InstallShield and InstallAnywhere.

Tools Used : Jenkins, Puupet, Chef, Capastrino, Ruby, Maven, Git, Java


InterDigital, King Of Prussia, PA

2005 – 2009, Configuration/Release manager

As CM manager responsible for building and running continuous integration environments that support multiple development teams working toward towards common builds and Major Responsibilities included

  • Designing and implementing a continuous development and deployment process that is uniform throughout several development teams and across projects. Implemented Continuous Integration validation tests on code check-in. Design and implement, working with QA automation team, post check-in automated unit and system tests and Established and documented workflow. Trained development, QA and production deployment teams. Managed tools like Subversion, Jenkins, JIRA and Performed maintenance and troubleshooting of build/deployment systems.
  • Plan, coordinate and execute releases to QA, stage and production environments and Managed complex code branches from multiple development teams for current and future releases. Merged code and ensure successful builds with intended functionality. Ensured releases are documented for supportability and functionality and stakeholders spanning multiple organizations are notified in advance.
  • Responsible for configuration management including deployment of new software/configuration changes into our UAT, Training, Production and DR environments. Additional duties included working with development and infrastructure teams to improve the configuration and release management processes and environments for more efficient, higher quality software deployments.

Aspen Software Consultants, Dallas, TX

2002-2005, Consultant

  • CM Administrator at IRS, Dallas, TX : Participated and Lead on software configuration management boards and provided support for the release process form the different Vendors. Involved in Building and deploying software releases, Building and compiling code of varying complexity using automated and manual efforts to ensure complete and accurate code compilation for release into various critical environments. Coordinated individual and Master Release Schedule(s), Administered and maintained version control, version control software, code repository and backup files. Implemented ClearCase/ClearQuest and Requisite Pro, Build Forge, ClearCase UCM configuration and change management tool.
  • Configuration Analyst at Capital One, Plano TX : Responsible for Rational development tools support over multiple environments consisting of ClearCase, ClearCase Multisite & ClearQuest. Ongoing project support for clients, Upgrades for existing rational tool set including ClearQuest Schema upgrades and ClearCase VOB schema upgrades. ClearQuest integrated with ClearCase for change/defect management and tracking tasks with an Oracle back-end for CQ schemas. Recommended security policies and created triggers using PERL scripts, which were applied to VOB’s.
  • Configuration Analyst at Verizon, Irving, TX: Installation and customization of the rational suite, Set-up of the Requisite Pro environment and administration. Integration between ClearQuest and Test director, ClearCase UCM configuration and change management tool. Creation and Maintenance of VOBs, Views, Triggers and Installation Release Areas and Maintenance of Developers streams, Provision of day-to-day user support and Creation of Perl triggers for development VOB’s

Tellabs Inc., Naperville, IN

1998- 2002, Configration Management manager

  • Developed plan and organizational processes to improve configuration management within the enterprise to include the establishment of a change control board (CCB). Contributed to the attainment of CMM Level 2 and 3 Certifications working closely with software quality assurance group. Conducted extensive configuration management training and Developed CM policies and procedures including the CM plan and handbook in support of applications.
  • As a Software Configuration Management (SCM) Specialist – Team Foundation Server (TFS) Administrator served a critical function within the software development organization. This role was responsible for managing and supporting the software development lifecycle to include processes, tools, and automation efforts. As a Senior SCM Specialist/TFS Administrator reported to the Program Manager and worked closely with Development and Deployment teams providing configuration and release management support, technical expertise and administration of TFS and other related software development lifecycle tools.

Education

  • Introduction to CMMI, Carnegie Mellon Univeristy**.
  • M.E (Elect Engg), Andhra University, India
  • B.E (Elect Engg) Andhra University, India

Talks/Presentations/Publications/Projects

Some of my Talks and Presentations * My Presentations


Projects


Publications