Monday, April 06, 2015

Podcast: Microservices, Rocket, and Docker with Red Hat's Mark Lamourine

This podcast takes a look under the covers at today's different containerization approaches and the implications for developers, operators, and architects. We also talk microservices, the different ways they can be aggregated, and the challenges of figuring out the best service boundaries.

You can also point your browser at Containers on redhat.com to learn more about:

  • Container portability with deployment across physical hardware, hypervisors, private clouds, and public clouds
  • An integrated application delivery platform that spans from app container to deployment target—all built on open standards
  • Trusted access to digitally signed container images that are safe to use and have been verified to work on certified container hosts

Listen to MP3 (0:16:32)
Listen to OGG (0:16:32)

[Transcript]

Gordon Haff:  Welcome to another edition of "Cloudy Chat," Podcast. I'm Gordon Haff in the Cloud Product Strategy Group at Red Hat. I'm here with my colleague, Mark Lamourine. Today, we're going to talking about microservices, Rocket, and Docker, and how these various things relate to each other.
Before we get into technologies, one bit of housekeeping. We're going to be talking about the technical aspects of these things. Unless I say something explicit about commercialized product, none of this should be taken as a product roadmap, or product plans. With that said, Mark, let's take it away.
To start off with, maybe provide a little context. Where does Rocket fit in the container landscape?
Mark Lamourine:  Prior to Rocket, if you were trying to build containers, you really had two avenues. I'm leaving older technologies, like Solaris and stuff aside. We're talking just about Linux containers. It was LXC, which was a build‑your‑own, handcrafted, rather complex mechanism which has existed for years, but really didn't gain any traction outside of a couple of important areas,  which we’re not going to get into today.
Then, about two and half years ago, Docker emerged and made it much easier. By making a lot of assumptions for you about what a container should be, they made it a lot simpler to create containers to move images around to distribute them. They did a lot of tooling around it.
Since the advent of Docker, containers have really caught on, at least in mindshare as a new way to distribute software and distribute applications. Rocket came into that as a slight alternative. The community that was working with Docker and with LXC, they noticed a couple of things that were a little restrictive about what Docker does.
There are some assumptions in Docker that make it slightly more difficult than it might be to create containers that communicate with each other, or to create containers that have multiple processes or a number of different little things, that people have noticed only after they started trying to build complex applications. Rocket was designed specifically to fall into that middle space.
Gordon:  It's probably worth mentioning something here, which you touched on, which is that Docker is often equated with containers, the base level technology. Whereas, Docker really encompasses a lot more than that.
Mark:  You're right. You made two points there. One is that people think of containers, and they think Docker like that's the only way. There are a lot of ways to do containers, or there are now three ways to do containers.
But also Docker encompasses a lot more than just the containers. They've built an ecosystem. They've built a life cycle, or they're starting to build a life cycle. Rocket, again, falls somewhere in the middle of control spectrum. Where LXC, you have very little in the way of infrastructure, very little in the way of control and boundaries, and it's very free, where Docker provides a lot of infrastructure, and a lot of help in producing, and managing your containers and in running them, but it also imposes a certain level of restriction.
Gordon:  Both of these technologies are independent of a containerized operating system, such as RHEL Atomic Host.
Mark:  In fact, they're independent of the operating system in general. You can run both Docker and Rocket on ordinary hosts. You can embed both of them onto a container host, a stripped‑down host, like either Core OS, Project Atomic, or RHEL Atomic.
They're really orthogonal pieces. In fact, they can run side‑by‑side. You can run Rocket right next to Docker, and you can run Rocket containers right next to Docker containers.
Gordon:  I think there's been a tendency in the marketplace, deliberately by some folks to mash things together that don't need to stay together.
Mark:  In some senses, that makes sense because, in the end, the goal is to produce an environment where people can create containerized applications, and stop thinking about the underlying operating system. In that sense, the idea that somehow the two are equated, it makes a certain amount of sense.
But when you're actually developing for one or another, it doesn't really matter. In fact, you don't generally develop containers on a container host. You develop them on a real host, then you migrate them over, test them, and hopefully deploy them out onto a container host.
Gordon:  Mark, what is Rocket at a high level from the technical perspective?
Mark:  Rocket's a container system. What that means is that Rocket is a means of starting processes that have a different view of the host operating system, than an ordinary process does. It's different from other isolation mechanisms, like virtual machines, in that the containerized app is running on the host.
From the host, it looks like an ordinary app, but the containerized app has a different view. Rocket is one mechanism of creating one of these, and what Rocket does is it allows you to create a single image with a single process, a set of process binaries, and run it on the host in its little special environment.
Gordon:  Now, if you think about how Rocket is different from other approaches to implementing containers on a containerized operating system or in some other way, what are some of the most salient characteristics?
Mark:  The big difference between others is that when you're crafting a new image or a new container, if you use LXC, you have to handcraft all of the boundaries, all of the contents. If you're using Docker, you use the Docker file and a base image, which helps you define what goes inside.
With Rocket, you have to handcraft the image in the same way that you do with LXC or a similar way, but Rocket also offers you the advantage of the image spec, which LXC doesn't. It's a simpler image format. It's a simpler set of contents, but you do still have to handcraft what goes inside.
What that means is that you get a very lightweight container image. The container image doesn't have all of the package adding mechanisms. It has just what you need to do your application.
Gordon:  What are the pros and cons of those approaches?
Mark:  For Docker, the big advantage is that the application developers can work very quickly. They don't have to understand a lot about the specifics of how their application works. They can treat it like an ordinary RPM. The disadvantage is that, they tend to get a lot of bulk into their images that doesn't really need to be there at runtime.
The biggest example is whether it's an RPM or Debian‑based system, all that packaging infrastructure is included in the image and is used in composing the image at build time, but it's essentially unused afterwards.
People have to do some fairly interesting tricks to get around that. In Rocket, you just put the files you want in and go on.
Gordon:  We've really been talking about the impact on the developer. What are the differences at runtime?
Mark:  Again, we get back to comparisons with Docker. With Docker, you get one image and it has one process. The boundaries of the container are defined by the contents of the image. With Rocket, the image is a start and the runtime is specified. But when you create an actual container with Rocket, you can supply multiple images and it can run multiple processes.
It establishes one set of boundaries around all of those processes. With that means is that the processes can communicate with each other, but not with the outside world, except through the holes you push. When you're working with a Docker container, and you want multiple processes to communicate with each other, you can't easily have the two processes communicate without explicitly punching lots of little holes.
What it means is, again, that it's easier to compose a Rocket container from multiple images that cooperate, and still have the containment boundary.
Gordon:  Are there any implications for application architect or microservice type application architectures?
Mark:  There are a lot of implications for that. There are a number of places where what Rocket does is it recognizes that the processes running in a service have more or less affinity to each other. Some of them only connect via a network. Other ones need to share files.
They may need to share pipes. They need to be on the same host. Rocket gives you the flexibility to control the distance between the processes and to control more finely which ones are treated as close boundaries and which ones are treated as wide open ones.
Gordon:  Presumably, there are also implications at the orchestration layer, like Kubernetes, for example.
Mark:  One thing about Docker is it's taken what we've learned about orchestration so far and is starting to apply it to the containers themselves, the container design. I hadn't looked at it until very recently, but it turns out that the Rocket developers have actually adopted some Kubernetes technology.
They had started out calling a container this thing which has multiple processes in it. The documentation recently has started to refer to that as a pod, which is a term pulled from Kubernetes, which refers to multiple processes which run on the same host, and which share resources more tightly than merely ones that are communicating over a network.
Gordon:  This all very much corresponds to some of the terminology, different terminology of the ideas in microservices where you expose every microservice or do you have nested microservices because some things don't really need to be explicitly exposed to the outside world?
Mark:  I think there's still a lot of exploration that needs to go across the container community about how good application architectures will look. There are purists. Actually, it's interesting. There aren't that many purists in this area. Everyone's pretty much exploring. There are a few. But I think we'll find out from practical experience, over time, what works for what situations.
Gordon:  One of the things people adopting microservices have found to be very difficult is figuring out what these boundaries are to start with. In fact, I've even seen for some situations the recommendation that maybe you start out doing a more monolithic application, and then break that out into microservices, once you understand how the parts relate.
Mark:  This is one of the areas where you might call me a purist, because I take exactly the opposite tack. I think part of the reason we don't know, we find difficulty in finding those boundaries when we're trying to decompose an application, is because we've deliberately ignored them. They were unimportant in a host‑based environment.
If you put the files down in their own root and two different parts of an application share them, on a host it doesn't matter. There is no boundary to cross. As we start putting applications into containers, if you treat them as, what someone I found out last week calls, "Virt‑Light," if you treat them as if it's a virtual machine that you're stuffing things into, you actually continue to obscure the communications that you've been ignoring before.
I think it's still early, and I think people are going to probably take the monolithic path at first as a perceived easier first step. But I think it's really important to start uncovering the ways in which these covert communications can hide inside the applications and try to find ways both to identify them a priority, to figure out whether they need to be there in the first place, and then figure out how to flag them, split them out, establish proper communications boundaries.
In some senses, this mirrors the object‑oriented wave that took place in the '80s and '90s where one of the points of object‑oriented programming was to enforce the boundaries, the modularity, and the coherence. Some of the people took it. Some people decided that wasn't so important after all.
Gordon:  New global variables are really useful.
Mark:  At times, yes.
Gordon:  [laughs] As you were talking, I was thinking exactly the same thing, because I mean none of the things are perfect today. But I think it's absolutely true that when you first saw object‑oriented programming out there, there were a lot of people that couldn't be bothered with having to use methods to get data out of classes and that thing. You took a lot of shortcuts.
Mark:  It was perceived as a lot of these new waves are, it was perceived at the time as overhead, as extra work, as unnecessary work. I know what's there. I'll go get it. The changes have been informed by the recognition that software has a life cycle and, that by doing this little bit of overhead, it actually frees the developer of whatever the tool is to change the implementation without causing problems for the user on the other end; for the consumer, in the case of libraries or objects.
Because containers are this object where we want to treat them as a unit, and then we want to be able to push things in and get things out, these boundaries are going to become very important.
If we expect in the end to build this hardware store mentality, where someone can go in and get, "I need a database container, but I need one that's tuned this way," rather than having one container for the database, which you have this monstrous set of tuning parameters.
What I'd like to see is that we discover, "Gee, there are some people who can just use the default tuning parameters, who never touch them, and that's fine." Then you might find others where they have specific patterns, because I suspect that not every tuning parameter has equal value.
You're going to find specific situations where you want to tune specific things. The response to that rather than having one highly configurable thing is to have a small set of slightly tuned ones, and you can go and say, "Oh, I want the generic database thing. Or, I want the storage tuned database thing. Or, I want the throughputs tuned database thing," and then only passing parameters that are necessary to get your job done.
It puts some of the work back on the developer to try, and think through the common use cases, and figure out what the right tuning choices are, but it's going to make it much easier for the consumer in the long run, if we can shift that work.
Gordon:  Well, great. It's, as always, been a great discussion today, Mark. Thank you.

