Wherever you turn in the tech business today, three keywords stand out: Mobile, Social and Cloud. Devices, Services, Applications and Games are going mobile. Networks, Games, Shopping and Business are going Social. Cloud is SaaS, PaaS and IaaS. Cloud is also the new software architecture that underlies all of this.
What is happening? What does all of this mean?
It seems to me that all of this is a necessity of the modern world. When you connect everything with everything, you end up with mobile and social cloud solutions.
Mankind loves to connect things. We connect people, devices, situations, locations, functions, and services. To do this, we must equip every end-point with a mobile device. Today, there are an estimated 6 billion mobile subscriptions in the world. It's a big number, but it is nothing compared to what it will be.
Visionaries are estimating that we may soon have up to one trillion connected devices. Roughly speaking, that's a 100X growth from today. How could that happen? Think of all the vehicles, buildings, gas meters, electricity meters, medical devices, agricultural readers, weather stations, traffic control points, and so on that we may want to equip with the ability to communicate. Mobile doesn't mean just all the devices in your hand. It also means devices controlled by devices, and devices embedded in nature and in anything man has produced.
As an example, the US Department of Agriculture (USDA) has built an application running on a Eucalyptus cloud that serves farmers all over the US. Out in their fields, the farmers with their smartphones can get instant location-specific information about erosion, irrigation, rainfall, and so on.
When you face information overload, you go social. When there are too many nodes sending signals to you, you must know which ones are relevant. When you as a human being are dealing with machines and other man-made artifacts, you tend to turn to other human beings to help make up your mind. All of this is the social revolution. Social networks are a major phenomenon. The ability for a human being to interact with hundreds or thousands of friends and acquaintances in one go is an enormous innovation. However, social means more than social networks.
"Social" has a more profound meaning. It is a pattern for connecting things. It tells you what is relevant and what is current. Social knows what's close and what's distant, what's relevant and what's irrelevant, what's hot and what isn't. We may think that social networks are something for human beings only, but that would be a limited thought. Social networks mean a model of ordering items into classes that inherit features from each other. This model applies to devices and pieces of software as much as it applies to human beings.
The social network gives you an answer to the question of what's relevant in a way that hasn't been available before. Relevancy is something the mechanical world needs too. I believe we will see computers forming social networks in which they share configuration parameters, workloads, and other useful information. Security may use this, too. Computers just a few hops away are friendly, and computers far away may be less relevant or less friendly. Social networking is a broad concept for creating patterns between numerous interconnected items that each have their own unique profile.
As an example, leading European social gaming provider Plinga runs its games partly on Amazon Web Services, partly on Eucalyptus. Some games attract big social groups, others smaller ones. The compute workload of those social games varies in an unpredictable way. When people share their gaming experiences with friends, usage may suddenly spike. The driving force is not just the specific characteristics of the game, but also the social impact of players sharing their experience with friends. A game that your friend plays is more relevant to you than other games.
If the world is full of connected mobile devices, and those devices self-organize into something we call social networks, what is it that serves them? Where do the devices get the aggregated compute power and the consistent data that they need for their successful operation?
That's where cloud comes in. Cloud turns the complicated topic of infrastructure and other software into a service. Cloud enhances simplicities and hides complexities.
Broadly speaking, cloud has two meanings. The user-centric meaning is "something that is provided to me as a service from a public connection". Telephony was an early cloud service. Google and Salesforce.com are modern ones. Cloud in an engineering-centric meaning stands for a new architecture for building and deploying services. It's an architecture that builds on standardized distributed compute units (virtual machines) that can be run on their own or in massive swarms to serve whatever application need there currently is. It's a scale-out architecture. This architecture is more diverse than any software architecture we've seen before. It relies on commonly accepted APIs, and connections between various modules using those APIs.
The mobile and social revolutions create unpredictable and demanding compute loads. Cloud computing infrastructure is the only feasible way to deal with those demands. That is how Mobile and Social and Cloud come together. They enable the modern connected society, where people and devices and applications form social networks that draw their raw power from compute clouds.
We live in a world where soon we will have another billion people actively accessing the internet through a variety of mobile devices. The world is more online than before. It is more mobile and more social. All that's online runs on the cloud.