Click here to close now.

Welcome!

@MicroservicesE Blog Authors: Lori MacVittie, Cloud Best Practices Network, Liz McMillan, Elizabeth White, Michael Kanasoot

Related Topics: @CloudExpo Blog, Java IoT, @MicroservicesE Blog, Open Source Cloud, @ContainersExpo, Apache

@CloudExpo Blog: Article

Bursting the Cloudbursting Bubble

Cloudbursting is mostly marketing vaporware, & even as the Cloud marketplace matures, may only be of limited applicability

You're the widget product manager for Widgetco, who sells about 500 widgets per day on your Web site, some days a dozen more, some days a dozen less. Everything is fine until you pick up a copy of USA Today. Right there on the front page, in brilliant color-on-newsprint, is Justin Bieber. And what is the Biebster holding in his hand? One of your widgets.

Dream scenario? No, you think, more like nightmare scenario. Widgetco hosts its Web site in its own data center, as it has done since 1997. It can take maybe, say, a thousand or two transactions per day at most. But sure enough, Bieber Fever crashes your site, on the one day you could make your entire quarterly sales quota, if only you could fulfill the demand.

You should have listened to your CIO, who recommended Cloudbursting as a way of dealing with unexpected spikes in demand. Cloudbursting is being able to maintain on-premise or Private Cloud capacity for normal capacity requirements, while a Public Cloud automatically handles excess demand. Cloudbursting is supposed to be an economical way of leveraging the Public Cloud, because you only pay the Cloud provider when you require excess capacity. On normal days, however, your existing, already-paid-for infrastructure handles the load quite well.

A straightforward value proposition, right? Any on-premise or Private Cloud-based app that is subject to spikes in demand that existing infrastructure can't handle should be able to benefit, so the argument goes. Unfortunately, however, Cloudbursting has a number of problems, making it challenging for even the most suitable scenarios-and furthermore, such scenarios are rarer than you think. Bottom line: Cloudbursting is mostly marketing vaporware, and even as the Cloud marketplace matures, may only be of limited applicability.

A Closer Look at Cloudbursting
Cloudbursting depends upon workload migration: when your on-premise system bogs down, you must move your entire application to the Cloud-data, business logic, and user interface. Over an Internet connection to the Cloud. Even the most basic workloads might take hours to migrate, and in the meantime, your customers are left out in the cold.

The obvious way to mitigate the workload migration problem is to set up a copy of your application environment in the Cloud ahead of time. That way when the Bieber effect kicks in, all you need to do is fire up the Cloud copy and reconfigure your DNS to direct traffic to it, right?

Not so fast. First you'll need to synchronize your data. There are tools for that, true, but it still takes time, and you now have the challenge of maintaining the true version of the data. For example, let's say you have 5,000 widgets in inventory (as reported by your ERP application) when your site goes down. You can't migrate the whole ERP to the Cloud, so you copy over your master inventory table. Now you're fulfilling orders in the Cloud as well as on-premise, since your on-premise site has recovered now that you've lightened its load. The result? Each site sells 3,000 widgets before the next data synchronization cycle, and once again you're in trouble.

OK, so that won't work either. Instead, you integrate the Cloud app with your ERP system, so that you can handle orders in real time, instead of waiting to synchronize your data. In other words, you set up a Hybrid Cloud. Yes, you can do that-after all, many organizations are moving to Hybrid Cloud models-but then you ask yourself: does it really make sense to put in all the time and effort to set up a Hybrid Cloud solely for handling Cloudbursting? If you're going to all that trouble, why not keep the Cloud-based app live all the time?

There's the rub with Cloudbursting: you might think you're saving money by only using a Public Cloud for handling peak demand, but in reality, you get better Total Cost of Ownership by using the Cloud all the time, either via a Hybrid model, or by migrating your entire app to the Cloud. The Hybrid model provides additional benefits as well, namely a measure of failover, increasing your overall availability. It's always better to have two (or more) geographically distributed instances of an app serving your customers, in case something happens to one of them. And if you want to offer seamless availability, you should have all the instances running at once, with a load balancer distributing the traffic. Chances are, you can get load balancing from the Cloud provider as well.

So you've convinced your CIO that Cloudbursting might not be the best alternative. Instead, you're discussing moving your entire site to the Cloud when your CEO walks into the room. Her concern is for compliance and security. You're taking customer credit card numbers, so you must be PCI compliant. And everybody knows Public Clouds are less secure than Private ones, right?

The problem here is that if these concerns are valid then they rule out Cloudbursting as well. Being PCI compliant except during peak demand is just another way of saying you're not PCI compliant. On the other hand, if your Public Cloud provider offers PCI compliance, then it would apply equally well to Cloudbursting as to a Hybrid approach or migrating to the Public Cloud. The same argument applies to security concerns.

There are a few more pitfalls to Cloudbursting worth mentioning. If you're thinking of putting your app in a Private Cloud and using a Public Cloud for Cloudbursting, then what you're really saying is that you didn't plan your Private Cloud properly in the first place. After all, what's the point in setting up a Private Cloud unless it can provide sufficient elasticity to meet your needs? You might as well just stick to a traditional on-premise hosted environment.

