Welcome!

Microservices Expo Authors: Pat Romanski, Elizabeth White, Liz McMillan, Karthick Viswanathan, Andy Thurai

Related Topics: Machine Learning , IBM Cloud, @CloudExpo

Machine Learning : Blog Post

Cloud Computing and Virtual Images

A look at several different cloud computing solutions will reveal a technological enabler present in almost each one

Cloud Expo on Ulitzer

A look at several different cloud computing solutions will reveal a technological enabler present in almost each one. The enabler I'm talking about is the use of virtual images. I cannot think of many, if any, cloud computing solutions that provide software elements (i.e. more than just servers, storage, memory, etc.) that do not use virtual images in some form or fashion.

Of course, one of the reasons virtual images form the backbone of many cloud solutions is obvious. Virtual images provide the benefits of server virtualization. We can activate many virtual images on the same physical machine, thus allowing us to achieve multi-tenancy (multiple operating systems and software stacks installed on the same physical machine). Besides driving higher hardware utilization rates, it also provides us the capability to run heterogeneous software environments on the same piece of hardware. This both enables and encourages the creation of a shared pool of compute resources which is a key characteristic of cloud computing environments.

Server virtualization may be the first thing that comes to mind when we think about virtual images, but at least in the context of cloud computing, I do not believe this is the most important benefit. If we are looking at cloud computing as a means to quickly and consistently provision software environments, then I think virtual images provide us a capability and benefit more valuable than server virtualization. In this respect, virtual images provide us a medium through which we can templatize the configuration of our software environments.

Consider the case of a fairly basic application serving environment. In this environment, you are likely to install an operating system, application server, and probably some type of load balancing solution. Each of these typically requires a different piece of software, different installation procedures, and finally integration with the other components. Installing these into a typical environment, without the use of virtual images, means that you either have scripts that account for each different piece of software and finally integration of the different components, or it means that a person manually installs and integrates the pieces each time you need an environment. Either process can be time-consuming and costly to maintain over time.

Enter the use of virtual images. With a virtual image, you can install and integrate all three components ONE time, and then capture the resultant environment as a virtual image. At this point, when an application environment is needed, the virtual image can simply be activated on top of a hypervisor platform. The application environment is typically available in a much more timely fashion than if manually installed or integrated because the installation and configuration have already been captured in the virtual image.

From what I described above, you may have caught on to what would seem like a drawback of using virtual images to templatize software environments. Specifically, it may seem that you need a distinct virtual image for every unique configuration of your application environment. If this were the case, management of your virtual image library would soon become a nightmare and the resulting cost (in both resource and time) would likely outweigh the original benefits. However, thanks to a relatively new standards-based approach to virtual images, this is not necessarily a problem.

The standard I'm talking about is the Open Virtualization Format (OVF) standard which has been published by the Distributed Management Task Force (DMTF). According to the OVF standard, it "describes an open, secure, portable, efficient and extensible format for the packaging and distribution of software to be run in virtual machines." In particular to our discussion here, there is a part of the standard that describes the use of an ovf-env.xml file within the virtual image.

This file is essentially a key-value style XML file that describes desired aspects of the environment. Keys and values can be supplied during image activation, and configurations scripts that run during virtual image activation can read information from the file and react appropriately. Thus, instead of supplying N different virtual images for N different software environments, you can supply 1 virtual image and utilize the ovf-env.xml file in conjunction with configuration scripts within the image to produce N different environments. The use of this mechanism with virtual images delivers the capability to templatize software environments without sacrificing flexibility or encouraging unsustainable virtual image proliferation.

In WebSphere, we utilize the model outlined in the OVF standard when packaging our WebSphere Application Server Hypervisor Edition virtual images. This allows our WebSphere CloudBurst product to provision these images and create many different types of WebSphere Application Server environments from a single virtual image (read this article for more information). I expect the use of this standard and the mechanisms it provides will become pretty prevalent in the near future. Now if we could just get to the point where virtual disk formats are standardized, but that's an entirely different topic.

