PaaS, PaaS Everywhere
Platform as a Service (PaaS) is a hot space right now. There seems to be a new PaaS provider popping up every minute. Gartner projects the PaaS space will reach $1.8 billion in 2015, and their projections are conservative compared with several other analysts’.
Visit the variety of PaaS offerings available, and you’ll find they tout top capabilities like:
- “Get up and running in minutes, and deploy instantly with git. Focus 100% on your code, and never think about servers, instances, or VMs again”
- “Deploy and scale applications in seconds, without locking yourself into a single cloud“
- “Zero to sixty: Scale your app automatically without worrying about managing machines.”
OpenShift, however has a different headline positioning:
- “OpenShift is Red Hat’s free, auto-scaling Platform as a Service (PaaS) for applications. As an application platform in the cloud, OpenShift manages the stack so you can focus on your code.”
Do you see the difference? The other PaaS offerings focus on the automation capabilities they provide. OpenShift focuses instead on offering an “application platform in the cloud.” And, OpenShift “manages the stack” for you.
What these other PaaS offerings seem to have forgotten is the 2nd Tenet of PaaS: The P in PaaS stands for Platform, not Product.
Platform vs Product
A PaaS can provide all the auto-scaling, source syncing, continuous-building developers love to use. But, at the end of the day, developers still need to code to a platform. And, if a PaaS’ platform is not robust or doesn’t provide developers the capabilities they need, that PaaS is useless. If a PaaS focuses just on improving developer experience, it is creating all the great things that people like to advertise and check off in a PaaS product or offering. And these capabilities are really good at attracting developers to come and try out these different PaaS’s.
However, if these PaaS’s don’t also provide a leading, robust, enterprise-class platform, then all they are doing is automating somebody else’s frameworks and APIs. They are ignoring the heart of what makes a PaaS PaaS (the Platform) and focused on making a product out of the Service. As the PaaS market matures, that’s not going to cut it as developers move beyond hosting tens of thousands of wordpress or mediawiki instances and writing “hello world” apps in hot new scripting languages.
Red Hat’s OpenShift Platform
This is Red Hat’s OpenShift platform. It is built on Red Hat’s open source offerings and ecosystem and provides many leading-edge capabilities for developers. Let’s take a deeper look:
Secure Multi-tenant OS
The foundation of the OpenShift platform is Red Hat Enterprise Linux (RHEL). This should be no surprise, given that the Linux of cloud is Linux. OpenShift uses RHEL to run built-in languages from Python to PHP, provide libraries, and execute programs. However, OpenShift also takes specific advantage of Red Hat Enterprise Linux to provide industry-leading secure, portable, and performant multi-tenancy at the operating system level and not just at the virtualization level.
With traditional single-tier multi-tenancy, cloud providers run multiple VMs on one physical server and then one application per VM. OpenShift, on the other hand, runs two-tier multi-tenancy: multiple VMs per physical server and multiple applications per VM. This provides significant benefits like faster application scaling, higher efficiency, and lower costs.
The OpenShift platform uses technologies in RHEL like control groups and SELinux to achieve its two-tier multi-tenancy. These capabilities provide strong guarantees that the performance or load of one application won’t affect that of another application in the same RHEL instance. They provide security guarantees that a vulnerability in one application won’t put another application at risk. And, they also ensure that potential weaknesses in the cloud’s underlying hypervisor or other infrastructure won’t affect the security of applications running on the OpenShift platform.
This ability to provide portable multi-tenancy in RHEL yields even more advantages in a hybrid cloud environment. Different clouds run different hypervisors and operate their environments differently. Applications running on a PaaS in a hybrid cloud need to be insulated from all these differences while still offering the same guarantees of QoS and security regardless of where they run. By putting capabilities like application environments and secure multi-tenancy in the operating system rather than delegating it to the underlying cloud or virtualization layer, RHEL provides a strong and secure foundation for a hybrid-cloud PaaS.
Not only does OpenShift run many scripting languages like Ruby, Python, PHP, and more based on RHEL, it also uses Red Hat’s JBoss Enterprise Middleware to provide enterprise-class capabilities like the ability to run full JEE6 applications. This is critical for enterprises because it means that they can bring existing applications to OpenShift, and they can bring applications written at OpenShift back on-premise or to other clouds, without modifying any code.
Other PaaS providers may offer support for the Java language, or for just a few Java frameworks like Spring. They often have proprietary Java APIs that can only run in one cloud. But, OpenShift provides access to the entire Java EE ecosystem because it offers the same middleware that leading enterprises use in their own datacenters. This is especially important for enterprises, given that Java is still routinely one of the top couple programming languages and continuing to grow rapidly in usage.
Red Hat isn’t just offering JBoss at OpenShift, though. It is also bringing new capabilities to JBoss to further its strength in the cloud. For example, Red Hat added new cloud capabilities to JBoss EAP 6 (of which a preview version is running at OpenShift) like a new data grid and the ability to run full JEE within a 100MB footprint. This latter feature is especially powerful when combined with the OpenShift platform’s ability to run multiple applications—including JBoss applications—in one RHEL instance due to the OpenShift platform’s built-in multi-tenancy.
Because Red Hat has its own application platforms in RHEL and JBoss, it can not only bring these platforms into OpenShift but also drive new cloud functionality and capabilities in them as it has with JBoss EAP 6.
Because the OpenShift platform builds on the strength of RHEL and JBoss, it includes access to the industry-leading ecosystem of these foundations. This includes thousands of ISV partners, including many important new players in cloud and mobility like 10Gen and Appcelerator.
And, the OpenShift platform includes an innovative cartridge mechanism which makes it easy for ISVs and users alike to extend the capabilities of the OpenShift platform.
No Lock-In Languages and Frameworks
The OpenShift platform includes a wealth of no-lock-in languages and frameworks, all powered by RHEL and JBoss. These are the same languages and frameworks that enterprises can run in their own datacenters or other clouds, from Node.js to Spring to Ruby to Python to JEE and more.
This is important for three reasons:
- Existing enterprise applications can run at OpenShift. You can migrate applications to OpenShift without having to re-code them or throw them away.
- New applications written at OpenShift can run on-premise in your own datacenters or in another cloud. Your applications aren’t locked into OpenShift because you are free to take them and run them elsewhere
- The same skills, ecosystem, and processes enterprise developers already have can work at OpenShift. You don’t have to start over when moving to OpenShift
OpenShift doesn’t provide a subset of frameworks or proprietary APIs to limit your ability to develop and lock you in. Rather, it provides a large and enterprise-ready set of no-lock-in, robust, leading-edge languages and frameworks.
The OpenShift platform includes access to a broad and diverse set of developer tools to enable the best productivity and experience. These tools include everything from IDEs like JBoss Developer Studio or Cloud9 or AppCelerator Titanium Studio to build tools like integrated Jenkins to support for Maven and Git.
Enabling developer productivity is perhaps equally important to providing a great cloud application platform, and OpenShift does both in spades.
OpenShift Platform Benefits
The OpenShift platform is at the heart of the OpenShift PaaS. It offers many benefits such as:
- No Lock-In
- Application Portability
- Open Standard Technologies
- Rapid Development and Deployment
- Industry Leading Security and Multi-Tenancy
- Enterprise-class building blocks
A PaaS without a strong enterprise-class platform is just automating somebody else’s frameworks and APIs, with no ability to innovate and bring developers fundamentally new cloud application capabilities. OpenShift’s platform builds on the strength of Red Hat’s Enterprise Linux operating system, JBoss middleware, ecosystem, and tools to provide the ultimate cloud application platform.