Let’s start by answering a simple question: which social media services do you use?
- YouTube
- Facebook
- Twitter
- LinkedIn
- All of the above
Even if you didn’t select “all of the above,” I’m pretty sure that most of you use at least two of these social media sites on a regular basis. As social media services have evolved over the past several years, many of us now use them not only to interact with friends and acquaintances but also to consume content and information.
Let’s talk scalability. One might classify web applications according to their level of exposure, which is often measured by their user base. At the bottom, we have the legacy enterprise applications that are used only by the organization’s employees. Next, we have more modern applications that are accessed by employees as well as partners and/or suppliers. We then have web-based applications that are accessible via the Internet. These applications represent a major leap in the number of users because they are virtually open to anyone visiting the website. Lastly, we have the ever-popular social media applications. Whether it’s Facebook, Twitter, YouTube or LinkedIn, social media means more online activity and more data being uploaded and shared.
So what’s special about social media web applications? The main difference between these and the types of applications mentioned above lies in their scalability requirements. Social media web applications are visited on a frequent basis – daily, and in many cases, hourly. What’s more? These applications are accessed by an incredibly high number of users. For instance, worldwide users of Facebook totaled 1.2 billion in November 2012. (You can read more interesting statistics on social networking here). Simply put, these applications are designed and built differently. Their server infrastructure is distributed and formed as a grid to provide a high level of elasticity because they cannot afford any points of failure. Since they serve so many users and so many transactions, they use advanced algorithms to process requests (such as Google’s MapReduce). Data resides in a special data store (i.e. BigTable) compared to the standard RDBMS (relational data base management system). Indeed there are so many differences between social media and other applications that the topic merits its own dedicated post!
Having the privilege to know and work with people who are responsible for some of the world’s top social media services, it’s interesting to ask what challenges social media presents for application delivery. For starters, it means supporting large numbers of requests (both clean and SSL-encrypted ones), which requires a truly, high-performing ADC – with the ability to process 1K and 2K SLL keys. But more than that, it means employing a high-capacity ADC solution that can scale as more and more users join the service. In addition, because videos and images are being used in social media applications, the ADC must be able to optimize and load balance the underlying protocols that enable the delivery of such rich media. Due to the fact that social media services are accessed from many locations around the globe, the ADC must also be able to efficiently load balance the service on a global scale. As social media sites are characterized by frequent changes, (updated look & feel, additions of new modules, integration with 3rd party applications, etc.) the ADC must be able to accommodate these application changes quickly and with minimal risk.
Finally, ensuring quality of experience (QoE) is paramount. If your application won’t perform well today, you’ll be tomorrow’s biggest joke. Application acceleration techniques – such as caching, compression and Web Performance Optimization (WPO) – must be leveraged in order to ensure the fastest application response time. And of course, we can’t talk about QoE without mentioning visibility. With so much traffic and so many users on social media, the services must be continuously monitored to detect bottlenecks, illegitimate users and attackers, business trends and more. As a result, it’s recommended that the ADC comes equipped with performance monitoring capabilities as well.