Not all of us pundits at InfoWorld agree with each other, but regular readers can put together a kind of consensus architecture. That consensus represents the state of our industry and the thought leadership that is working to determine its near-future direction. As we approach the end of the year and finish off the first dirty dozen of the 2000s, it's useful to consider what lies ahead if we actually do everything we talk about. For me, this extends to a New Year's resolution: I plan to practice what we preach in 2013 and move to an all-in cloud architecture. Here's what that will entail.
Bring your own device
Frankly, BYOD is the prescription I have the most trouble with -- and the one that my own company is the most conservative toward. There are various legal, marketing, and staff development reasons for this. Nonetheless, BYOD a great positive force for our industry.
[ Also on InfoWorld: 10 things you needn't worry about in 2013 | Learn how to work smarter, not harder with InfoWorld's roundup of all the tips and trends programmers need to know in the Developers' Survival Guide. Download the PDF today! | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]
First of all, it means you must pursue a standards-based architecture: no lip service, no "requires Internet Explorer," no "visit the Apple Store," but go full-on HTTP-based architecture. This changes everything from your security architecture to the way your organization picks applications.
Software as a service
When it's pure SaaS, there's nothing to install. There's nothing to maintain. Support, infrastructure, storage, scale, and reliability are all bundled as one package. And of course, SaaS is priced as a service, typically per month/per user.
This is the model that failed toward the end of the dot-com boom in the '90s and that many doubted would come back to life. Now, even Microsoft is in the game with Office 365. Our company uses Google Apps for nearly everything. I've worked with pretty big companies recently that have also gone the Google route for both their office productivity suite and email. And many, many companies are addicted to the Salesforce suite. Salesforce has been the poster child for SaaS, and its success has emboldened the market and made believers out of some of the more cautious and skeptical CIOs and CTOs.
On its face, SaaS can be expensive -- and you must be careful that you have an exit strategy in the event the vendor raises the price or vaporizes. But when you take into account total cost of ownership, SaaS is almost always worth it against what you'd pay to install and support a similar product internally.
Platform as a service
With conventional application development, you stand up a bunch of servers and dedicate a team to supporting the whole endeavor. Virtualization has eased that burden somewhat. IaaS (infrastructure as a service) makes provisioning and reconfiguring environments even easier, though I still view IaaS glorified virtual hosting (flame away, I come armed).
Now we have PaaS (platform as a service), which for app dev is where you go to fully reap the financial and technical reward of the public cloud. PaaS means just deploying your application and letting it rip. Scaling it, making it highly available (caveat: you have to write it correctly), the infrastructure, the database, and all the fixings are taken care of for you. For Java, as an example, this means you deploy a WAR file, give it your scalability budget, and walk away.
NoSQL and big data
Hoarders is more than a reality TV show -- it's the data strategy for most modern corporations. The RDBMS has been a great unifying force, the standard no one dared challenge. But it's becoming antiquated, and we used it for way too much. After years of struggling with database tuning and huge license fees to scale a technology that was never designed for massive scale, the industry is addressing the problem.