Mark:  Thank you.

Wednesday, April 01, 2015

Links for 04-01-2015

Wednesday, March 25, 2015

Links for 03-25-2015

Tuesday, March 24, 2015

Book review: Badass: Making Users Awesome by Kathy Sierra

Badass Cover
Sadly, Kathy Sierra doesn’t blog any longer for reasons that I’m not going to get into here. But the good news is that she has a new book out, Badass: Making Users Awesome . It’s a book about making products successful but doing so through the lens of the user. She writes that an “awesome product” is a side-effect of products that help users to be successful at whatever they want to do do. And that’s what leads to success.
Where you find sustained success driven by recommendations, you find badass users. Smarter, more skillful, more powerful users. Users who know more and can do more in a way that’s personally meaningful.
It’s Kathy’s contention that a lot of the time companies don’t put enough focus on helping users advance the skills in the “compelling context” around their tool rather than just the tool itself. For example, a camera is a tool. Photography is the context. And, by helping users advance their photography skills and engaging with them around that context, companies can be more successful.

There’s science and examples to buttress Kathy’s points. Research on motivation from Stanford psychology professor Carol Dweck. Ski instruction techniques from Lito Tejeda-Flores. “Deliberate practice” to move skills to the Mastered (i.e. reliable/automatic) category. The acquisition of perceptual knowledge. The book is far from a textbook though. It has simple exercises, lots of graphics, and highly readable prose. (If you’re familiar with the O’Reilly Head First series of programming books, the style of this O’Reilly-published work is somewhat similar.)

