"We’ve been able to speed up application response times by as much as 92% with the help of Dynatrace insights."
Sultan Ennab, Director of Engineering, Kronos Incorporated
Company: Kronos Incorporated
Industry: Workforce Management
Kronos is a U.S.-based multi-national workforce management software and services company headquartered in Chelmsford, Massachusetts. With 3,200 employees, Kronos is a leader in delivering workforce management solutions in the cloud. The company offers industry-specific time and attendance, scheduling, absence management, human resources (HR), payroll, hiring, and labor analytics applications. Tens of thousands of organizations in more than 100 countries—including more than half of the Fortune 1000®—use Kronos to control labor costs, minimize compliance risk, and improve workforce productivity.
Kronos’ customers use its solutions to perform some of their most business-critical tasks. To meet this objective, Kronos has to be efficient, fast-paced, and create performance-driven software development culture. Thus Kronos has to provide the processes and tools necessary to achieve this culture shift. To do this, the performance engineering team within Kronos initiated a comprehensive application performance management (APM) program with Dynatrace to enable developers to do performance-driven coding-early performance engineering.
"There’s tremendous value in doing the performance engineering in the early development of an application’s lifecycle, particularly at the architectural level," explains Sultan Ennab, Director of Engineering at Kronos.
"Top performance is extremely important for our clients, especially as they continue to use more mobile and touch-based applications," he says. "Touch applications have changed the way end-users measure performance. Response times must be as close to the human touch sense as possible—what is more interesting is that touch apps users expect the app response to be in sync with their vision and touch senses speed. If you touch your smart phone and it doesn't go to the image you expect to see right away, you wonder what’s wrong. If this persists, it’s not acceptable for our clients—which, of course, isn’t acceptable for us, either."
"We looked at our application lifecycle process to see how we could provide better, higher performing solutions with greater value at a reasonable cost," he says. "In the development cycle, we start with architecture, then design, followed by coding, testing and, finally, production. Often, application performance didn’t get much attention until the end of the cycle, which is very late in the game."
The Kronos team needed to implement performance management at the early stages of the development lifecycle for the highest-quality applications and greatest value. "But we had very few performance engineers in relation to developers," explains Ennab. "Our ratio was 22 developers for every one performance engineer. While this is typical of most organizations, it makes it nearly impossible to cover all the development work, especially in the early stages of development. We needed the developers to be able to help as well. To do that, we needed the right technology."
We’ve been able to speed up application response times by as much as 92%.
"We picked Dynatrace to make this happen," says Ennab. "We trained developers and architects to be the primary users of Dynatraceand do performance profiling early in the development lifecycle. Dynatrace made it easy for me to transition some of the work that I do to the developers. As we worked together on this initiative, we set three goals: first, to be effective; next, to improve performance; and, finally to provide more time for all of our teams to innovate."
He continues: "Dynatrace implementation was really simple and very quick. We were able to install the server within less than half an hour. Then we installed the agents. Altogether it amounted to adding in two Java arguments on the server. When we rebooted our application server, we just injected those two items and we were good to go."
"Dynatrace made it easy for me to transition some of the work that I do to the developers."
Using Dynatrace, the Kronos team exceeded all of their goals. "It made us more effective almost immediately by encouraging collaboration between developers and performance engineers," Ennab says.
"The solution provides us with PurePath®—objective, rational, intuitive and easy-to-use results. There's never a question about what happened or why. There are no more questions passed back and forth between development and performance groups. We can all agree and work together with a single, common language. Basically, everybody's responsible for performance; it's not just the performance team."
"Working collaboratively with Dynatrace we remediate our performance issues much faster than before," he continues. "Developers find and fix problems themselves without having a performance engineer to be there to tell them if anything’s wrong with their code—often in a matter of seconds. That's the beauty of it. Of course, we’ve reduced our cost to investigate, because we cut out three, four, and, in some cases, six months of the performance development cycle."
Dynatrace helps the Kronos team get back to innovation. "Our test cycle is greatly reduced overall, so that we can all focus on delivering the best product possible," Ennab explains. "It gives us true DevOps enablement, because now our performance cycle is more like a final assurance check—not a laborious task that eats up engineer’s time."
Kronos measures the value of Dynatrace both in weeks of error-correction saved and seconds eliminated from application response times. "We used to spend a lot of time just trying to discover the defects. You get the full release. Next, you go into the lab and analyze it line by line, sprint by sprint, release to release. It used to take us more than 12 weeks just to discover 11 defects," he says. "With Dynatrace, on the same release, with the same number of defects, we shrunk that down to about a week and a half—including remediation."
"How did we do it? Well, now there's no more waiting to discover problems, send it back, and return. The response time between our two teams has improved substantially. Some of the issues were so simple, but we couldn’t see it before. Now, it's a no-brainer, we find and solve issues immediately."
Developers find and fix problems themselves without having a performance engineer to be there to tell them if anything’s wrong with their code—often in a matter of seconds. The new process also means a much faster end-user experience. "The response times within applications, depending on the individual process, used to range between 2 and multiple seconds," Ennab says. "Now, virtually all of our transactions respond within the two-second range. We’ve been able to speed up application response times by as much as 92%. You can see that's a huge improvement. Dynatrace gives us more time to actually include every single transaction in our certification cycle. That gives us a high level of confidence in everything we do."
"One of the best features of Dynatrace is that it works for the entire application life-cycle. It supports our efforts from development all the way to production to complete the full feedback loop."
The Kronos team uses Dynatrace to monitor performance from the IP level to the firewall. Ennab says: "The beauty of it is that it aggregates the data across multiple servers, too. If you have an infrastructure that has hundreds of servers, you could actually deploy your agents through all those servers and all the results will come to a common place. Then you’ll have a common chart that shows you exactly where a problem may be hiding—across an entire complex enterprise."
"Dynatrace is really different from any other technologies I've used in the past," he says. "For some of them you need to be both a super Java developer and a super performance engineer to really understand what the tool tells you. Dynatrace doesn’t require any of that. It just highlights the hot issues for you. You click on it and the details are right there in front of you immediately. You don't have to be a Java guy. You don't have to be a super performance engineer. You just go to it."
"New tools in the marketplace don't go to the depth, accuracy or breadth of the data you get with Dynatrace, either," Ennab continues. "Most others also come with a costly set up. We selected Dynatrace for many important reasons. One of the most significant is that it was easy to install, easy to configure, and has an overhead on our servers of less than 1%. Dynatrace also enables issue resolution a lot faster than any of its competition. We plan on using it far into the future to guarantee that we provide our clients the best performing applications available."