Google has announced general availability of Skaffold, a tool designed to automate many of the housekeeping tasks around continuous application deployment using containers and Kubernetes.
Skaffold is a command line tool that saves developers time by automating most of the development workflow from source to deployment, but in an extensible way, according to Google’s description.
The Chocolate Factory explains in a blog post about Skaffold that it noticed that developers creating Kubernetes-native applications “spent 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”.
To address this, the company decided to build a tool to help developers focus on writing and maintaining code rather than managing these repetitive steps required during the edit-debug-deploy loop, and Skaffold is the end result. It is apparently already the underlying framework behind Cloud Code, which plugs in to developer environments such as Visual Studio Code and IntelliJ.
Skaffold natively supports the most common image-building and application deployment strategies, according to Google, making it compatible with a wide variety of new and pre-existing projects. It also operates completely on the client-side, needing no components to be deployed to onto the Kubernetes app clusters.
The way Skaffold works is by identifying the source files that comprise a user’s application, monitoring them while development work is in progress. Afterwards, it then rebuilds and redeploys only those parts of the application that need to be changed.
Profiles allow the same Skaffold configuration to be used across multiple environments, with the differences expressed via a Skaffold profile for each environment. Specific profiles can be activated using the current Kubernetes context element. Skaffold also supports directon-cluster application debugging for Golang, NodeJS, Java, and Python code.
Developers may be wary of deploying new tools in their production environment, but it seems that Skaffold hasn’t just appeared from nowhere. Google claims there have already been 40 releases leading up to general availability, and it claims it is confident that Skaffold’s core functionality is mature.