You also need to work through the details of the Cloudbursting event itself. Does your on-premise app need to fail for Cloudbursting to take place, or do you have a way of bursting as your existing app nears a critical threshold, but before it actually goes down? The latter requires careful management, and even with all the appropriate management tools in place, you may still have a failure-based scenario. The question then is whether the on-premise failure will impede your ability to successfully Cloudburst. For example, if the Bieber effect causes your database server to crash requiring a reboot, you may not be able to synchronize your data in order to begin the Cloudbursting. In other words, you've designed your Cloudbursting to fail just when you need it.

The ZapThink Take
Let's say you've made it to this point in this ZapFlash and you're still not convinced. You remain confident that Cloudbursting is practical in your situation. OK, then, what kind of situations might be appropriate for Cloudbursting?

Our Widgetco example required some legacy integration, which obviously complicates Cloudbursting enormously. Cloudbursting would clearly be more suitable for standalone applications that didn't require such integration. But on the other hand, you would only need Cloudbursting if you have an app that is susceptible to spikes in demand-and virtually all such apps have public-facing Web interfaces. And thirdly, Cloudbursting would clearly not be appropriate for any app that should obviously be entirely Cloud-based from the get go, namely a SaaS or PaaS app.

We've essentially crossed off every kind of application from the list. Any sort of app that processes customer transactions is out of consideration, because they either require legacy integration or should run as SaaS apps in order to process transactions in the Cloud. All that remain are free, public-facing Web applications that have unpredictable traffic patterns and yet have an on-premise component that you don't want to move to the Cloud. You have one minute to think of one. Ready? Go!

Image credit: oskaree

More Stories By Jason Bloomberg

Jason Bloomberg is the leading expert on architecting agility for the enterprise. As president of Intellyx, Mr. Bloomberg brings his years of thought leadership in the areas of Cloud Computing, Enterprise Architecture, and Service-Oriented Architecture to a global clientele of business executives, architects, software vendors, and Cloud service providers looking to achieve technology-enabled business agility across their organizations and for their customers. His latest book, The Agile Architecture Revolution (John Wiley & Sons, 2013), sets the stage for Mr. Bloomberg’s groundbreaking Agile Architecture vision.

Mr. Bloomberg is perhaps best known for his twelve years at ZapThink, where he created and delivered the Licensed ZapThink Architect (LZA) SOA course and associated credential, certifying over 1,700 professionals worldwide. He is one of the original Managing Partners of ZapThink LLC, the leading SOA advisory and analysis firm, which was acquired by Dovel Technologies in 2011. He now runs the successor to the LZA program, the Bloomberg Agile Architecture Course, around the world.

Mr. Bloomberg is a frequent conference speaker and prolific writer. He has published over 500 articles, spoken at over 300 conferences, Webinars, and other events, and has been quoted in the press over 1,400 times as the leading expert on agile approaches to architecture in the enterprise.

Mr. Bloomberg’s previous book, Service Orient or Be Doomed! How Service Orientation Will Change Your Business (John Wiley & Sons, 2006, coauthored with Ron Schmelzer), is recognized as the leading business book on Service Orientation. He also co-authored the books XML and Web Services Unleashed (SAMS Publishing, 2002), and Web Page Scripting Techniques (Hayden Books, 1996).

Prior to ZapThink, Mr. Bloomberg built a diverse background in eBusiness technology management and industry analysis, including serving as a senior analyst in IDC’s eBusiness Advisory group, as well as holding eBusiness management positions at USWeb/CKS (later marchFIRST) and WaveBend Solutions (now Hitachi Consulting).