The bottom line is that Badass is highly engaging and biased toward the practical. You can read the whole thing in a flight across about half the US. To the degree that I have a criticism, it’s the flip side of my praise. It’s perhaps a bit too breezy a read. Some more examples using a wider variety of products might have better grounded the book in concrete specifics.

Overall grade: 4/5

Monday, March 23, 2015

Slow IT needs to modernize too

Writing about bimodal IT in CIO, ActiveState Software’s Bernard Golden wrote:

Bimodal IT echoes a presentation I saw several years ago from Will Forrest of McKinsey, who said that CEOs are so tired of how poorly their IT organizations are performing that they’re setting up separate organizations to pursue new opportunities. The implication is clear -- traditional IT is on borrowed time and faces a future where it is consigned to unimportance. It may, in fact, be too late for enterprise IT to do anything about this.

Keep calm and slow down resized 600

By way of background, bimodal IT [1] refers to the idea that, according to Gartner’s Daryl Plummer, "Forty-five percent of CIOs state they currently have a fast mode of operation, and we believe that by 2017 75 percent of IT organizations will have gone bi-modal in some way… Traditional IT has focused on operational excellence. IT has been like rocks in a river. In contrast, the digital world is in continuous flow. In “business moments”, businesses can leverage some ‘digitalized' process to create new opportunities. Those moments are supported by more fluid form of IT, more flexible and ready for anything.” 

