CI Tools and Best Practices in the Cloud

Continuous Integration

Subscribe to Continuous Integration: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Continuous Integration: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Continuous Integration Authors: Elizabeth White, Liz McMillan, Pat Romanski, Flint Brenton, Amit Gupta

Related Topics: Agile Software Development, Continuous Integration, DevOps Journal

Blog Post

Top DevOps Tools We Love By @Dynatrace | @DevOpsSummit [#DevOps]

A collection of tools that foster collaboration among Product Management, Development, IT Operations & Technical Support teams

The word DevOps is a portmanteau of "development" and "operations". However, anyone who knows "The Phoenix Project" by Gene Kim, et al., will agree that its radius is much wider than what the term suggests: it's a melting pot that combines principles from Agile Software Development and Lean Manufacturing with the aim to reduce friction and improve collaboration by honing a culture of communication, respect and trust across Product Management, Development, Testing, IT Operations, Information Security, Marketing, Sales and Technical Support departments, as well as to continuously improve organizational performance. Aside from the social, DevOps also has a technological side to it: tooling. Picking the right tools that support or even fully automate software development, testing and delivery processes empower everyone involved in getting things done more effectively and efficiently, lessen the risk of the human factor, reduce waste and allow for a vastly improved time to market.

"The DevOps movement is built around a group of people who believe that the application of a combination of appropriate technology and attitude can revolutionize the world of software development and delivery."
Stephen Nelson-Smith, founding member of the DevOps movement in What Is This DevOps Thing, Anyway?

In this post, I will present to you a collection of tools that we enjoy using at Dynatrace for our internal processes because they foster collaboration among our Product Management, Development, IT Operations and Technical Support teams, allow us to build more quality into our products, and support us in establishing better feedback loops.

Development
GitHub
GitHub is arguably the best tool for sharing and collaborating on code. On our Dynatrace GitHub Organization, we provide close to 60 Dynatrace Plugins to the public and have just recently added scripts to automatically deploy our products with Ansible, see below.

Virtual Machines
Vagrant, Packer and VeeWee
Vagrant is a software for configuring and running virtualized environments on top of desktop virtualization software such as VirtualBox, KVM or VMware, but can also be extended to run environments on various cloud providers. Vagrant offers integration with configuration management tools such as Ansible, Chef or Puppet, and spinning up a virtual machine is as simple as saying `vagrant up` on the command line.

We use Packer to automatically create base images for Vagrant for a wide variety of Linux and Microsoft Windows operating systems. Packer is inspired by, and meanwhile replaces, VeeWee, a tool created by DevOps movement founder Patrick Debois. However, VeeWee still comes in handy since it provides an impressive library of base image templates that can easily be converted to Packer configurations using the VeeWee-to-Packer conversion tool by Mitchell Hashimoto, the creator of Packer and Vagrant.

In combination with a configuration management tool, VeeWee, Packer and Vagrant allow our Technical Support teams to literally select an operating system and a Dynatrace version from a drop-down list and recreate customer-like environments quickly and automatically for targeted resolution of customer issues. It also allows us to create tailor-made demo environments that we use for product enablement or presentations. You can refer to Dynatrace/Dynatrace-CDDemo-DeployTool for a figuration of this stack that creates demo environments that show Dynatrace's capabilities in Continuous Delivery deployment pipelines.

Configuration Management
Ansible, Chef and Puppet
Ansible, Chef and Puppet are amongst the most prominent configuration management and deployment automation tools. While we believe that each one of these tools has its particular strengths and weaknesses, we also think that Ansible's in-order execution of tasks, its extensive and easily extensible modules library, plugin system, as well as its agentless architecture that allows for the orchestration of zero-downtime releases make it the best pick for orchestrating the provisioning of instances inside our Dynatrace SaaS offering. Our deployment automation scripts for Ansible are hosted on our Dynatrace GitHub Organization and on Ansible Galaxy. Puppet modules and Chef cookbooks are undergoing review and will be released next.

For more DevOps tools, click here for the full article.

More Stories By Martin Etmajer

Leveraging his outstanding technical skills as a lead software engineer, Martin Etmajer has been a key contributor to a number of large-scale systems across a range of industries. He is as passionate about great software as he is about applying Lean Startup principles to the development of products that customers love.

Martin is a life-long learner who frequently speaks at international conferences and meet-ups. When not spending time with family, he enjoys swimming and Yoga. He holds a master's degree in Computer Engineering from the Vienna University of Technology, Austria, with a focus on dependable distributed real-time systems.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.