@MicroservicesExpo Stories
Data center models are changing. A variety of technical trends and business demands are forcing that change, most of them centered on the explosive growth of applications. That means, in turn, that the requirements for application delivery are changing. Certainly application delivery needs to be agile, not waterfall. It needs to deliver services in hours, not weeks or months. It needs to be more cost efficient. And more than anything else, it needs to be really, dc infra axisreally, super focus...
Cloud Migration Management (CMM) refers to the best practices for planning and managing migration of IT systems from a legacy platform to a Cloud Provider through a combination professional services consulting and software tools. A Cloud migration project can be a relatively simple exercise, where applications are migrated ‘as is’, to gain benefits such as elastic capacity and utility pricing, but without making any changes to the application architecture, software development methods or busine...
"Plutora provides release and testing environment capabilities to the enterprise," explained Dalibor Siroky, Director and Co-founder of Plutora, in this SYS-CON.tv interview at @DevOpsSummit, held June 9-11, 2015, at the Javits Center in New York City.
Discussions about cloud computing are evolving into discussions about enterprise IT in general. As enterprises increasingly migrate toward their own unique clouds, new issues such as the use of containers and microservices emerge to keep things interesting. In this Power Panel at 16th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the state of cloud computing today, and what enterprise IT professionals need to know about how the latest topics and trends affect t...
Many people recognize DevOps as an enormous benefit – faster application deployment, automated toolchains, support of more granular updates, better cooperation across groups. However, less appreciated is the journey enterprise IT groups need to make to achieve this outcome. The plain fact is that established IT processes reflect a very different set of goals: stability, infrequent change, hands-on administration, and alignment with ITIL. So how does an enterprise IT organization implement change...
Conferences agendas. Event navigation. Specific tasks, like buying a house or getting a car loan. If you've installed an app for any of these things you've installed what's known as a "disposable mobile app" or DMA. Apps designed for a single use-case and with the expectation they'll be "thrown away" like brochures. Deleted until needed again. These apps are necessarily small, agile and highly volatile. Sometimes existing only for a short time - say to support an event like an election, the Wor...
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.
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. In his session at DevOps Summit, Ruslan Synytsky, CEO and Co-founder of Jelastic, reviewed the current landscape of...
The cloud has transformed how we think about software quality. Instead of preventing failures, we must focus on automatic recovery from failure. In other words, resilience trumps traditional quality measures. Continuous delivery models further squeeze traditional notions of quality. Remember the venerable project management Iron Triangle? Among time, scope, and cost, you can only fix two or quality will suffer. Only in today's DevOps world, continuous testing, integration, and deployment upend...
Sharding has become a popular means of achieving scalability in application architectures in which read/write data separation is not only possible, but desirable to achieve new heights of concurrency. The premise is that by splitting up read and write duties, it is possible to get better overall performance at the cost of a slight delay in consistency. That is, it takes a bit of time to replicate changes initiated by a "write" to the read-only master database. It's eventually consistent, and it'...
While DevOps most critically and famously fosters collaboration, communication, and integration through cultural change, culture is more of an output than an input. In order to actively drive cultural evolution, organizations must make substantial organizational and process changes, and adopt new technologies, to encourage a DevOps culture. Moderated by Andi Mann, panelists discussed how to balance these three pillars of DevOps, where to focus attention (and resources), where organizations migh...
At DevOps Summit NY there’s been a whole lot of talk about not just DevOps, but containers, IoT, and microservices. Sessions focused not just on the cultural shift needed to grow at scale with a DevOps approach, but also made sure to include the network ”plumbing” needed to ensure success as applications decompose into the microservice architectures enabling rapid growth and support for the Internet of (Every)Things.
Mashape is bringing real-time analytics to microservices with the release of Mashape Analytics. First built internally to analyze the performance of more than 13,000 APIs served by the mashape.com marketplace, this new tool provides developers with robust visibility into their APIs and how they function within microservices. A purpose-built, open analytics platform designed specifically for APIs and microservices architectures, Mashape Analytics also lets developers and DevOps teams understand w...
Buzzword alert: Microservices and IoT at a DevOps conference? What could possibly go wrong? In this Power Panel at DevOps Summit, moderated by Jason Bloomberg, the leading expert on architecting agility for the enterprise and president of Intellyx, panelists peeled away the buzz and discuss the important architectural principles behind implementing IoT solutions for the enterprise. As remote IoT devices and sensors become increasingly intelligent, they become part of our distributed cloud envir...
Sumo Logic has announced comprehensive analytics capabilities for organizations embracing DevOps practices, microservices architectures and containers to build applications. As application architectures evolve toward microservices, containers continue to gain traction for providing the ideal environment to build, deploy and operate these applications across distributed systems. The volume and complexity of data generated by these environments make monitoring and troubleshooting an enormous chall...
Containers and Docker are all the rage these days. In fact, containers — with Docker as the leading container implementation — have changed how we deploy systems, especially those comprised of microservices. Despite all the buzz, however, Docker and other containers are still relatively new and not yet mainstream. That being said, even early Docker adopters need a good monitoring tool, so last month we added Docker monitoring to SPM. We built it on top of spm-agent – the extensible framework f...
There's a lot of things we do to improve the performance of web and mobile applications. We use caching. We use compression. We offload security (SSL and TLS) to a proxy with greater compute capacity. We apply image optimization and minification to content. We do all that because performance is king. Failure to perform can be, for many businesses, equivalent to an outage with increased abandonment rates and angry customers taking to the Internet to express their extreme displeasure.
There's a lot of things we do to improve the performance of web and mobile applications. We use caching. We use compression. We offload security (SSL and TLS) to a proxy with greater compute capacity. We apply image optimization and minification to content. We do all that because performance is king. Failure to perform can be, for many businesses, equivalent to an outage with increased abandonment rates and angry customers taking to the Internet to express their extreme displeasure.
SYS-CON Events announced today that the "Second Containers & Microservices Conference" will take place November 3-5, 2015, at the Santa Clara Convention Center, Santa Clara, CA, and the “Third Containers & Microservices Conference” will take place June 7-9, 2016, at Javits Center in New York City. Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities.
The causality question behind Conway’s Law is less about how changing software organizations can lead to better software, but rather how companies can best leverage changing technology in order to transform their organizations. Hints at how to answer this question surprisingly come from the world of devops – surprising because the focus of devops is ostensibly on building and deploying better software more quickly. Be that as it may, there’s no question that technology change is a primary fac...