Showing posts with label private_cloud. Show all posts
Showing posts with label private_cloud. Show all posts

Tuesday, July 3, 2012

Open 24x7x365: The IBM open PaaS and private cloud platform

This is a re-post from the on on the Expert integrated systems blog.  Please go there for discussions and feedback.


In this post, I briefly highlight the features of the IBM PureSystems offering, and particularly focus on why I claim that it is an “open” platform.  I give a high-level overview of its plug-in mechanism and point to several example extensions that are available now for PureSystems customers.
What is IBM PureSystems?
IBM PureSystems is a turnkey private cloud solution that for the first time integrates a flexible, expandable hardware platform with layers of software to manage the system itself along with the workloads that it runs.  Essentially, the IBM PureSystems offering combines an infrastructure-as-a-service (IaaS) substrate with a platform-as-a-service (PaaS) layer that also provides means to codify workload components into patterns.  With these patterns, users can effectively deploy workloads and applications in a predictable and repeatable fashion.
Additionally, IBM PureSystems embodies all of the seven characteristics, which I mentioned in a previous post (“Stormy forecast”), to make this private cloud a modern incarnation of previous private clouds.  Features, such as extensibility, built-in support, autonomic self-healing, and customization, are all part of every IBM PureSystems.
However, one additional feature of IBM PureSystems places it above and beyond typical private IaaS and PaaS solutions — it’s based on an open architecture and design. Specifically it includes:
  • Open extensible hardware platform
  • Open plug-in mechanism to extend its software
  • Open marketplace for patterns and software you can run on IBM PureSystems
Open ecosystem and APIs
First, it’s important to distinguish between open source and open ecosystem and open APIs.  As an analogy, in the mobile world there are two dominant platforms today: the Android and iOS mobile platforms.  Arguably, they are both open, however, while Android is fully open (source code, APIs, and ecosystem-open), the iOS platform is open in its ecosystem and APIs.  Anyone can join both platforms (for a small fee in the iOS case) and different rules apply to participants of each of the platforms.
Is it valid to say that having an open ecosystem and open APIs without open source is providing an open platform?  Well, it’s a matter of semantics and business model.  Because by open, we usually mean any participants (within some rules) can contribute and can create applications for the platform; using this definition, both models (Android and iOS) are open.
Providing an open platform that is based on open ecosystem and open APIs is not an iOS novel innovation.  Microsoft Windows has done exactly this for years and before that the IBM OS 360 had pioneered this model.  Although the participants don’t have the source code of the entire platform as in other models, in this participatory open platform, the APIs are fully published and the system provides key points of extensions and contributions.
IBM’s PaaS platform falls into the category of an open ecosystem and open APIs.  It does so by having open hardware architecture and an open plug-in mechanism to create extensions.
Open hardware
First, IBM PureSystems is based on standard industry server architecture.  Although the hardware architecture is sophisticated to include fault-tolerance attributes, nothing in there is proprietary.  The various units that make up an IBM PureSystems are designed with commercial off-the-shelf (COTS) parts that can be replaced.  For instance, each unit contains an Intel Sandy Bridge CPU that anyone can purchase from Intel.
However, beyond the hardware openness, what really sets the IBM PureSystems apart from other private cloud solutions is in its open plug-in mechanism, which includes open APIs and results in an open ecosystem.
Open plug-in mechanism
IBM PureSystem workloads are defined using patterns.  Think of a pattern as the definition of a template using cloud components and linking these components.  The components on a template represent the resources (typically software) and capture the necessary details to set up and configure that component.
For instance, a component representing the IBM WebSphere Application Server is part of the J2EE pattern and can be modified when users specify an EAR file for the application they want to add in their workload.  Patterns are built visually by using the IBM Pure Application System Designer and the library of components available on the left side of the interface.
A pattern can be saved and parametrized by leaving certain aspects unspecified, for example the EAR file name and location.  A completed pattern, which is one that is valid and has all of its missing parameters filled, can be deployed on an IBM Pure Application System instance.  Because patterns can be instantiated many times and be shared and customized, this process allows the predictable and repeatable means that enterprises need to manage their workloads.
The components and links library are defined in plug-ins that can be added dynamically to the system.  The plug-in architecture is open and allows a wide range of cloud components to be defined and connected together.  Each plug-in defines the metadata of the component or link including the attributes (required and optional) and also the help data, icons, and so on.  Additionally, each plug-in follows a strict structure that allows various parts (binaries) to be defined, and custom scripts to install and configure the processes that constitute the plug-in.
One key aspect of cloud components and links defined as plug-ins is that they do not dictate the exact cloud resources that they need; instead, they suggest this information by giving hints and limits to the IBM Pure Application System deployment process.  Using this information, the system can make appropriate placements and resource provisioning decisions resulting in an optimal configuration for your workload.

Ready for PureSystems: Plug-ins available now
IBM has been working with hundreds of independent software vendors (ISVs) to create various cloud components.  By the time you read this post, many of these plug-ins will either be included as part of every IBM Pure Application System or be available in the marketplace.
We also welcome your contribution to this open marketplace by downloading the Plug-in Development Kit and looking at the examples and tutorials available online.  In a future post, I will describe in simple steps how a common popular open source framework can be added to the IBM Pure Application System platform in the few hours that is required to create a plug-in for it.

