Google & Netflix Launch 'Kayenta' for Cloud-Scale Continuous Software Delivery
Enterprises looking to deploy application updates rapidly without breaking things are getting help from two of the biggest and most successful hyperscale cloud providers.
Kayenta is designed to help cloud application providers get beyond the old "waterfall" software delivery method, where updates take months or years to come out, and move to a continuous update cycle, where updates are happening all the time.
The problem with continuous updates to software delivered over the cloud -- a.k.a. software-as-a-service, or SaaS -- is that developers find it difficult to test software to be sure it doesn't break production systems before deployment. The solution to that problem is to deploy to a small number of users at first, test for problems, and then deploy to a larger number if no problems are found. If problems are found, then roll back, adjust and iterate. This process is called "canary analysis," after the old practice of coal miners bringing canaries to work (great for the coal miners, hard on the canaries).
Using canary analysis, it's easy to detect problems if the update crashes your application, but slight degradations of service can be difficult to detect, and yet extremely harmful if deployed to users on a global scale, Andrew Phillips, Google Cloud product manager, said in an interview.
"As humans, we're bad at detecting small changes, and we're very bad at determining whether a small change is in the statistically expected range of fluctuations," Phillips said. In other words, it can be difficult to determine whether a small change in application performance is due to a code update, or whether the change is just random.
That's where Kayenta comes in. Kayenta is an open source tool that works with Spinnaker -- an open source continuous deployment tool initially developed by Netflix -- to automate rolling out software updates at small scale, test for small changes, and then either roll the update out at wider scale or roll it back for bug fix, Phillips said.
"Every organization says, on the one hand, we must move faster, but we also have to stay safe -- can't afford to break all our production applications," Phillips said. Kayenta is designed to help enterprises resolve that paradox.
"Developed jointly by Google and Netflix, Kayenta is an evolution of Netflix's internal canary system, reimagined to be completely open, extensible, and capable of handling more advanced use cases," according to a post on the Google blog Tuesday. "It gives enterprise teams the confidence to quickly push production changes by reducing error-prone, time-intensive, and cumbersome manual or ad-hoc canary analysis."
Kayenta apparently competes with at least one startup. Jyoti Bansal, who founded AppDynamics, which sold to Cisco for $3.7 billion last year, is focused on "continuous application delivery as a service" with his new startup, Harness. Harness is designed to let app developers get new features and upgrades out to users fast, while also ensuring security and application stability. (See AppDynamics Founder Launches 'Harness' for Continuous App Delivery.)
And in a related development, startup Gremlin is looking to make "chaos engineering" widely available -- taking out components of an Internet application, such as individual servers or connections -- on a controlled basis, to test whether the system recovers gracefully. (See Gremlin Looks to Bring 'Chaos Engineering' to the Masses)
- Google & Partners Secure 'Software Supply Chain'
- Cloud Security Startup ShiftLeft De-Stealths
- Google Debuts App Performance Optimization for Microservices
— Mitch Wagner Editor, Enterprise Cloud, Light Reading