Cloud Solutions Made Simple

The recent release of Red Hat Cloud Suite marked a new milestone for Red Hat and our customers.  First, it is the first in what will become a family of suites. Second, it enables enterprise IT to transform their application development and operations toward an agile, innovation center based on hybrid cloud and devops technologies.  Curating a broad set of open source technologies, Red Hat Cloud Suite offers a turnkey Cloud solution with a container-based app-development platform, private-cloud infrastructure, and a common management framework.  Specifically, Red Hat Cloud Suite includes

Continue reading “Cloud Solutions Made Simple”

Conversations from the Field: Building a Bridge to the Cloud

Cloud conversations are evolving at a seemingly ever increasing pace. In my experience, nearly all “…what is the cloud?” type conversations have long since past. In fact, for some organizations, private and public clouds are now central to daily business operations. For the both the early and late majority, however, their (usually large) install base of traditional applications makes the cloud far from reality. These organizations tend to have significant investments in proprietary virtualization, management, and operations technologies, and it’s not a given that these applications are cloud ready (today). While many proprietary technology vendors offer re-packaged versions of existing products to create a thin veil of “cloudiness” – this style of cloud enablement usually comes at a heavy price

Continue reading “Conversations from the Field: Building a Bridge to the Cloud”

Container Tidbits: Does The Pets vs. Cattle Analogy Still Apply?

Background

So, most of us have heard the pets vs. cattle analogy. The saying goes, that in a cloud environment, you don’t waste time fixing individual virtual machines or containers – instead – you just delete them and re-provision. But, does this apply to the entire cloud environment? The analogy is that you don’t take cattle to the vet, you just send them to slaughter. But, is this really true? Cattle are worth a lot of money. I have never really liked the pets vs. cattle analogy.  I think it lacks sensitivity and may not be appropriate when talking to a CIO.  The real problem, however, is that the analogy fails to fully relate the changes in IT that are happening.

I propose that Pets vs. cattle is not really about how or when we kill animals – instead it’s about the simplicity of consuming animals, and the complexity of maintaining the environment in which they live.

Pets

At the end of the day – in small quantities, pets are actually quite easy to take care of – when they are young, you take them to the vet for their shots. As they grow, you provide them with food, water, and a clean litter box (or take them outside once in awhile) and they are pretty much “good to go”.

Like pets, you give traditional virtual machines their “shots” when they are first created (via Puppet, Chef, Ansible, or through manual updates) and they are pretty much “good to go”.  Of course, if they get “sick”, you take virtual machines to “the vet” – you log into them, troubleshoot problems, fix problems, or run update scripts. Usually by hand, or driven by some automation, but managed individually.

The problem is, raising pets in a house doesn’t scale. I don’t want 2000 cats and dogs at my house (and, let’s be honest, neither do you).

Cattle

Raising cattle is quite different than a household pet. It’s actually quite a bit more complex. Cows, sheep, and chickens are raised on farms because it’s more efficient. Farms are set up to handle the scale. This requires large amounts of land, tractors, fences, silos for grain/feed, specialized trailers for your truck, specialized train cars, and specialized processing plants. In addition, farms have to keep shifting which fields are used for grazing so that they don’t become unusable over time.  If you really think about it – I’m only just skimming the surface. Farms are more efficient, but quite a bit more expensive than a house to run day to day.

Clouds (e.g. OpenStack, OpenShift) are more akin to farms than houses. Firing up a cloud is like setting up a farm from scratch. It requires a lot of planning and execution. After firing up your cloud, there is constant technical care and maintenance – e.g. adding/removing storage – fixing hung instances – adding/removing VLANS – fixing pods stuck in a pending state, returning highly available services (Cinder, API nodes, OSE/Kube Master, Hawkular Metrics) back to production, upgrading the cloud platform, etc. etc. There is a lot of farm work with a cloud.

Farms are quite efficient at raising thousands of animals. I do not think, however, that you just tear down an entire farm when it is no longer running in an optimal state – instead – you fix it.  Clouds are quite similar. Clouds are more work for operators, but less work for developers. Just like farms are a lot of work for farms, but much less work for shoppers at the store.  Raising large amounts of chicken is harder for farmers and easier for consumers. The farmers hide the complexity from consumers.

Conclusion