Of course, this is something of an oversimplification. Most IT organizations are complex and heterogeneous. They have many modes and types of infrastructure, applications, and operations. IT is multi-modal as another analyst put it to me. However, I find the binary lens useful because it helps to crystalize the opposing priorities of stability and speed—because it’s really pace of change that distinguishes the two modes.

But pace is not an absolute. It’s not zero and infinity. Which is where I quibble with Bernard’s piece that I quoted above and why I caution about equating slow or Mode 1 IT with terms like legacy, outdated, or old. (Even though it may be those things in some cases.) 

Instead, think of classic or traditional IT as simply more focused on stability and efficiency and operated at a more deliberate pace. But it’s not necessarily static. It’s an opportunity to modernize and refresh within a go slow paradigm. As another recent Gartner report noted: "Software evolution is driving the IT market rapidly toward new architectural models and implementation practices. The trend toward bimodal IT will accelerate this evolution, and increasingly expose legacy operating systems like Unix (and the workloads based on those operating systems) as classic 'Mode 1' technology that is suited to traditional data center modernization."

The distinction between doing nothing and modernizing is an important one and I suspect that not recognizing that distinction fuels some of the criticism I’ve heard and read about the multi-modal or bimodal view of modern IT. Doing nothing implies giving up. It suggests that there is no benefit to undertaking IT projects that aren’t all-in with respect to agile development practices and infrastructure architectures. It effectively provides an excuse for not using IT for any sort of incremental strategic business advantage.

While incrementalism can indeed sometimes be a poor alternative to making needed changes, so too can the perfect be the enemy of the good. So pursue game-changing IT initiatives that take fundamentally new approaches like OpenStack IaaS, OpenShift by Red Hat PaaS, containers, cloud management platforms (such as CloudForms), and more. But don’t miss out on opportunities to streamline your existing IT model as well.

-------

[1] Bimodal IT is a “Gartner-ism.” However, a variety of others have expressed similar concepts using different terminology. For example, IDC refers to cloud/social/mobile/big data under the “3rd platform” moniker to distinguish it from the older-style “2nd platform."

http://www.cio.com/article/2875803/cio-role/what-gartner-s-bimodal-it-model-means-to-enterprise-cios.html

Links for 03-23-2015

Thursday, March 12, 2015

Links for 03-12-2015

Wednesday, March 11, 2015

Focal points, culture, and cities (with some fun)

Focal point: The clock at Grand Central Station

I was going to start this post by relating focal points (aka Schelling points) to open source projects and the way in which some projects gain critical mass quickly (and others don’t). Think docker and other projects around containerization today as an example of a concept gaining adherents among both true believers and some who may just be sensing the direction of the wind. I think there’s something there. Computational biologist Luis Pedro Coelho writes about Schelling Globalization as an explanation for the popularity of soccer—his idea is that people watch things in part because other people are watching them. There’s also a cultural element that makes the concept a bit different from power laws and network effect that also lead to coalescing around particular approaches, technologies, or outcomes. 

But my game theory isn’t solid enough to tackle this today—although I do think that there’s an aspect of shared cultural understanding and implicit agreements about mutually beneficial outcomes that’s relevant to the most successful open source projects.

Instead I’m going to do something that you may find entertaining. Feel free to play along at home and in the comments. 

First, a modicum of background. 

