One and a half months ago I joined the Dynatrace Strategic Alliances and Innovation Lab team, or, as we call it, the Dynatrace SAI team.
My team is a mixture of extremely smart IT strategists, who shape the future of Dynatrace while dealing with a variety of technologies (e.g. Jenkins, Ansible, Kubernetes); and technology partner managers, who work side-by-side with technology partners not just to keep the partnerships growing, but to bring new, innovative solutions to end customers.
Immediately after joining the SAI team, at our first daily stand-up meeting I learned what my team is up to: they are purely focused on making our customers more successful when working with the solutions of their choice. How? By helping them transition to a continuous innovation and optimization model.
But before telling more, here’s a quick trivia for you.
What do you think, what all modern businesses have in common?
They all experience more pressure than ever to deliver value faster to their users, customers, or consumers.
And what do you think, what do the highest performing Dynatrace customers have in common?
They are deploying more frequently, with shorter lead times than their peers; they have fewer failures and recover faster; and they are more likely to exceed their productivity goals.
How they are doing this?
To achieve this, our largest customers have adopted platform-as-a-service as the basis for their digital transformation efforts. The two PaaS platforms we see most often are – surprise, surprise – Pivotal and Red Hat OpenShift.
These two solutions are so attractive because they shield development teams from the hassle of setting up, configuring, and managing resources, deployments, and network connectivity. Thus, organizations can improve the speed of developing applications, save money, and most importantly, focus on innovation.
But no matter how convenient they are, PaaS platforms won’t scale without a DevOps culture around them. That is, a culture of collaboration that brings together people and processes to facilitate faster feedback, quicker execution, and continuous deployment. At least this is what my research during the last month showed us.
Some trends we see among our customers
Curious as I am, I selected the 30 largest Dynatrace customers who run Pivotal Cloud Foundry or Red Hat OpenShift (or both) as their PaaS platforms, and I asked them to fill out a short questionnaire. In this questionnaire I asked which DevOps tools they are using in their software delivery pipeline.
As for a start, I wanted to find out which cloud solutions our customers prefer.
- Which cloud solution are you using?
We knew for a while that to keep up with the pace of innovation enterprises must leverage hybrid multi-cloud environments. But it was interesting to hear from first-hand how our customers are shifting apps and services to a variety of different cloud environments. Often, our largest customers use AWS and Azure together with VMware, or, with homegrown private clouds.
And now let’s go through the various steps in the software delivery process and the tools used at each step.
- Which tool do you use for Continuous Delivery?
Continuous Delivery refers to the ability to get changes of all types—new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly.
No big surprises here: Jenkins is the most widely adopted solution for continuous delivery among our customers (and on the market today), thanks to its extensibility and a vibrant, active community. Under Other tools, TeamCity and UrbanCode Deploy have been mentioned.
- Which tool do you use for version control?
Version control or source control services are key components in the software development workflow. Tools like GitHub or Atlassian Bitbucket are used to manage multiple versions of code and configuration files, allowing users to track changes to those files.
With some 57 million code repositories, GitHub, now part of Microsoft, is the most popular version control system out there. It’s also the most commonly used by our customers, closely followed by GitLab and Atlassian Bitbucket.
- Which tool do you use for software testing?
Software testing is done to provide stakeholders with information about the quality of the software product or service under test. There are many different types of testing that you can use to make sure that changes to your code are working as expected: unit tests, integration tests, functional-, acceptance-, performance- or even smoke tests.
In this category, the most preferred tool among our customers is definitely Selenium, but JMeter and LoadRunner are also common. Although not listed, respondents also mentioned SonarQube, SmartBear, Spek Framework, and Katalon as their testing tool of choice.
- Which tool do you use for runbook automation?
Runbook automation (RBA) is the ability to define, build, orchestrate, manage, and report on workflows that support system and network operational processes. A runbook workflow can potentially interact with all types of infrastructure elements, such as applications, databases, and hardware.
As expected, Ansible is the most trending automation tool among Dynatrace customers (and the most starred infrastructure management tool on GitHub). Ansible is followed by ServiceNow, but tools like Chef, Remedy, Terraform, and Puppet are also often mentioned. It was interesting to see environments where more than four automation tools are being used together.
- How do you collaborate with your teams?
Collaboration tools is a catchall term used for different types of software and online services that allow teams to work together on common projects, regardless of their physical location. It can be something as simple as email and as complex as sophisticated project management software.
Atlassian Jira is the clear winner in this category, closely followed by Slack. Surprisingly often people also mentioned tools which I decided to not even list among the options: MS Teams, Skype, or Google Chat.
OK, now you know. So what?
I didn’t create this survey just to get colorful bar charts (even though I admit, I love colorful bar charts). Rather, these results are meant to help my team identify new integration points through the DevOps pipeline, and build amazing integrations so that our customers can avoid repetitive tasks, deploy faster, and scale their efforts.
Two examples: Ansible Tower, Concourse
We work closely with Red Hat and Pivotal Cloud Foundry to provide full insights to joint customers running on OpenShift, respectively on Cloud Foundry. But to further grow these partnerships, we also perfected our Ansible Tower, respectively our Concourse support. Here’s how.
- Ansible Tower
By connecting Ansible Tower with Dynatrace, customers can trigger automated remediation actions and enable self-healing applications. Therefore, we provide tight integration to send customizable problem notifications directly to Ansible Tower. From Ansible Tower we can trigger playbooks that again call the Dynatrace API to fetch detailed information of the detected problems and to execute remediation playbooks. This symbiosis has shown that Dynatrace is the perfect solution for full stack monitoring, while Ansible Tower is powerful in executing remediation tasks as part of playbooks.
In context of Cloud Foundry, we built a Concourse CI pipeline that deploys a microservice by applying a blue-green deployment strategy. As part of this deployment strategy, a new microservice becomes load tested in a staging environment (Cloud Foundry space) and a verification of the test result with data from the Dynatrace API is conducted. If this verification passes, the new version – which is either green or blue – will be deployed to a production environment. With this approach, customers can fearlessly deploy a microservice to production using Dynatrace and the Cloud Foundry preferred CI tool, Concourse.
Wrapping it up
To outperform their peers, enterprises today want amazing abilities, such as more frequent deployments, shorter lead times, or increased reliability. One step to success is to implement PaaS platforms. Another, to shift apps and services to different cloud environments. But to really achieve their goal, enterprises need to make sure code moves across the pipeline with more automation and less human intervention.
At the Dynatrace SAI team, our vision is to let our customers choose the dev & ops tools best suited for their business needs and provide an innovative way to support their continuous delivery in a consistent and reliable way. This means, we identify integration points through the software delivery pipeline, where the data provided by Dynatrace through its API removes the need for manual steps and enables automation. This, in turn, enables faster and better software delivery to production.
Dynatrace with Ansible Tower and Concourse are just two examples. My team is working with full power on the next scenarios – so that our customers can spend their time innovating, not monitoring.
Disclaimer: The various tools mentioned in this blog post reflect the mere choice of the surveyed companies, and they are provided for general informational purposes only. It does not reflect any Dynatrace preferences. No information contained in this post should be construed as advice from Dynatrace or the individual author.