Google has pushed Skaffold – a command line tool that automates Kubernetes development workflow – out to the developer community, saying the tool is now generally available after 5,000 commits from nearly 150 contributors to the project.
Kubernetes – the de facto container orchestration standard – has become the linchpin of much cloud-native computing, sitting underneath swathes of cloud-based tools to manage how applications run across a wide range computing environments.
Despite increasingly widespread adoption, those seeking to deploy Kubernetes themselves often find it a headache: whilst powerful, it’s also complicated and clusters need constant finessing and debugging. (Google, which built Kubernetes, has since also released Istio, an open source tool – and one of the fastest growing projects on GitHub – to secure, connect, and monitor microservices powered by Kubernetes.)
What is Skaffold?
As Google software engineer Nick Kubala Software Engineer explains: [We noticed that Kubernetes users] spend a long time building and managing container images across registries, manually updating their Kubernetes manifests, and redeploying their applications every time they made even the smallest code changes.
“We set out to create a tool to automate these tasks, helping them focus on writing and maintaining code rather than managing the repetitive steps required during the edit-debug-deploy ‘inner loop’… Skaffold was born.”
Skaffold’s central command, skaffold dev, watches local source code for changes, and rebuilds and redeploys applications to users cluster in real time. It also supports direct debugging of Golang, NodeJS, Java, and Python code.
It operates client-side, with no required components on your cluster, making it lightweight. Google Cloud, in a blog Friday, rolled out Martin Höfling, Principal Consultant at TNG Technology Consulting GmbH, to extol its virtues.
He said: “Skaffold is an amazing tool that simplified development and delivery for us. Skaffold hit our sweet spot by covering two dimensions: First, the entire development cycle from local development, integration testing to delivery.
“Second, Skaffold enabled us to develop independently of the platform on Linux, OSX, and Windows, with no platform-specific logic required.”
Skaffold’s dev loop also automates typical developer tasks, Google notes, saying it automatically tails logs from a user’s deployed workloads, and port-forwards the remote application to their machine, so they can iterate directly against their service endpoints, to do “true cloud-native development” with its built-in utilities.
General availability, which comes after 40 iterations, is a reminder that the Kubernetes developer environment continues to evolve rapidly. With Kubernetes itself in the top 10 most active open source projects on GitHub (a site which added 10 million new developers over the past 12 months alone) and Istio among the fastest growing, it’s clear that demand for and interest in tools to deploy containers remains high.