Welcome!

Agile Computing Authors: Liz McMillan, Pat Romanski, Elizabeth White, Dana Gardner, Andy Thurai

Related Topics: @CloudExpo, Java IoT, Agile Computing, @DevOpsSummit

@CloudExpo: Article

Testing Streaming Media | @CloudExpo #APM #IoT #DevOps #BigData

It’s not just for Netflix anymore

Here's the thing: as sure as we'll have another record-setting year for NFL streaming, you can also be sure that apps will fail and streaming services will go down. Whether you are dabbling in streaming or diving in whole-hog, you need to know what to do to give your users the most reliable experience possible. Here are a few tips.

Over the past few weeks, we've seen a ton of 'Back To The Future' themed posts all over social media, as we passed October 21, 2015 - the actual day that Marty and Doc visited in the plot of the second movie of the series. It was a fun time to reflect on what the movie got right about life in "the future," and more comically, what it got wrong.

We don't have hoverboards or hydrating pizzas, but one thing the movie got more of less right was video. Marty's 2015 house is littered with TV screens, controlled by voice, where he can access content on demand or instantly video chat with a manipulative coworker. These things and more happen every day now in the palm of your hand.

What 'Back To The Future 2' never got into (because let's face it, it would've been pretty boring) was how all that video got produced and delivered. We're well beyond just Netflix and YouTube - more and more companies are in the video streaming business these days.

Video Streaming Is Experiencing Explosive Growth
recent AppAnnie study ranked the top video streaming apps, and in this list, you can see the breadth and diversity of industries who are operating streaming video sites. The growth in usage, and even more importantly, revenue, is respectable. In the U.S., revenue is growing 3.2x year-over-year, but in countries like China, it's as high as 9.6x.

Nearly every communications company and cable operator has its own streaming site. So do sports networks that simulcast games around the world, and TV channels that stream clips, episodes, and bonus content.

Here's the thing: as sure as we'll have another record-setting year for NFL streaming, you can also be sure that apps will fail and streaming services will go down.

Tips for Top Video Streaming Performance
Whether you are dabbling in streaming or diving in whole-hog, you need to know what to do to give your users the most reliable experience possible. Here are a few tips.

1) Build It Right: Adaptive Bitrate Streaming
Remember when you had to wait for videos to buffer before being able to watch them? You'd want to watch something, but you'd have to wait 10 minutes while enough of it loaded so it could play continuously through the end.

Fortunately, buffering has largely been eliminated, thanks to both improvements in network capacity and technologies like adaptive bitrate streaming. With adaptive bitrate streaming, the available bandwidth and capacity of the client dictates how much data is sent to you by the server. So a server will start you off with low-quality video if your bandwidth is limited, and then it will fill in the gaps as it can. If you have a small screen, you don't receive as much data. If you hit a bump in the network, it can keep streaming with lower quality so your experience remains uninterrupted. People don't care much if a few seconds of video are fuzzy, but they freak out when the screen freezes 2 yards away from a touchdown.

Adaptive bitrate streaming isn't the only technology worth looking at for better streaming. Read this post and check out a few others.

2) Know Your Peaks
One of the most important things to know about your streaming system is where performance peaks out. You need to know how many users you can support. You can do this by developing a rich load testing process that helps you understand these dynamics.

Run load tests with different levels of hardware and different usage patterns to get a good picture of how much activity you can support. You'll want to play around with different viewing dynamics - for example, run scenarios where people are browsing and viewing lots of different videos, and run other scenarios where a large proportion of the userbase is watching the same thing.

As you understand your thresholds, record those and share them with your Operations team for monitoring purposes. In fact, a strong partnership with Operations is critical, and it's not a bad idea to run some amount of load testing in production because that will give you the most accurate picture of what you can truly support.

3) Monitor Performance
You have to be watching your viewers. Keep your Application Performance Monitoring (APM) solution operating at all times so you know if there are going to be issues. Combined with other basic network & system monitoring software, an APM solution gives you a solid understanding of how your app is holding up at all times.

