|By Darryl Eaton||
|April 1, 2012 04:00 AM EDT||
Does your IT or devops team run a lot of do-it-yourself projects? DIY is tempting, isn't it? You have smart engineers, easy access to storage and computing power, and a mandate this year to start moving some of (or more of) your applications to the cloud. Why not do it yourself?
I'm not saying that you shouldn't try DIY cloud computing management, but if you're going that route, you should know what you're in for. In particular, you should keep a sharp lookout for the point of no (easy) return.
The Five Cs of DIY
First of all, what compels people to try to roll their own end-to-end cloud management strategy? There are five arguments we often hear for DIY (all of which begin with "C"), depicted in Figure 1.
- Control: When you do it yourself, you're able to control everything, right, wrong or indifferent. If there are problems, you can handle them internally. If your business requires custom scripts or exporting usage data into your own warehouse, you'll want to be able flip the levers and configure it yourself. And the images will be yours, all yours.
- Complexity: "What's to manage?" you ask. "We're just spinning up a dozen or so dev and stage servers in an Amazon EC2 public cloud to get our feet wet. Plenty of companies do this without all the fuss of additional management tools." When your initial objectives are modest and you want your DevOps team to learn how things work first, cloud computing management looks like just a nice-to-have.
- Conquest: Speaking of DevOps, plenty of them want the challenge of understanding what's possible and how to build it. Or some of them say, "If I can't get approval, I'll just do it myself on the side," and they jump in. Because we are still in the early stages of cloud uptake, your engineers and managers are experimenting to discover just how far DIY and cobbling different tool sets together will take them, as opposed to researching what is available in the market. Who can blame them? The cloud presents itself as one of the most powerful APIs ever, and what self-respecting developer or IT department can resist that?
- Cost: Everybody's eye is on cost. "For about $200 a month, I can get five large, on-demand Linux instances for 100 hours, 50GB of storage and 10GB of data in and out. With pricing like that, we'll figure out the management piece ourselves. Most of what we'd buy in a cloud management product is stuff we can do ourselves anyway." It certainly looks like that at first glance, and if the budget is tight and your cloud-based DIY deployment is humming along, you probably can't make the case for spending money on management expertise that you're convinced you can provide on your own.
- Convenience: It's convenient and easy to think about DIY cloud management because Amazon, for instance, gives you so many options and tools to start with. If there were many long-standing public clouds from which to choose, the water would be muddier, you'd use a sharper pencil in the vetting process, and doing it yourself would seem like less of a slam dunk.
People stack these five Cs against off-the-shelf cloud management offerings all the time. Our industry spends a lot of time hearing these arguments, patiently nodding our heads and repeating the counter-arguments, based on our own experience with customers:
If you really need control, you'd be surprised by how much control and customization you can have with a cloud management product, even when you start with pre-configured images and templates.
Cloud computing management is complex, but cloud management products are designed to shield you from most of the complexity. Besides, the sooner you see how simple it is to automate the management of five or ten servers, the sooner you can get up to the 50 or 100 your business really needs.
There's plenty of technology to conquer in cloud computing management, but the industry has already conquered most of it, which is why off-the-shelf products are so comprehensive and accessible.
The cost of DIY is usually a lot more than your monthly fees. There's recruiting, training, non-recurring engineering expenses, headcount and the risk involved in building and maintaining your team. People don't always think that far down the road.
The flip-side of convenience is lock-in. It's hard to resist the ease of spinning up a cloud with just a browser and a credit card; however, is the product you conveniently start with today going to grow and scale gracefully with your business? Do you want all of your eggs in one basket? You've got to ask yourself, "Do I feel lucky?"
Let's examine the technology more closely.
Eyes Wide Open: Know What You're in For
What does cloud computing management mean? How many different layers are there to it, and when will you hit each one? Figure 2 depicts the layers of cloud computing management you'll traverse eventually, whether you DIY or license a product.
Basic cloud offerings from Amazon and open source tools can cover the entry-level echelon of service (bottom of Figure 2). A combination of DIY and open source is not especially dangerous at these levels:
- You provision basic or pre-configured images to meet your specifications and the needs of your users and customers, with memory, computing power, storage, OS and geographic proximity.
- Once you've installed applications in your cloud, you'll want to monitor them. Are they running properly? Have any of them gone down? Can you get alerts if something goes wrong?
- After you've tweaked your images, you'll want to clone them, say, for development/staging/production, for multiple developers or to meet increasing demand and traffic.
Once you've gotten this far, you can also try products for cloud auto-scaling (originally invented by RightScale). With a few months and several servers under your belt, you arrive at the advanced echelon of service in need of yet another tool, because entry-level products don't cover these (middle of Figure 2):
- It's easy to take snapshots of images; sometimes too easy. You forget why you created them, what's inside them and whether anybody is still using them. You need configuration management to deal with image sprawl. Once you have that under control, you also need configuration management to create repeatable applications and services (for your own mini Platforms-as-a-Service).
With people all over the organization clamoring for cloud-based apps, you're ready for user management to set permissions and audit activity.
The cloud may be inexpensive, but it isn't free. When Finance asks you about cost allocation and ROI by department, project and region, you need tools that can break out your expenses and revenues from activity in the cloud.
The last three items are the state of the art in cloud computing management, and if you can get that far on DIY, you deserve a big raise. On the horizon is a final layer, still in its infancy (top of Figure 2).
Most of your cloud assets need to work together; e.g., start the database server first, then start up the application tier, then start the proxy, run some tests to make sure the whole app is working, and then turn on the website. Orchestration and workflow automation will soon allow you to code how your system should operate so that you don't need to intervene.
That's the long view of cloud computing management. Set your expectations accordingly.
Are You Close to the Tipping Point?
The market is torn at the moment. On the DIY side, cloud computing is not very old, and lots of organizations are scrambling to figure out what it can do for them and their business. There are plenty of eager, curious engineers ready to dive in, fire up a few servers, cut their teeth on cloud computing and a few open source tools, and do their company (and their résumé) some good.
On the off-the-shelf side, the market is filled with entrants and it's growing up fast. Cloud management products are feature-rich because those of us who focus on them have already hit most of the roadblocks.
For some companies, the choice of off-the-shelf is obvious. They've looked at Figure 2 and decided that they don't want to have to do it themselves. They tried rolling their own CRM until they saw how effortless Salesforce.com made it, and they remember tinkering for ages with their own Web servers until they realized Apache had nailed it. They've learned that lesson.
What's the tipping point for everybody else? When do features, capabilities and price point tip in favor of off-the-shelf products? From our experience, here are three telling metrics:
- Forty images - Once people try to keep track of more than 40 images, DIY cloud management tools start to get creaky. "I see a whole slew of servers, and some have really short names...I've forgotten what that one does..."
- Fifteen users - If they have 15 people operating in the cloud after only a couple of months, they're liable to be at 200 in a year. User management tools need to scale and work with all the other DIY tools in use.
- Five accounts - To sort out their billing and ROI headaches, they write discovery apps or go through the Amazon API trying to figure out which instances are in use and which images they come from so they can allocate costs correctly.
Alas, some organizations stick with DIY past that tipping point, to the point of no (easy) return. They've made it well into the advanced echelon, but only by cobbling together a patchwork of three to four disparate tool sets and growing their DevOps teams to 50 or more. Or, perhaps they decide to move all their DIY stuff to a different public cloud provider, or to their own private cloud. An off-the-shelf cloud computing management can still help them when they get to these points, but the effort will cost much more time and money than if they had started there in the first place.
Do All the Math, Not Just Some of It
Many customers come to us after they've outgrown their DIY efforts. Eventually, they discover that there are too many things to stitch together: configuration management, systems automation, monitoring, application automation, provisioning, user permissions, reporting and more.
Even if you're happy with the DIY cloud computing management you've put in place, are you really sure that it's worth the investment in time, money and manpower, compared to an off-the-shelf offering? Not only that, but are you sure you're far enough away from the tipping point that DIY will still look good a year from now?
Cloud Management - Obstacles Overcome in Off-the-Shelf Products
- Removal of a single user's SSH key from all managed instances
- Volume striping for better database performance
- Image fingerprinting to identify pre-rolled images in private clouds accurately
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and Containers together help companies to achieve their business goals faster and more effectively.
Oct. 9, 2015 06:15 AM EDT
Docker is hot. However, as Docker container use spreads into more mature production pipelines, there can be issues about control of Docker images to ensure they are production-ready. Is a promotion-based model appropriate to control and track the flow of Docker images from development to production? In his session at DevOps Summit, Fred Simon, Co-founder and Chief Architect of JFrog, will demonstrate how to implement a promotion model for Docker images using a binary repository, and then show h...
Oct. 9, 2015 06:15 AM EDT
Application availability is not just the measure of “being up”. Many apps can claim that status. Technically they are running and responding to requests, but at a rate which users would certainly interpret as being down. That’s because excessive load times can (and will be) interpreted as “not available.” That’s why it’s important to view ensuring application availability as requiring attention to all its composite parts: scalability, performance, and security.
Oct. 9, 2015 06:00 AM EDT Reads: 408
Achim Weiss is Chief Executive Officer and co-founder of ProfitBricks. In 1995, he broke off his studies to co-found the web hosting company "Schlund+Partner." The company "Schlund+Partner" later became the 1&1 web hosting product line. From 1995 to 2008, he was the technical director for several important projects: the largest web hosting platform in the world, the second largest DSL platform, a video on-demand delivery network, the largest eMail backend in Europe, and a universal billing syste...
Oct. 9, 2015 05:45 AM EDT
There once was a time when testers operated on their own, in isolation. They’d huddle as a group around the harsh glow of dozens of CRT monitors, clicking through GUIs and recording results. Anxiously, they’d wait for the developers in the other room to fix the bugs they found, yet they’d frequently leave the office disappointed as issues were filed away as non-critical. These teams would rarely interact, save for those scarce moments when a coder would wander in needing to reproduce a particula...
Oct. 9, 2015 05:00 AM EDT Reads: 300
Last month, my partners in crime – Carmen DeArdo from Nationwide, Lee Reid, my colleague from IBM and I wrote a 3-part series of blog posts on DevOps.com. We titled our posts the Simple Math, Calculus and Art of DevOps. I would venture to say these are must-reads for any organization adopting DevOps. We examined all three ascpects – the Cultural, Automation and Process improvement side of DevOps. One of the key underlying themes of the three posts was the need for Cultural change – things like t...
Oct. 9, 2015 05:00 AM EDT Reads: 336
In today's digital world, change is the one constant. Disruptive innovations like cloud, mobility, social media, and the Internet of Things have reshaped the market and set new standards in customer expectations. To remain competitive, businesses must tap the potential of emerging technologies and markets through the rapid release of new products and services. However, the rigid and siloed structures of traditional IT platforms and processes are slowing them down – resulting in lengthy delivery ...
Oct. 9, 2015 05:00 AM EDT Reads: 1,008
Overgrown applications have given way to modular applications, driven by the need to break larger problems into smaller problems. Similarly large monolithic development processes have been forced to be broken into smaller agile development cycles. Looking at trends in software development, microservices architectures meet the same demands. Additional benefits of microservices architectures are compartmentalization and a limited impact of service failure versus a complete software malfunction....
Oct. 9, 2015 04:00 AM EDT Reads: 222
Containers are changing the security landscape for software development and deployment. As with any security solutions, security approaches that work for developers, operations personnel and security professionals is a requirement. In his session at @DevOpsSummit, Kevin Gilpin, CTO and Co-Founder of Conjur, will discuss various security considerations for container-based infrastructure and related DevOps workflows.
Oct. 9, 2015 04:00 AM EDT Reads: 232
It is with great pleasure that I am able to announce that Jesse Proudman, Blue Box CTO, has been appointed to the position of IBM Distinguished Engineer. Jesse is the first employee at Blue Box to receive this honor, and I’m quite confident there will be more to follow given the amazing talent at Blue Box with whom I have had the pleasure to collaborate. I’d like to provide an overview of what it means to become an IBM Distinguished Engineer.
Oct. 9, 2015 04:00 AM EDT Reads: 241
The cloud has reached mainstream IT. Those 18.7 million data centers out there (server closets to corporate data centers to colocation deployments) are moving to the cloud. In his session at 17th Cloud Expo, Achim Weiss, CEO & co-founder of ProfitBricks, will share how two companies – one in the U.S. and one in Germany – are achieving their goals with cloud infrastructure. More than a case study, he will share the details of how they prioritized their cloud computing infrastructure deployments ...
Oct. 9, 2015 03:00 AM EDT Reads: 736
Opinions on how best to package and deliver applications are legion and, like many other aspects of the software world, are subject to recurring trend cycles. On the server-side, the current favorite is container delivery: a “full stack” approach in which your application and everything it needs to run are specified in a container definition. That definition is then “compiled” down to a container image and deployed by retrieving the image and passing it to a container runtime to create a running...
Oct. 9, 2015 02:30 AM EDT Reads: 235
Between the compelling mockups and specs produced by analysts, and resulting applications built by developers, there exists a gulf where projects fail, costs spiral, and applications disappoint. Methodologies like Agile attempt to address this with intensified communication, with partial success but many limitations. In his session at DevOps Summit, Charles Kendrick, CTO and Chief Architect at Isomorphic Software, will present a revolutionary model enabled by new technologies. Learn how busine...
Oct. 9, 2015 02:00 AM EDT Reads: 286
If you are new to Python, you might be confused about the different versions that are available. Although Python 3 is the latest generation of the language, many programmers still use Python 2.7, the final update to Python 2, which was released in 2010. There is currently no clear-cut answer to the question of which version of Python you should use; the decision depends on what you want to achieve. While Python 3 is clearly the future of the language, some programmers choose to remain with Py...
Oct. 9, 2015 02:00 AM EDT Reads: 247
The web app is agile. The REST API is agile. The testing and planning are agile. But alas, data infrastructures certainly are not. Once an application matures, changing the shape or indexing scheme of data often forces at best a top down planning exercise and at worst includes schema changes that force downtime. The time has come for a new approach that fundamentally advances the agility of distributed data infrastructures. Come learn about a new solution to the problems faced by software organ...
Oct. 9, 2015 02:00 AM EDT Reads: 880
Internet of Things (IoT) will be a hybrid ecosystem of diverse devices and sensors collaborating with operational and enterprise systems to create the next big application. In their session at @ThingsExpo, Bramh Gupta, founder and CEO of robomq.io, and Fred Yatzeck, principal architect leading product development at robomq.io, discussed how choosing the right middleware and integration strategy from the get-go will enable IoT solution developers to adapt and grow with the industry, while at th...
Oct. 9, 2015 02:00 AM EDT Reads: 2,215
As we increasingly rely on technology to improve the quality and efficiency of our personal and professional lives, software has become the key business differentiator. Organizations must release software faster, as well as ensure the safety, security, and reliability of their applications. The option to make trade-offs between time and quality no longer exists—software teams must deliver quality and speed. To meet these expectations, businesses have shifted from more traditional approaches of d...
Oct. 9, 2015 01:45 AM EDT Reads: 228
Ten years ago, there may have been only a single application that talked directly to the database and spit out HTML; customer service, sales - most of the organizations I work with have been moving toward a design philosophy more like unix, where each application consists of a series of small tools stitched together. In web example above, that likely means a login service combines with webpages that call other services - like enter and update record. That allows the customer service team to writ...
Oct. 9, 2015 01:45 AM EDT Reads: 431
JFrog has announced a powerful technology for managing software packages from development into production. JFrog Artifactory 4 represents disruptive innovation in its groundbreaking ability to help development and DevOps teams deliver increasingly complex solutions on ever-shorter deadlines across multiple platforms JFrog Artifactory 4 establishes a new category – the Universal Artifact Repository – that reflects JFrog's unique commitment to enable faster software releases through the first pla...
Oct. 9, 2015 12:30 AM EDT Reads: 631
Somebody call the buzzword police: we have a serious case of microservices-washing in progress. The term “microservices-washing” is derived from “whitewashing,” meaning to hide some inconvenient truth with bluster and nonsense. We saw plenty of cloudwashing a few years ago, as vendors and enterprises alike pretended what they were doing was cloud, even though it wasn’t. Today, the hype around microservices has led to the same kind of obfuscation, as vendors and enterprise technologists alike ar...
Oct. 9, 2015 12:00 AM EDT Reads: 453