Cloud is How You Design Your Software, Not Where You Run it
At Interop May 18, Cornelia Davis will describe the elements of cloud-native software, the type that's designed to be change-tolerant.
Cornelia Davis, senior director of technology at Pivotal.io, has a mental model of what constitutes modern, adaptable, quick-to-be-fixed software in the cloud. She'll be sharing that model with attendees to her session at InteropITX, Cloud Native: Designing Change-Tolerant Software.
To Davis, the cloud isn't about where applications are run but about how all types of software are composed. It needs certain attributes to be considered as cloud native and change-tolerant. In her May 18 session, she'll disclose what they are.
Davis is one of the leaders of the Cloud Foundry unit at Pivotal, the firm's open source software development platform. Pivotal was spun out of VMware in 2013 as its integrated, open source software unit. Davis has been tapped by Manning Publications to write a book about the subject, and Manning is making chapters of the book available as they are written. There's also a way to submit comments on the content of the chapters. Readers in that way may be influencing what's put into the following chapters. The publisher calls it MEAP or the Manning Early Access Program and Davis thinks it's kind of cool.
"We should take the agile methodology that we apply to software development and apply it to the world of books. It makes all the sense in the world," she said in an interview.
This ability to field questions and comments on the fly might unnerve some authors, who like the quiet of a personal library in which to do their writing. But Davis thinks it will lead to a better product. "I may have to revise chapters more often than I planned," she allowed.
She starts her book off and will probably start her session with the example of an Amazon Web Services outage in Sept. 20, 2015 that lead to several service freezes as AWS DynamicDB froze up. Many companies depending on AWS US-East-1 were affected by the DynamicDB shutdown, including AirBnb.
"Lots of companies were down for eight hours. I'm making the assertion that that was not Amazon's fault at all," she said.
As a counter example, she cites Netflix, which experienced a short, about 10 minute, outage then got its services that had been in US-East-1 operational again. "Their software and management practices are built around the assumption that failure is inevitable," she said, and software must be designed to survive the failures it is likely to encounter.
The elements of the model include:
Statelessness must be designed into the application logic.
Cloud-native services and microservices must be separately upgradable. "You don't want all your pieces to have to move in lockstep," she said. You also must be able to version your services so that as one is updated, customers who don't yet need the update can be allowed to run on an older version, keeping everything running.
"You have to be very deliberate about where you're storing state. At any time, the application environment can go poof and disappear. So store state in the data and use it in a loosely coupled fashion with the services. In her session, she'll explore what it means for data as well services to be loosely-coupled. Without a proper design, the data will end up being tightly coupled, not loosely coupled.
The data and services must be combined into what she calls the "Cloud Native Collective" to make a functioning application.
Keeping data synchronized across a wide area network is a more troubling task than on a LAN but that may prove to be one of the requirements of cloud native software. Netflix survived the Amazon outage because it had data synchronized across Amazon regions, not just within one region. Because of that, "business resumed within a few minutes," she said.
There are additional points to consider, which Davis will address in her session. When she finishes, she will have covered the first two chapters of her book and the audience will have a follow-up reference available, one that continues the discussion past the point where they found it in Las Vegas. And they may want to get into the discussion with Davis as she works on subsequent chapters.
Charles Babcock is an editor-at-large for InformationWeek and author of Management Strategies for the Cloud Revolution, a McGraw-Hill book. He is the former editor-in-chief of Digital News, former software editor of Computerworld and former technology editor of Interactive ... View Full Bio
We welcome your comments on this topic on our social media channels, or [contact us directly] with questions about the site.
2017 State of IT ReportIn today's technology-driven world, "innovation" has become a basic expectation. IT leaders are tasked with making technical magic, improving customer experience, and boosting the bottom line -- yet often without any increase to the IT budget. How are organizations striking the balance between new initiatives and cost control? Download our report to learn about the biggest challenges and how savvy IT executives are overcoming them.