developerWorks® ibm.com/developerWorks/IBMs open cloud architecture Page 2 of 12• Reduce barriers of entry into cloud computing, such as development skills andfreedom of choice• Increase the long-term viability of today’s cloud investments• Prevent unnecessary architectural complexity and fragmentationIBMs open cloud architectureAt IBM Pulse, in March 2013, IBM announced its open cloud architecture and ourplans to base all of our cloud offerings on OpenStack, starting with IBM Smart CloudOrchestrator. This announcement was the culmination of over a years worth ofinvestment in product integration with OpenStack, as well as significant contributionsto the OpenStack community to help improve the ability of OpenStack to meetenterprise and cloud service provider requirements. Looking at adoption results, wesee that our efforts, as well as those of the vibrant OpenStack community as a whole,have been successful.Evolution of OpenStackTo get a sense of just how far OpenStack has come, and how it is beingleveraged in the enterprise, visit the OpenStack Slideshare and YouTubechannels.Today, with over 189 organizations and over 9,100 individuals participating,OpenStack is the largest active open source, cloud project community in the world.This massive global collaboration of developers and cloud computing technologists isworking to produce a ubiquitous Infrastructure as a Service (IaaS) open source cloudcomputing platform for public and private clouds.IBM is proud to be a highly active member of the OpenStack community and proud ofthe many community achievements reflected in the latest release, Grizzly. OpenStackis well poised to deliver massive portability and interoperability for IaaS applications.Moving up the stackWe haven’t been exclusively focused on OpenStack, however. Our open cloudarchitecture extends all the way up the stack, from IaaS, through PaaS and SaaS.In addition to all of our efforts relating to OpenStack, IBM has been hard at workexploring a wide variety of technologies relating to our open cloud architecture,particularly as it extends into the PaaS and SaaS layers, weaving together systemsof engagement, systems of record, and the Internet of things, enabling what we callsystems of interaction. We collectively call these explorations, Project ET. I’ll havemore to say on Project ET, in a bit. But first, I’d like to share some more insight intoour open cloud architecture.Today, there is significant pressure on lines of business to create new business valuebased on mobile, social, big data, and analytics capabilities. These new applicationsare fueled by the emergence of new, highly iterative development models that useservice composition, open architectures, open source components, and polyglotprogramming models to rapidly deliver solutions. Two additional trends are key
ibm.com/developerWorks/ developerWorks®IBMs open cloud architecture Page 3 of 12enablers for this new style of applications, notably DevOps and Cloud-based PaaSofferings, such as Heroku, Cloud Foundry, and OpenShift. DevOps enables clients todeliver business outcomes in an agile, iterative, and incremental fashion: applicationsare delivered in days or weeks, rather than the typical months or years. Finally, toachieve such development efficiencies, PaaS technologies are evolving that enabledevelopers to quickly assemble substantial middleware components hosted in theCloud extremely quickly (in seconds).Multi-tenant, elastic (“cloud native”) software services are the fuel of this style ofdevelopment. We have observed the evolution and maturation of the API economyover the past decade, exemplified by over 10,000 services available to the cloud-based developer from sites such as programmableweb. Given IBM’s depth andbreadth of software-based services, specifically in the area of mobile, social, andanalytics, it is imperative that we provide implementations accessible to developers atthe click of a button.While there are certainly lots of proprietary offerings that attempt to cover variousaspects of this new style of development and operations, we have observed that theopen offerings deliver real value to the customer, and are more likely to be embracedby developers.What do we mean by "open"?So, what do we mean by "open"? Open can take on a number of meanings.One meaning of "open" is open source software (OSS), such as OpenStack, orone of the many projects hosted by the Linux, Apache, or Eclipse foundations, orsimply hosted on Github. Of course, not all OSS is created equal. It is importantthat the OSS component have an appropriately open license, such as Apache,Eclipse, or MIT, etc. and also that it have an open governance model that welcomescontributions and innovation from anyone, anywhere, without prejudice. Further, itmeans that the OSS component can be easily extended, and easily consumed andintegrated, by means of relatively stable, well-documented APIs, or that it offers apluggable architecture that allows for a wide variety of plugins or drivers.Another meaning of "open" is the implementation of open interoperability standards,such as those emerging from the W3C, IETF, OASIS, or OMG, to name a few.Of course, another form of standard is the de facto standard, which is typicallyestablished by virtue of the market embracing a particular solution, regardless ofwhether its proprietary or open. Ideally, to be open, we should avoid proprietary defacto standards under the control of (and which tend to benefit) a single party.Increasingly, a symbiotic relationship is emerging between open source and openstandards. For instance, proponents of emerging open standards often turn to opensource to implement the standards as a means of providing a reference, as well asproviding a vehicle to drive adoption. As another example, communities developing
developerWorks® ibm.com/developerWorks/IBMs open cloud architecture Page 4 of 12an open source project formally document their project’s APIs and/or protocols whenthey feel that things are stable.IBMs open cloud architectureSo, back to IBM’s open cloud architecture. What do we mean by this phrase? At ahigh level, it means that our cloud architecture is based solidly on a composition ofopen source components and where possible, implements open standard formats,APIs, and protocols that deliver both interoperability and value to the customer.This open architecture has a number of benefits, both to IBM, as well as to ourcustomers. For IBM, we benefit from the unparalleled innovation we find in opensource communities such as OpenStack. Additionally, we benefit from the vibrantecosystem of ISV partners that grow from these open source and open standardsinitiatives. Our customers benefit from the ability to leverage the open source andopen standards APIs and to extend them—either through third-party capability(leveraging the vibrant open source ecosystems we have chosen), or throughinnovation and extension of their own.By using the same open cloud architecture and technologies across our cloudportfolio, addressing private, public, and hybrid cloud solutions, we also benefit frominteroperability and portability, not only of workloads but of capability, between andacross these various offerings, which benefits our clients.In fact, customers who choose open standards-based cloud computing are on theright course to take advantage of new opportunities. Specifically, they will be ableto harness their interconnected data with high-value business analytics acrosstraditional and mobile devices.IBMs commitment to open cloud architectureTo help make this happen, IBM is applying its experience in supporting and validatingopen standards. From Linux, Eclipse, and Apache to cloud computing, IBM continuesto work closely with the open source community. To make an open cloud architecturea reality, IBM worked to:• Create a 400-member Cloud Standards Customer Council that grew from about50 members at launch• Drive related cloud standards, such as Open Service for Lifecycle Collaboration,Linked Data in the W3C, and TOSCA in OASIS, to enhance cloud applicationportability• Dedicate more than 500 developers on open cloud projects• Partner closely with the OpenStack Foundation, along with its over 9,100members from 87 countries and 189 corporate sponsorsLets get technicalFigure 1 highlights much of open source and open standards-based technologiesthat comprise our open cloud architecture, today. Of course, because it is open, it will
ibm.com/developerWorks/ developerWorks®IBMs open cloud architecture Page 5 of 12evolve and be extended over time, by IBM, by the open communities that drive theopen source and open standards initiatives, by customers, and by our partners.Figure 1. Open tools and technologies in the emerging open cloud architectureOpenStackAs we announced at IBM Pulse, the foundation of our open cloud architectureis based on OpenStack, which supports a wide variety of virtualization platforms(KVM, XEN, VMware, Hyper-V, PowerVM, ZVM, etc.) as well as bare metal, andwhich itself runs on most Linux distributions. We chose OpenStack not only forits architecture (which we found compelling), but even more importantly for itsdevelopment community, open governance, and vibrant and growing ecosystem ofproviders, plugins, and add-ons.Deployment automationFor deployment automation, our offerings will typically support Chef cookbooks andrecipes. However, we also support Puppet and Juju so that clients can leverage theautomation tools they prefer, or already use. This is another key characteristic of ouropen cloud architecture: it enables customer choice. Chef, Puppet, and Juju are eachopen source initiatives of their own, and each has a growing ecosystem of recipes,manifests, and charms, which are often, themselves, open source. The openness ofthese tools, and the vibrancy of their respective ecosystems, benefit both IBM andour clients.Portable workload definition and orchestrationFor portable workload template definition, our open cloud architecture incorporatesthe OASIS TOSCA standard. TOSCA is a collaborative open standard being
ibm.com/developerWorks/ developerWorks®IBMs open cloud architecture Page 7 of 12knowledge with people in real time. Implementation with both existing and future ITarchitecture helps to simplify informational and line of business visibility across users,and supports an organization’s ability to share, comment, and collaborate.OpenSocial is a standards-based component model for cloud-based social apps.This model provides a consistent method to integrate existing applications, withthe ability to add third-party applications in a single view. This simplifies the userexperience and enables users to work in the manner that best suits them at thatmoment. Information can be integrated across email, content systems, and richmedia—all within a given context and across platforms. The project deliverscross-industry alignment through the Apache Shindig project, an open referenceimplementation of OpenSocial, and through support of leading standards likeActivityStreams and OAuth2.0.Activity Streams and OpenSocial both have the potential to help to liberate data fromtraditional information silos, through real-time information sharing.Internet of thingsAddressing the Internet of things, the MQ Telemetry Transport is a lightweightpublish/subscribe protocol with predictable bi-directional message delivery. Itsideal for applications where a small code footprint is required, or when networkbandwidth is limited. An Internet of things—sensors, network-connected appliancesand devices, smart buildings, and networked-automobiles—could all benefit from theefficiency of this protocol.The MQTT community is currently working to standardize the specification underOASIS. Additionally, there are multiple open source implementations of the MQTTprotocol, including the Eclipse Paho project and the Mosquitto project.Business applications and the SaaS layerAt the SaaS layer, our open cloud architecture addresses security and federatedidentity (TLS/SSL, OpenID, OASIS SAML, and the IETF’s OAuth2.0), payments(Google Wallet and Apple’s Passport), and user interface (W3C’s HTML5, the IETF’sJSON, Apache Cordova, and Eclipse).HTML5 is the common language for building rich Internet applications acrossplatforms, while still supporting native mobile functions without plugins. It ismanaged by the W3C and represents the evolution of HTML4 / XHTML. HTML5 alsoincorporates standards such as SVG and CSS.HTML5 greatly simplifies application development as it brings native support formultimedia across a wide range of desktop and mobile platforms. Additionally,it brings native support for advanced technologies such as offline storage andapplications, device access, geolocation, and semantic data.
ibm.com/developerWorks/ developerWorks®IBMs open cloud architecture Page 9 of 12environment offers many of the same services that are available through ProjectIcap’s sandbox, running on an OpenStack cloud. Presently, we are running onOpenStack Folsom, but we intend to migrate to the recent release of OpenStackGrizzly, very soon.In this environment, we are hosting one of the emerging open source PaaS platformswhere you can develop cloud-centric applications, leveraging a set of hosted servicesincluding: PostgreSQL, MySQL, Redis, blob storage, elastic caching (ECaaS),sample location services, an SMS service, simple social service, RabbitMQ, andMongoDB. We intend to deliver additional services online over time, from IBM, opensource sources and from IBM partners, in a continuous delivery mode of operations.We will be especially interested in your feedback as to what services you would liketo see.The Project ET team will be working closely with customers exploring these twopreview offerings to gather feedback, to understand what software services areimportant to them, as well as how to manage the various aspects of developing,delivering, managing, and hosting these new systems of interaction.ConclusionWe’re always interested in your feedback, so feel free let us know what you think ofour open cloud architecture.
developerWorks® ibm.com/developerWorks/IBMs open cloud architecture Page 10 of 12Resources• Learn more about the Cloud Standards Customer Council.• Learn more about the OpenStack Foundation.• Learn more about Open Services for Lifecycle Collaboration (OSLC).• Learn more about MQ Telemetry Transport.• Learn more about HTML5.• Learn more about Apache Cordova.• Learn more about Activity Streams.• Learn more about OpenSocial.• Learn more about OAuth.