Thomas Schelling is an American economist. He won the 2005 Nobel Prize in economics for his work on "understanding of conflict and cooperation through game-theory analysis.” Among his ideas was the concept of a focal point. Schelling describes them as "each person’s expectation of what the other expects him to expect to be expected to do.” That’s a bit of a mind twister but, in other words, everyone in a group tries to guess an outcome—say, a number from a list of numbers—that they expect others from the group to pick as well and to do so without communicating.

Schelling also presented the best-remembered and quoted example of a focal point as applied to locations. In the words of Wikipedia:

Schelling himself illustrated this concept with the following problem: "Tomorrow you have to meet a stranger in NYC. Where and when do you meet them?" This is a coordination game, where any place in time in the city could be an equilibrium solution. Schelling asked a group of students this question, and found the most common answer was "noon at (the information booth at) Grand Central Station." There is nothing that makes Grand Central Station a location with a higher payoff (you could just as easily meet someone at a bar, or the public library reading room), but its tradition as a meeting place raises its salience, and therefore makes it a natural "focal point".

It seems a rather remarkable result. Two people could randomly find each other in Manhattan? Which is doubtless the reason the story is so memorable. The noon part is fairly trivial. (Pretty much everyone picks noon when asked a question of this form.) But what of the location? Would Grand Central win out today? What of other cities?

In 2005, economist Tyler Cowen posited the clock at Grand Central would still win out but only because of awareness of Schelling’s result. Here’s my take on New York and some other cities. If you’d like to play along, here are some cities I know well enough to have an opinion about. Think about it and come on back.

New York, Boston, Cambridge MA, San Francisco, Seattle, New Orleans, London, Paris, Tokyo, Beijing, Philadelphia, Washington, St. Louis, Geneva.

New York. 

I imagine Tyler travels in circles where the name Schelling rolls off more tongues than the ones in which I do, so I don’t really buy into his rationale. I don’t really believe that a broad cross-section of even New Yorkers would tend to pick Grand Central as a meeting place these days; Amtrak doesn’t even come into that station. It’s a great meeting place but it’s just not going to pop into the mind of most people who don’t commute in and out of there. 

The top (well 86th floor) of the Empire State Building is, of course, enshrined in countless movies. But it would be a horrible meeting place; you have to pay and may have to wait for hours. I imagine few would pick it anyway.

I can think of a number of imposing steps that would make a good meeting place: New York Public Library, Metropolitan Museum of Art, American Museum of Natural History. But that’s the problem. I couldn’t really choose one over the other.

I think I’d go for Times Square. The problem is that it’s a big place with lots of people. But, if you either know the area or scout it a bit, there’s actually a fairly modest wedge of pavement where the George M. Cohan statue, Father Duffy statue, tkts booth, and a set of bleachers sit. Barring New Year’s Eve or Tony Awards level crowds, you’d probably find another person with a rose in their lapel easily enough.

Boston

I think that in front of Faneuil Hall is probably the obvious choice. I could offer up alternatives such as the swan boats or Fenway Park but my heart wouldn’t be in them. There is a cultural context to how one answers though. If I were playing this game with certain friends, I would certainly pick Fenway along Yawkey Way. (And, generally, there’s a contextual element to all this that might lead us to, say, the baseball park in a given city.)

Cambridge MA

Out of Town News in Cambridge seems the logical choice. Though that might be assuming locals. For a broader group of tourists though it’s hard to say where exactly—maybe the John Harvard statue? (Unless they were MIT students in which case it would be 77 Mass Ave.)

San Francisco

In front of the Ferry Building. I don’t really feel comfortable with this and I doubt most non-residents would answer this way. But the Golden Gate Bridge? Hard to get to and the most obvious meeting point on the Marin side isn’t even in San Francisco. Fisherman’s Wharf? Maybe. Yuk. And Golden Gate Park is both out of the way from downtown and doesn’t really have a single obvious meeting place.

Seattle

Pike Place Market at Rachel the piggy bank. I realize that this is probably a very tourist-centric answer but, as a very occasional tourist, I have absolutely no alternatives to offer.

New Orleans

This is tough. Bourbon Street is obvious, but where? There’s no single focal point within the focal point. There’s Pat O’Briens but that’s actually a little off of Bourbon. Cafe du Monde for locals perhaps though that’s probably overthinking it.

London

Nelson’s Column in Trafalgar Square, right? I haven’t spent a huge amount of time in London but seems likely.

Paris

Presumably the Eiffel Tower although I confess I don’t know what that means exactly with respect to a meeting spot. I guess the pyramid at the Louvre is a possible alternative but probably not a very likely choice.

