Now and The Future
Between IaaS, PaaS and SaaS — usually related to cloud computing — the software industry has been hit by a hurricane. Salesforce, GitHub, and more have upset the desktop client software world in a huge way. Heroku, EngineYard, AppHarbor, Stackato, Cloud Foundry with AppFog and others, have stepped up to replace even more of the traditional realms of software development and hosting. Then Amazon Web Services (AWS), Rackspace, Joyent, and more have plunged into the deep end with infrastructure the industry only dreamed of.
What’s coming up in the not so distant future? There are a few things I see as key to making in-roads into existing legacy enterprises, SMBs and startups.
1. IaaS doesn’t preclude PaaS and PaaS doesn’t preclude IaaS. As a matter of fact, they complement each other.
2. PaaS can revolutionize software development. But for maximum industry impact, all PaaS providers need to offer certain key features. Today, some PaaS providers have these capabilities, but others do not. These features are:
* Continuous integration and continuous deployment needs to be implemented internally for PaaS providers, but it also needs to be provided as a service for those working against PaaS-enabled environments.
* Analytics, tracking, debugging and monitoring systems need to come hand-in-hand with PaaS. Using PaaS only solves the infrastructure and some basic scalability problems for companies so far.
* Abstractions, APIs, and SDKs need tuned more appropriately for asynchronous communications, idempotent, pub/sub style architecture patterns to enable a more distributed focus to design. Currently too much is implemented just like it was in the 90s.
* PaaS still needs to be simpler to deploy and to work against. I think this will start to happen sooner than later (think months versus years.)
* For mid-size and smaller companies, pricing needs to be modeled around a “median” package of PaaS / IaaS offerings. Pricing for most cloud provisions and IaaS, PaaS, or otherwise is extremely volatile and confusing. This is a major barrier for many businesses.
* Better analytics, tracking, debugging, monitoring, and other measures (like New Relic.) Currently, many cloud offerings don’t really have extensive data tracking, trending, or otherwise. Integration will dramatically increase penetration and the selling points for a lot of companies out there (especially analytics companies.)
* Overall there are a number of companies that are positioned very well to take advantage of PaaS for the enterprise along with IaaS. There are other companies that are pushing specifically for PaaS without an IaaS play and this could end up being a problem for getting into the enterprise. PaaS-only solutions are perfect for startups and small businesses. Of course, even if a single company doesn’t have the entire toolset, mixing and matching various offerings can always play out well too.
Ok, But Really, Isn’t PaaS all just IaaS with Sugar on Top?
Well, yes. At this point, PaaS services basically run on top of AWS, which is primarily an IaaS offering. However, this is changing rapidly. Over the next 3 – 6 months there will be multiple PaaS offerings that will run on everything from dedicated hardware to the standard IaaS enabled PaaS. This will drastically increase the performance variations, scalability options, and other differences between each of the PaaS providers.
With the growing support around Cloud Foundry, PaaS offerings are already starting to increase dramatically. As the project grows and the code base is extended to support new frameworks, languages and infrastructure (such as Iron Foundry,) the providers will likely increase, possibly at an exponential rate. One of the other avenues that this will start to grow is in the enterprise. Cloud Foundry provides one of the first tangible ways to bring PaaS into the enterprise.
I’ve had a blast writing this series and hope everyone has enjoyed reading it. I’ll have more here, at my blog Composite Code, and other places in the near future. I’m a huge advocate of OSS, Cloud / Utility Computing & Distributed Systems, and more. It’s all coming, sooner than many may realize. Are you ready to revolutionize your development yet?