Synthetic User Monitoring is the best place to start if you don't currently have an APM system in place. Synthetic users simulate the behavior of your users, operating alongside them in the live production environment. You continuously run synthetic user tests to see what kinds of problems your users may be experiencing, before those problems turn into full-scale crashes.

4) Stay on Top of Key Metrics
For traditionally-built streaming applications that use progressive downloading, there are some metrics that are important to track: bitrate, buffer fill, lag length, play length, and lag ratio. These metrics give you a few slices of information that ultimately tell you one thing: does a client have enough bandwidth to consume and process the video stream. You can read more about these metrics here.

If you are using adaptive bitrate streaming, there will be other metrics you'll want to pay attention to, specifically average bitrate (how much data are they getting on average) and startup time (how quickly does the server react to changing information from the client). With adaptive bitrate streaming, your users shouldn't be experiencing any interruptions or delays, however, you'll still want to know if their experience is subpar. These metrics will help you do that.

5) Remember the Ads
Finally, remember that your app doesn't operate in a vacuum. Videos are often streamed with ads on the same page, or other interactive elements from third-party sites. These can impact the user's experience.

No matter how good your infrastructure is, you could be beholden to someone else's. So test the full context of how your users experience your video. Understand how third-party components impact what users do and what users see. The more realistic your testing, the more confident you will be in your app's performance, especially when the pressure is on.

One thing - be cautious about involving live ads in your load test though. If you are heavily testing someone else's ad server, you'll impact the performance of everyone's ads, and that could come back to bite you. You may want to look towards service virtualization for this kind of testing.

Conclusion
In many ways, performance testing for video is no different that performance testing for anything else. However, some of the technologies involved - and certainly the user's expectations for quality - do give video performance testing its own twist.

If you'd like to dive deeper into the technical aspects of performance testing for video streaming, check out our recent post Stream On: How to Address and Avoid Streaming Media Performance Problems.

More Stories By Tim Hinds

Tim Hinds is the Product Marketing Manager for NeoLoad at Neotys. He has a background in Agile software development, Scrum, Kanban, Continuous Integration, Continuous Delivery, and Continuous Testing practices.

Previously, Tim was Product Marketing Manager at AccuRev, a company acquired by Micro Focus, where he worked with software configuration management, issue tracking, Agile project management, continuous integration, workflow automation, and distributed version control systems.

IoT & Smart Cities Stories
The hierarchical architecture that distributes "compute" within the network specially at the edge can enable new services by harnessing emerging technologies. But Edge-Compute comes at increased cost that needs to be managed and potentially augmented by creative architecture solutions as there will always a catching-up with the capacity demands. Processing power in smartphones has enhanced YoY and there is increasingly spare compute capacity that can be potentially pooled. Uber has successfully ...
Chris Matthieu is the President & CEO of Computes, inc. He brings 30 years of experience in development and launches of disruptive technologies to create new market opportunities as well as enhance enterprise product portfolios with emerging technologies. His most recent venture was Octoblu, a cross-protocol Internet of Things (IoT) mesh network platform, acquired by Citrix. Prior to co-founding Octoblu, Chris was founder of Nodester, an open-source Node.JS PaaS which was acquired by AppFog and ...
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-c...
Predicting the future has never been more challenging - not because of the lack of data but because of the flood of ungoverned and risk laden information. Microsoft states that 2.5 exabytes of data are created every day. Expectations and reliance on data are being pushed to the limits, as demands around hybrid options continue to grow.
JETRO showcased Japan Digital Transformation Pavilion at SYS-CON's 21st International Cloud Expo® at the Santa Clara Convention Center in Santa Clara, CA. The Japan External Trade Organization (JETRO) is a non-profit organization that provides business support services to companies expanding to Japan. With the support of JETRO's dedicated staff, clients can incorporate their business; receive visa, immigration, and HR support; find dedicated office space; identify local government subsidies; get...
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading...
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...