One of the primary challenges to developing applications in the cloud is testing performance. Most developers use cloud-based PaaS platforms to develop their applications, but in large part, these platforms are missing tools that can assist developers in improving the quality of the deployed apps.
While PaaS platforms are meant to provide flexibility and speed, up to this point they’ve been missing the third leg of the stool – quality. Application Performance Management (APM) tools provide that third leg. With APM tools integrated into those platforms, developers can ensure their app can handle heavy user loads prior to deployment – minimizing the risk of negative performance for the end user. This is incredibly important for developers using these platforms. In the ‘throwaway’ culture of applications, creativity is only part of the puzzle. Your application must be rock-solid if you expect it to be successful. Without using an APM solution, the app is only as good as the person coding it.
Even further – In order for these tools to be useful, they must be integrated with the PaaS platforms developers are already using, integrate with Continuous Integration (CI) services and allow developers to continuously monitor their applications. Several of these platforms, such as Heroku and Acquia, are already integrating these types of solutions. In the rapidly changing application development world, no APM service will be worth the time if they don’t integrate with these types of PaaS providers. In short, most developers would rather take their chances with the code they’ve produced than interrupt their workflow to test it.
The Situation Today
Current “APM” solutions are really not that at all. They are essentially complex enterprise testing solutions with a browser-based interface. Developers will simply not adopt such solutions in any large numbers. They are expensive, they are difficult to use and they are inflexible. For example, slapping a web interface on an Oracle CRM application does not make it the same as Salesforce.com. In order for any APM solution to be worth the effort for developers they must be built from the ground up for that purpose. The solution needs to be built for the cloud and with the tools those developers are using today in mind.
The speed of iteration for app development, especially with the shift to cloud-based PaaS platforms, has essentially mandated the need for an APM solution that ensures apps are quickly and efficiently tested and continuously monitored. To drill down a bit, what this means is testing both mobile and cloud applications in the PaaS environment in which they are developed. This saves developers time and effort while helping to ensure they are delivering the best possible product to end-users. Much like “Moore’s Law”, in all likelihood, this process will continue to be faster, rather than slow down. Given that expected scenario, any testing tool must be integrated into the process. If it is not integrated, it will eventually be cast aside.
In short: application developers need an APM solution that is easy, affordable and part of the development-operations (DevOps) process.
Adapting common development tools to work as part of popular PaaS platforms eliminates the need for the expensive and tedious test creation process – replacing it with nearly instant testing without the need for complex scripts. In the frenetic DevOps world that most developers live in, this is the only solution that they can reasonably abide by. In essence, if testing is not a part of their workflow, there is very little chance that they will even bother to include it at all.
The previous version of testing solutions available to developers wer quite painful and laborious: requiring creating scripts and a testing engineer. With testing built into PaaS platforms there will be time, money and effort saved for the already busy app developers. Those developers can make multiple changes daily without having to worry about out-of-date scripts.
The Mobility Wild Card (A Mini Use Case)
As more applications take advantage of location (from Twitter to Foursquare and Google maps) user experience will depend heavily on scale. Running tests simulating thousands of concurrent users spanning multiple continents will give app developers a true test of how location-based applications will work “in the wild.” This ability to test their product at scale is another key factor in implementation for developers in their PaaS platform environment.
The rise of mobile applications has played the leading role in fundamentally altering the development process – creating a new development cycle that is faster than any before it. However, with this speed, comes the chance for a hiccup in the development process. Solutions that integrate themselves into the DevOps process will be the “winners”. Developers will embrace them and they will be part and parcel, a function of the process already in use. In short, they will become a “no-brainer” solution. Building a web interface on an existing enterprise testing solution and deploying on AWS is not the answer. Even if users adopt it, it will eventually lead to continuing frustration.
Ajit Sancheti co-founded Mu Dynamics and currently runs its business development strategy and activities. Before Mu Dynamics, Ajit was a Senior Manager in Juniper’s Corporate Development Group; he was an instrumental member of the team that developed the industry’s first Intrusion Detection and Prevention system for OneSecure before it was acquired by NetScreen. Prior to OneSecure, Ajit spent more than seven years at Western Digital, holding various senior-level engineering and management positions. Ajit has authored several papers, focusing on mechanical engineering, and holds U.S. patents on acoustics and vibration technologies. He has a Masters in engineering from the University of Massachusetts, Amherst, and an MBA from INSEAD, France.