Is it possible that the cloud services market will be over $100B in 2012 and infrastructure as a service (IaaS) is set to grow 45.4%?
It is according to Gartner. Other evidence includes the growing number of Java cloud platforms available from small start-ups and larger companies. In any event, the words “cloud platform” are now embedded in the vocabulary of software and system architects around the world.
Al Sargent, vFabric Product Market lead at VMware, spends a lot of time with Java application architects, and from his first-hand experience with them, he sees five trends that push application architects to change how apps are designed, built, and run. Al believes the proof is in the interest and growth of this Java cloud platform marketplace. The consumption of apps has changed, the toolsets to produce apps have changed, the volume of data has changed, and the economics have changed. All the change is driving the growth.
1. The Shift to Systems of Engagement
In a nutshell, being the official information repository is great, but being an app that people love to use regularly is where companies want to invest.
Software has it’s origins as a back-office, administrative capability, and we know the web changed this. In today’s world, apps drive go-to-market plans and growth strategies instead of being administrative afterthoughts.
Traditionally, a system of record was the authoritative source of data – HR, CRM, Financials, etc. A system of engagement is a system that engages people, particularly customers or people outside your company walls, and is a competitive advantage. These types of apps are widely used, compelling, very productive, and game changing when it comes to driving business metrics.
2. Pervasive Frameworks
Frameworks are everywhere. Why? Because frameworks allow for reuse and help developers save time and money, reduce mistakes, increase productivity, increase extensibility, and more. With cloud platforms, frameworks now apply to the entire architecture because application frameworks are the first of a cascade of decisions about how an application is built.
For example, if we’re a Java shop, we don’t just choose Java and Spring. We also choose containers to run Spring code. We choose databases and messaging that Spring supports out of the box. We choose monitoring and management tools that support Spring and our databases, messaging and application containers. We choose operating systems that support all the components running on top of them. And we choose virtualization solutions that are tied into our monitoring and management solutions.
Frameworks are the high order bit in any discussion around application architecture
3. Expanding App Usage Types
We can probably sum up this trend in one sentence, perhaps two. The first iPhone was released just 5 years ago, yet now drives more revenue than all of Microsoft. According to Comscore, Android has more marketshare.
Companies have to be on mobile, tablet, and social platforms in order to reach today’s customers. As a result, we believe that a large number of new Systems of Engagements development work are projects to build apps that run on mobile devices and leverage social networks. Technologies such as Spring Mobile, Spring for Android, Spring Data REST, JSON, MQTT, and Oauth are critical for this work.
4. Data Explosion
We’ve all seen the research about data growth being a challenge. EMC sponsored a study by IDC that outlined how the amount of digital information grew 62% in 2008 – almost a Zettabyte. For 2010, it was over a Zettabyte. To explain the sheer size of a Zettabyte, it is the amount of information in 75 billion fully loaded 16GB Apple iPads. This many iPads would fill Wembley Stadium 41 times.
There are dozens, if not hundreds, of use cases driving up data storage. Just go ask your network storage team what it looks like at your company. The implication of this growth is that Java applications must work with data volumes that go beyond traditional RDBMS storage scale.
5. Cloud Economics
Beyond the general economics of virtualization, the cloud does three things. One, cloud platforms lower transactions costs. For example, compare the time to provision infrastructure in an automated (i.e. cloud-centric) way versus manual. Two, consider the ability to automate burst or on-demand computing power and the inherent efficiency and cost savings. Lastly, think about financing as an operational cost like a metered utility instead of a capital expenditure.