November 21, 2016 | Written by: Claudio Tag
Categorized: Community | Compute Services | Open Source | Trending
Share this post:
The term “pattern” is used and abused across the IT industry. So what exactly is a pattern, and what does it do? And how does it help simplify and accelerate application environment deployments?
When IBM first approached this topic, they used the term “Patterns of Expertise” to describe pre-defined architectures for applications that could be easily deployed.
Consider the complexities of setting up a typical application environment. You need operating systems and additional components such as a database server, an application server, and a web server. Typically, you also need to cater for security, application monitoring, and lifecycle management. Each component must be integrated, configured and tuned for the specific implementation of the application.
A pattern is a single deployable artifact which encapsulates all these aspects, resulting in repeatable deployments with full lifecycle management.
IBM Patterns of Expertise were the first enterprise implementation of this concept and turned into a very mature deployment option for IBM software. In fact, Patterns of Expertise have become the primary deployment choice for complex IBM middleware such as Business Process Manager and Operational Decision Manager.
The PureApplication family (Bluemix Local System, PureApplication System, Service and Software) has historically been the orchestrator and target for the deployment of these types of patterns.
However, as the industry matures, many open technologies have emerged to take on various aspects of a pattern. Here’s a view of the better known ones:
In the software-defined Infrastructure as a Service, today OpenStack has no rivals in the open source word. And everyone has heard about hypervisors like VMware and KVM. Also, when it comes to Operating System deployments, the use open technologies is nothing new: RedHat is already highly adopted in the market (and not surprisingly, used in the PureApp patterns). Other Linux distributions like Ubuntu and OpenSuse are also extremely popular.
The big news in delivering and installing software applications is container technology. The dominant container technology is undoubtedly Docker, but it’s not the only one. The Open Container Initiative was created to promote interoperability of containers. I’ve talked about Docker and how it is supported in PureApp in this blog post.
Moving up the stack, automation was traditionally accomplished with shell scripts. However, nowadays automation has moved simple scripts to what’s called desired state management systems, and several competing technologies are popular in this area: SaltStack, Chef, Puppet, Ansible, etc.
Putting it all together used to be a manual exercise, but today orchestration templates are commonly used to provide better governance and the cross-system coordination that is so hard to attain simply with scripts.
However, the reality is that no open technology can, on its own, deliver the full set of capabilities that customers expect from an IBM PureApplication pattern. At least not until now.
IBM is pioneering OpenStack Heat Patterns: a new way of implementing patterns based on open technologies, delivering an end-to-end pattern experience that none of those other technologies can deliver in isolation.
OpenStack is used for the pattern runtime, Heat templates for the pattern definition, SaltStack for the automation, git for source code management, on Ubuntu and KVM. All of this wrapped in a set of additional features for configuration and lifecycle management, a graphical pattern editor, and a framework for post-deployment operations: features coming from the extensive experience of pattern design with PureApplication.
Not bad, right?
Does that mean that we can say goodbye to the patterns of expertise?
Absolutely not! For IBM software, the built-in expertise and proven maturity of IBM Patterns of Expertise is, in my opinion, still superior to every other alternative.
But now you will be able to choose to best of both worlds. And the proof is that the IBM OpenStack Heat Patterns will be deployed to Bluemix and Bluemix Local System.
OpenStack Heat Patterns, their design and their applications are discussed in IBM’s latest Redbook publication: Automated Application Delivery with OpenStack Heat Patterns.