5 Services that Suck the Juice Out of Cloud VPS Servers
While the needs of any data center will vary, and the software applications will be equally varied, there are core applications types found across the vast majority of cloud providers that tend to be extremely RAM intensive.
- Data Analytics
- Data Serving
- Web Serving
- Web Search
- Media Streaming
A major challenge in cloud computing has been finding ways to deal effectively with massive amounts of user-generated data, much of it unstructured. New models and approaches such as MapReduce have been developed to process and structure “big data” so that it can be stored and used more effectively. Software applications for data analytics implement these approaches. One widely-used example is Hadoop, an implementation of MapReduce for Apache.
Data serving is a broad term referring to the delivery of data to another application. An example would be the applications allowing NoSQL databases that store data for the Facebook inbox to serve that data via the social media platform when it’s called up by a user. Data serving applications can be particularly memory-intensive.
To achieve dynamic scalability and high fault-tolerance, web services are hosted on cloud servers with independent client requests distributed across a range of web servers. These either directly deliver static files or pass files on to a middleware script. The web servers are stateless; all state information is stored in relational or NoSQL databases.
A web search engine (such as those behind Google or MetaCrawler) must index vast quantities of data harvested by web crawlers from all over the Internet. This data runs into terabytes. In order to cope with the enormous number of latency-sensitive queries that are made at any one time, the data is split up into memory-residents shards. Individual index serving nodes (ISN) are assigned a specific shard and handle requests made to that shard. Because the data is memory-resident, this necessarily consumes a great deal of RAM.
Media streaming is a familiar web service; examples include YouTube, Netflix and Internet radio. By using large clusters of servers, streaming services can packetize media files of various sizes and types, transmitting them to clients as a stream of data that is sent at various rates depending on the quality required. While audio data isn’t especially resource intensive, video streaming applications must necessarily consume significant processing power, as well as considerable amounts of memory.
Physical constraints, including space and power consumption, currently threaten to limit the resources that any given data center can deploy. With cloud computing now influential as the dominant computing architecture, more work must be done to overcome these limitations. A crucial part of this is addressing the use of processor architecture that’s inherently inefficient for running the scale-out workloads that today’s data centers typically have to cope with. Until this can happen, problems resulting from over-consumption of processor and memory resources by key software applications are likely to become increasingly prevalent.