More Stories By Dustin Amrhein

Dustin Amrhein joined IBM as a member of the development team for WebSphere Application Server. While in that position, he worked on the development of Web services infrastructure and Web services programming models. In his current role, Dustin is a technical specialist for cloud, mobile, and data grid technology in IBM's WebSphere portfolio. He blogs at http://dustinamrhein.ulitzer.com. You can follow him on Twitter at http://twitter.com/damrhein.

Microservices Articles
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm. In their Day 3 Keynote at 20th Cloud Expo, Chris Brown, a Solutions Marketing Manager at Nutanix, and Mark Lav...
The Software Defined Data Center (SDDC), which enables organizations to seamlessly run in a hybrid cloud model (public + private cloud), is here to stay. IDC estimates that the software-defined networking market will be valued at $3.7 billion by 2016. Security is a key component and benefit of the SDDC, and offers an opportunity to build security 'from the ground up' and weave it into the environment from day one. In his session at 16th Cloud Expo, Reuven Harrison, CTO and Co-Founder of Tufin, ...
"NetApp's vision is how we help organizations manage data - delivering the right data in the right place, in the right time, to the people who need it, and doing it agnostic to what the platform is," explained Josh Atwell, Developer Advocate for NetApp, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Gone are the days when application development was the daunting task of the highly skilled developers backed with strong IT skills, low code application development has democratized app development and empowered a new generation of citizen developers. There was a time when app development was in the domain of people with complex coding and technical skills. We called these people by various names like programmers, coders, techies, and they usually worked in a world oblivious of the everyday pri...
Your homes and cars can be automated and self-serviced. Why can't your storage? From simply asking questions to analyze and troubleshoot your infrastructure, to provisioning storage with snapshots, recovery and replication, your wildest sci-fi dream has come true. In his session at @DevOpsSummit at 20th Cloud Expo, Dan Florea, Director of Product Management at Tintri, provided a ChatOps demo where you can talk to your storage and manage it from anywhere, through Slack and similar services with...
Kin Lane recently wrote a couple of blogs about why copyrighting an API is not common. I couldn’t agree more that copyrighting APIs is uncommon. First of all, the API definition is just an interface (It is the implementation detail … Continue reading →
The Jevons Paradox suggests that when technological advances increase efficiency of a resource, it results in an overall increase in consumption. Writing on the increased use of coal as a result of technological improvements, 19th-century economist William Stanley Jevons found that these improvements led to the development of new ways to utilize coal. In his session at 19th Cloud Expo, Mark Thiele, Chief Strategy Officer for Apcera, compared the Jevons Paradox to modern-day enterprise IT, examin...
DevOps tends to focus on the relationship between Dev and Ops, putting an emphasis on the ops and application infrastructure. But that’s changing with microservices architectures. In her session at DevOps Summit, Lori MacVittie, Evangelist for F5 Networks, will focus on how microservices are changing the underlying architectures needed to scale, secure and deliver applications based on highly distributed (micro) services and why that means an expansion into “the network” for DevOps.
Many organizations are now looking to DevOps maturity models to gauge their DevOps adoption and compare their maturity to their peers. However, as enterprise organizations rush to adopt DevOps, moving past experimentation to embrace it at scale, they are in danger of falling into the trap that they have fallen into time and time again. Unfortunately, we've seen this movie before, and we know how it ends: badly.
Kubernetes is a new and revolutionary open-sourced system for managing containers across multiple hosts in a cluster. Ansible is a simple IT automation tool for just about any requirement for reproducible environments. In his session at @DevOpsSummit at 18th Cloud Expo, Patrick Galbraith, a principal engineer at HPE, discussed how to build a fully functional Kubernetes cluster on a number of virtual machines or bare-metal hosts. Also included will be a brief demonstration of running a Galera MyS...