How to Make Your Apps Ready for the Real World
August 27, 2013

Dave Berg
Shunra Software

The goal of every software developer and tester is to produce applications that meet user expectations and achieve business objectives. Standing in their way is the need to understand and predict the production environment and how real-world end users will experience the application.

To combat this challenge, Perfecto Mobile's Eran Kinsbruner, in his recent blog on APMdigest, Are Your Mobile Apps Ready for the Real World? states: "To prepare their mobile apps for the real world, enterprises need to conduct performance testing under real network conditions."

I couldn't agree more.

How do you do this? What concrete steps can you take throughout the development and production lifecycles to test under real network conditions and ensure positive business results?

Virtualized Users, Services and Networks

The most accurate way to test applications under real-world conditions is to discover them, capture them, and virtualize them in your development and test environments.

No development or test environment is truly complete without at least three virtualized components: users, services and networks. These three components build on each other to give an accurate portrayal of how your app will perform in the hands of end users.

Virtualized users, or load, represent synthetic traffic to your application. This load provides insight into how your application scales and reacts to various numbers of end users.

Your application likely is comprised of multiple services or dependencies, some within your own control and some from third parties like Google or Akamai. These services are required for application performance and function but often are unavailable in a test environment.

Leveraging virtualized services, or scripted replies based on real-world service responses within the test environment, allows the application to interact with its dependencies as it would once deployed.

End users and services communicate over networks. Virtualizing these network conditions give you the most accurate picture of how your application will perform once deployed. Network constraints like latency, bandwidth and packet loss can be accurately emulated, making test results more indicative of real-world application behavior.

Without running load or services tests through virtualized networks, you are assuming pristine network conditions, something of a dangerous fantasy when it comes to the real world, especially mobile.

Readying Apps from Development to Deployment

Once you have virtualization tools in place, in what phase of the application lifecycle do you use them?

Start using them as early as possible. You can put network virtualization to work for a single user test from a developer workstation, enabling a reliable view of application behavior even before putting the software on a live device. Virtualization early in the application life cycle will help you detect if you missed anything significant before that error gets lost in the midst of other developers'code.

When you build out test environments, incorporating this comprehensive virtualization strategy gives you the most relevant and meaningful results.

This way, you can test over multiple network variations to see how the app performs when faced with lowered bandwidth or increased packet loss, latency or jitter. Unlike in-the-wild testing, with virtualization you can control these variables. You can repeat tests under different, comparable network configurations.

Once you push the application into production, virtualization remains critical for app maintenance, patches or changing infrastructure. You can now virtualize the real-world conditions your APM tools capture and incorporate them into your test lab. This creates a feedback loop that supports any DevOps initiative.

Even Better than the Real Thing

Virtualization saves time and budget, keeps failing apps from reaching deployment and is more accurate and repeatable than in-the-wild testing. Application issues can be revealed early in their lifecycle and fixed before they affect end users. Once deployed, APM can provide more accurate data for more precise virtualized models. It is the best way to make your apps ready for the real world.

Dave Berg is VP of Product Strategy for Shunra Software.

Dave is the Vice President of Product Strategy at Shunra. He is responsible for the management of all Shunra’s products and technical partner relationships, and he leads our product management team. With more than fifteen years of experience in performance engineering, development, automation, vendor management, and professional services, Dave has extensive experience with distributed systems, real-world scenario testing, and complex root cause analysis. He is regarded as an expert in protocol design, mobile performance, and software performance engineering. Dave holds a bachelors degree in Computer Science and Discrete Mathematics from the University of Michigan, as well as holds certifications in product management and Agile product management.

The Latest

January 22, 2019

In 2019, competitive disruption will drive remaining laggards to a DevOps boiling point. As the industry moves to the plateau of productivity with DevOps automation and standard tooling, laggard executives will reach a management crisis point that will force actions ...

January 17, 2019

To better align business and IT objectives, enterprise organizations should focus on the core "problems" that individual business units face today in driving out real consumer value. Until the roadblocks and inhibitors — and, ultimately, the resultant technical debt — are removed from the equation, large enterprise organizations will continue struggling to succeed ...

January 16, 2019

Technical debt is what results when legacy platforms or highly integrated and dependent systems and processes inhibit large enterprise organizations from meeting the needs of internal business stakeholders. In many cases, the core objectives that drive real, monetizable business value are not aligned to the esoteric IT goals of "automation" and "Agile development." This creates a fundamental disconnect between business and IT ...

January 14, 2019

Budget season is an important time of the year for businesses because it gives senior IT and security leaders time to reflect on what went right this year and what initiatives need to be given priority in the new year. Recent research from Threat Stack shows security budgets are expected to increase by 19 percent over the next two years, but business leaders are still facing challenges determining where to allocate this budget in the face of rapidly evolving infrastructure ...

January 10, 2019

As organizations of all sizes are embracing hybrid and multi-cloud infrastructures, they are experiencing the many benefits of a more agile, distributed and high-speed environment where new applications and services can be built and delivered in days and weeks, rather than months and years. But as the adoption of these next generation architectures continues to grow, so do the complexities of securing the cloud workloads running on them ...

January 09, 2019

DEVOPSdigest invited DevOps experts for their predictions on how DevOps and related technologies will evolve and impact business in 2019. Part 9, the final installment, covers microservices, containers and APIs ...

January 08, 2019

DEVOPSdigest invited DevOps experts for their predictions on how DevOps and related technologies will evolve and impact business in 2019. Part 8, covers microservices and containers ...

January 07, 2019

DEVOPSdigest invited DevOps experts for their predictions on how DevOps and related technologies will evolve and impact business in 2019. Part 7, covers the Cloud ...

December 20, 2018

DEVOPSdigest invited DevOps experts for their predictions on how DevOps and related technologies will evolve and impact business in 2019. Part 6, covers DevOps Analytics, including AI and Machine Learning ...

December 19, 2018

DEVOPSdigest invited DevOps experts for their predictions on how DevOps and related technologies will evolve and impact business in 2019. Part 5 is all about testing ...

Share this