Tokyo

Hachiko’s statue is apparently already a popular Tokyo meeting spot so I’ll go with that. It’s also at Shibuya which is one of the city’s big railroad stations. Other options likely include places like Studio Alta but I doubt they’re a better guess. 

Beijing

Tiananmen Square seems obvious although it’s huge. So I’ll say Tiananmen Square in front of the Forbidden City.

Philadelphia

In spite of the fact that I grew up outside of Philadelphia, I’ve spent very little time in the city, so I’m really coming at this from the perspective of a tourist. So I’m going to go with the Liberty Bell. (Independence Hall is across the way.)

Washington DC

This is hard; there are so many iconic locations on the Mall. I’m split between the Lincoln Memorial and the Washington Monument but I’ll narrowly pick the former.

St. Louis

The Arch.

Geneva

Jet D’Eau, I assume?

 I hope you enjoyed reading this and possibly playing along. Before we close though, a coda by way of a quote from a 2005 Schelling interview:

When I first asked that question, way back in the1950s, I was teaching at Yale. A lot of the people to whom I sent the questionnaire were students, and a large share of them responded: under the clock at the information desk at Grand Central Station. That was because in the 1950s most of the male students in New England were at men’s colleges and most of the female students were at women’s colleges. So if you had a date, you needed a place to meet, and instead of meeting in, say, New Haven, you would meet in New York. And, of course, all trains went to Grand Central Station, so you would meet at the information desk.

So, in fact, the Grand Central result was perhaps not all that remarkable after all given the context in which it was asked. And perhaps this points to an important lesson for reaching points of intersection and agreement; the assumptions, experiences, and culture of the participants matter a lot.

Nickels and dimes don't drive enterprise IT

Cloud 15764283447 30e532998f z

Jim Stogdill has a Public vs. private cloud: Price isn’t enough piece up on O’Reilly Radar which is well worth a read. Here’s the gist of his analysis:

I think this is the point that some public cloud proponents miss. We are talking about decisions that at least feel like high risk, and they don’t seem to produce the material levels of ROI necessary to give up control.

This is not unlike the choices consumers make every day when they buy a car and choose the convenience of an SUV over the fuel economy of alternatives. For many people, the incremental fuel cost just isn’t that big of a deal in the context of their total household budget. If they do choose not to go with an SUV, it’s often because of other concerns.

I think private cloud will be around, at least in very large enterprises, for a long time and for similar reasons. The control the chief information officer (CIO) (and general counsel) seeks will trump the narrower interests of Rational Economic CFO. And I don’t see lots of CIOs taking huge risks and kicking off expensive five-year transition plans to improve profitability by 0.4%.

We’ve seen this sort of dynamic before by the way, albeit with considerably different particulars. One example is the push for the Linux desktop back in the 2000s. It could save money and it could get organizations out of Microsoft lock-in. But ten years later, Microsoft to Linux (on the desktop specifically—servers are a whole different matter) hasn’t happened in a broad way and, at this point, isn’t a very relevant or important battlefield anyway. However, the savings and other benefits just weren’t all that important in the grand scheme of things to most organizations compared to uncertainties, risks, and the general distraction of a large scale user-facing migration. The same might be said of any number of other client technologies such as VDI.

None of this is to say that using public clouds for some workloads isn’t often valuable. Or even that some organizations (especially those below some threshold of size) won’t take the public cloud plunge all the way. But wholesale change requires truly compelling benefit at the level of the organization as a whole. And that’s mostly beyond what a full public cloud migration can deliver.

This situation just further highlights why hybrid clouds are today’s reality as has been shown in both numerous surveys and our daily interactions with customers at Red Hat. And it also highlights why hybrid cloud management platforms and portable operating systems are such a big deal.

Links for 03-11-2015

Monday, March 02, 2015

Building IT self-service at UTS in Australia

Openshift logo

Nice customer story about OpenShift Enterprise at the University of Technology, Sydney (UTS).

A few points worth highlighting.

They were trying to get away from the “yak shaving” that often goes on when you’re constantly setting up and tearing down development environments. "Throughout their time at the university, software engineering students work in teams to develop the full life cycle of an application, from development and testing to project management andarchitecture. Students spent a great deal of time manually configuring applications to work withnetworks and infrastructure, which distracted them from completing the actual course content.” A Platform-as-a-Service (PaaS) like OpenShift is perfect for reducing this sort of unproductive activity. For example, setting up a database is a matter of clicking a button rather than go through a many step manual configuration process.