Wednesday, April 11, 2012

Stormy forecast: Private clouds on the horizon are growing in importance

Wrote this for the IBM Thoughts on Cloud blog and reposting here in its entirety. Please use the ToC site for discussions.

Background

Cloud computing is primarily manifest by the availability of compute capacity (primarily servers, storage, and networks) as virtualize resources.

Using a self-serving portal, available on the web, one can provision a complete unit of computation and set it up with custom or predefined software. When it is no longer needed, the resources are discarded, and you are simply charged for the time you used the resources.

The ease of use and agility that one experiences with public clouds can be replicated in a private manner for enterprises. This is especially useful to enterprises that are worried about security or that want more control over where their data and software are setup and reside. So, private clouds can be seen as a microcosm of public clouds…

Although this view is true, it is also not complete. Private clouds have other, deeper purposes, to enterprises.

Case studies

Enterprises, no matter the industry, are about running a collection of business processes (procedures involving customers, employees, partners, and IT) to achieve some goal. At the end of the day, these collections of business processes need to execute (within the enterprise’s values) the enterprise’s mission, which results (hopefully) in maximizing profits for stakeholders.

Executing these diverse business processes requires various IT resources. Private clouds allow enterprises to be flexible and agile in how they support the execution of these business processes. However, because business processes are not simply about executing software on servers, a private cloud needs to provide more than virtualize resources… Consider the following two simplified use cases of applying private clouds to enterprise business processes.

Case study 1: Application development lifecycle

As an enterprise matures, so does its business processes. However, some of these processes need to also evolve to address new market shifts and new realities. One such example is how web and now mobile computing have affected how any enterprise communicates with its customers. The result is that new custom web or mobile development is a common undertaking inside modern businesses.

Enterprises that decide to keep such development in house, need to have application development lifecycle processes in place so that such development can happen in an orderly fashion while respecting the various legal and business procedures. Further, when released, an optimizing enterprise would also want to know the ROI of such efforts and how satisfied their customers are with the new offerings.

All of this requires setting up teams to develop, test, and push applications in production. After that, each application needs to be maintained and connected with existing customer satisfaction software and legal and business audit processes. Executing these steps in a repeatable manner is key. As an enterprise becomes larger, it loses some of its agility—that comes with the territory. However, large enterprises do not need to lose their innovative spirit.

The way to retain their leaderships, large enterprises need to have infrastructures that provides knobs for flexible resource planning and allocation, repeatable deployments of infrastructure, and software, consolidation of common services, centralized management, and rock solid fault-tolerant hardware substrate. A private cloud solution must provide all of these aspects to be useful to a large enterprise.

Case study 2: Data processing and analytics

With the explosion of data caused by the popularity of social media, enterprises are finding that an efficient and practical way to stay in touch with their customers is to have a social presence. The result of these interactions through Twitter, Facebook, and Google+ is an avalanche of unstructured data in the form of comments, tweets, likes, and so on.

Analyzing such social media data has huge potential for an enterprise to better understand how their customers are reacting to new products or service offerings introduction, and also advertising campaigns. Getting concrete feedback by a posting from a customer on your enterprise’s Facebook page is direct interaction that, not long ago, was reserved for special marketing surveys or studies. Instead of going to customers, they are coming to the enterprises.

The new challenge for an enterprise is how to collect this “real-time” data and make sense of it. This analysis can be outsourced, but large enterprises understand the potential goldmine hiding behind this social data and want to analyze it themselves.

Effective analysis of unstructured social media data requires analytics engines and algorithms that are resource hogs. Lots of storage must be allocated for the stream of data and the analysis must be performed constantly. The gems of insights are discovered by monitoring the results frequently and comparing them with background data and trends. All of these processes have only one thing in common, need for fault-tolerant high-grade storage and are compute intensive.

The utility of a private cloud is best measured if it is flexible enough to run such analytics workloads. Whether it is by quickly setting up large Hadoop clusters to support an analysis or by supporting the ETL (extract, transform, and load) of large data warehouses that support dashboards from customized OLAP queries.

Future of private clouds: IaaS and PaaS

The evolution of private clouds: Secure IaaS + extensible PaaS


So the point here is simply this: private clouds need to provide more than a microcosm of public clouds. In addition to the obvious potential in increased security, a private cloud must also offer an enterprise the following benefits:


  1. Facilities to support repeatable execution of business processes

  2. Centralized management of all resources (hardware and software)

  3. Repeatable, manageable deployment of middleware with an open architecture that allows Open Source Software (OSS) components to be added to the mix

  4. Facilities to manage to provenance and governance of software and middleware parts

  5. Fault-tolerant, swappable, modular hardware design that can grow with the enterprise needs

  6. Flexibility in defining how the hardware is divided to be able to support diverse workloads, for example, transactional, web, and analytics

  7. Integrated support and service that can guarantee that your cloud is up and running 24×7 and that can help you minimize any downtime



IBM’s leadership and upcoming offerings

IBM’s leadership in private cloud with appliances such as WebSphere Cloudburst showed that our middleware was capable to support private clouds in an appliance fashion. What comes next is the complete soup to nuts, integrated solution that provides the seven characteristics that I listed and that determine a real private cloud.

Watch out, there is stormy weather ahead? Private clouds are more than you expect. Check out http://www.ibm.com/puresystems.

dr. max