I propose that it’s not really about pets vs. cattle, but really about houses vs. farms. It’s far easier to buy chicken breast at the store than it is to raise hundreds of chickens in your backyard. I propose this as an improved analogy. Farms require quite a bit of work, are sophisticated and more expensive than a house, but quite efficient at supporting a lot more animals. At scale, I would take a farm any day over raising thousands of animals at my house. The same is true with a cloud environment. At scale, a cloud wins every time.

On a side note, people often conflate the notion of scale up and scale out with pets vs. cattle. In my mind, bigger and smaller bulls (scale up/down) or a greater number of smaller bulls (scale out) is arbitrary and a constant challenge in terms of both pets and cattle….

Finally, for those that still don’t like pets vs. cattle or houses vs. farms – let’s try a beer analogy. Bottles vs. home brew – while it’s easy to drop by the store and buy a bottle of beer… it’s way more fun to brew it. Let’s brew some beer together, leave a comment below!

Shaping the Performance of a Linux Distro: Inside Red Hat Enterprise Linux 7

Backstory

Red Hat’s Performance Engineering team is responsible for the performance of many of Red Hat’s products.  We cover existing products such as Red Hat Enterprise Linux, OpenStack Platform, OpenShift and Red Hat Enterprise Virtualization, as well as newer products like Ceph and CloudForms.

Although these days we contribute extensively to Red Hat’s cloud offerings, Red Hat Enterprise Linux remains a core responsibility as the building block for our ecosystem of customers and partners, plus much of Red Hat’s growing product portfolio.

Prior to beginning efforts on Red Hat Enterprise Linux 7 in earnest

Continue reading “Shaping the Performance of a Linux Distro: Inside Red Hat Enterprise Linux 7”

Red Hat Enterprise Linux Virtual Machines: Access to Random Numbers Made Easy

Having access to quality random numbers is essential for correct and secure operation of operating systems. Operating systems need random numbers from an entropy pool for a variety of tasks, like creating secure SSH or GPG/PGP keypairs, generating random PIDs for processes, generating TCP sequence numbers, and generating UUIDs.

With Red Hat Enterprise Linux 7 we introduced the virtio RNG (Random Number Generator) device that provides KVM virtual machines access to entropy from the host machine.  Red Hat Enterprise Virtualization starting version 3.5 also has exposed this feature.  We have since made improvements to Red Hat Enterprise Linux guests to make the feature easier and more straightforward to use.

A Brief Introduction to virtio and Paravirtualized Devices

virtio is the paravirtualized transport framework for KVM virtual machines. Using the virtio framework, new devices can be

Continue reading “Red Hat Enterprise Linux Virtual Machines: Access to Random Numbers Made Easy”

Red Hat Unveils Red Hat Enterprise Linux 7

Six months ago we announced the beta availability of Red Hat Enterprise Linux 7. Two months ago, at Red Hat Summit 2014, we announced the availability of a release candidate for Red Hat Enterprise Linux 7. All the while we have been validating what’s new, different, and exciting about what Red Hat Enterprise Linux 7 has to offer – including:

Today we are pleased to announce the general availability of Red Hat Enterprise Linux 7, the latest major release of our flagship platform. As stated in this morning’s press release:

Continue reading “Red Hat Unveils Red Hat Enterprise Linux 7”

KVM Virtualization: Refining the Virtual World with Red Hat Enterprise Linux 7 Beta

Ever since Red Hat Enterprise Linux added KVM Virtualization as a kernel-based hypervisor to run virtual machines (way back in Red Hat Enterprise Linux 5.4), the operating system took on a dual personality.

Red Hat Enterprise Linux became both a Virtualization host for high density virtual data centers / cloud service platforms, and a guest operating system running on third party hypervisors such as VMware vSphere and Microsoft Hyper-V. As the topic is sufficiently broad, I plan to split my discussion of virtualization into two posts.

Today’s post will discuss Red Hat Enterprise Linux 7 beta as a hypervisor using KVM Virtualization technology and it will highlight a few key enhancements that make Red Hat Enterprise Linux the operating system of choice for modern hybrid data centers. While the features that I will review are inherently those that I find to be the most exciting (note: I’m hoping you will find them to be exciting and useful as well), a complete list is available in the Red Hat Enterprise Linux 7 beta release notes.

Continue reading “KVM Virtualization: Refining the Virtual World with Red Hat Enterprise Linux 7 Beta”