A PaaS also enables the sort of separation of concerns between admins and users/developers that I wrote about previously in “Why PaaS is such a useful abstraction.” 

The PaaS pilot also helped some UTS professors, who may wish to set up applications depending on specific requirements for the courses they teach. The OpenShift environment allows instructors to manage their own applications, while the UTS IT team can provide customization, security patches,and upgrades without the day-to-day management responsibilities they had previously.

UTS can also preconfigure chosen applications with plugins that automatically integrate into the existing infrastructure. This lets engineers and developers spend more time on innovation, while instructors and students can start their projects sooner.

Finally, OpenShift’s broad language and tools support was important as well.

“OpenShift supports a wide breadth of languages without the need for customization, which is ideal in the learning environment,” said [Manager of Systems and Application Services James] Lucas. “OpenShift also supports database platforms within the environment, letting users deploy it as part of their code with just the click of a button.”

Check out the case study. It nicely illustrates what a PaaS generally and OpenShift in particular can do for you.

Adopting private clouds the right way

Screen Shot 2015 03 02 at 11 47 20 AM

A post by Gartner’s Tom Bittman noting that a poll of attendees at the Gartner Datacenter conference last December found that "95% of the 140 respondents (who had private clouds in place) said something was wrong with their private cloud” has been making the rounds. Predictably some of the headlines have been a bit overly dramatic. (Gartner did not, in fact, find that 95 percent of private clouds “fail.”) Nonetheless, it’s true that—as with IT projects more broadly—a lot of private clouds aren’t as successful as they could or should be.

I encourage you to read Bittman’s post, as well as his Gartner research if you have access. One of the things you’ll see is that many of the reasons are more about organization and process than they are about technology. The same theme repeats in Andy Patrizio’s "Seven Reasons Your Cloud Deployment Might be Delayed” in which I’m quoted along with CA’s Andi Mann and Pund-IT’s Charles King. It’s also consistent with what we’ve seen at Red Hat. Below, I’ve expanded on some of the thoughts that I shared with Andy when he interviewed me for his story and noted a few of the ways that Red Hat can help you do better.

Skills

Enterprises often cite lack of in-house skills as an impediment to doing private cloud deployments. As a result, making use of training programs and/or partners who do possess the skills and real-word experience can significantly accelerate cloud deployments. This is a big part of why last year Red Hat acquired eNovance, which is focused on meeting growing demand for enterprise OpenStack consulting, design, and deployment. We also offer a variety of training and certification programs for OpenStack.

New infrastructure management approaches needed

Enterprises often approached their "Cloud 1.0" projects as if they were just an extension to their existing virtualization infrastructure. This is a mistake. While clouds often use virtualization, they require new approaches and new technologies. For example, in a recent InfoBrief and survey sponsored by Red Hat, IDC found that "74% expect to buy new management solutions to support open hybrid clouds and next-generation application architectures.” Requirements included unified application, middleware, and infrastructure automation; advanced analytics; full OpenStack support; and integration with existing systems and management tools. Red Hat has been active in the cloud management platform space with Red Hat CloudForms based on the upstream ManageIQ project.

DevOps and software-defined services cut across silos

Aligning the organization to cloud infrastructures and new processes such as DevOps--and instituting the right incentives in that organization--is as important as technology. Software-defined services cut across many different operational silos such as servers, storage, networking, and database administration while DevOps requires greater alignment of application development and system administration. Cloud technologies can actually help different groups within an organization work cooperatively but they need to want to do so.

Failure to account for bi-modal IT

Some cloud deployments fail to appreciate that there are two basic modes of applications and infrastructures in the typical enterprises and try to straddle the two without recognizing the essential differences. Cloud deployments should focus on new cloud-native workloads while bridging back to existing classic IT services, workflows, and datastores and providing unified management. They should not however try to be all things to all applications. As Bryan Che noted in a recent post: "VMware’s vision for One Cloud and OpenStack sounds appealing--one unified cloud for running both cloud-native and traditional applications--but it is fundamentally flawed in implementation because these two classes of workloads have quite different requirements for infrastructure. And, by attempting to mash these two worlds together, all One Cloud provides is one limited cloud that is not optimized to run any workload.” By contrast, Red Hat is taking an approach that recognizes the essential differences between “classic IT" workloads and cloud-native ones.