DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. Draft vs. Skaffold: Developing on Kubernetes

Draft vs. Skaffold: Developing on Kubernetes

Take a quick look at these two tools developed by Google for Kubernetes that works to shrink your continuous integration and delivery pipelines.

Anita Buehrle user avatar by
Anita Buehrle
·
Jul. 23, 18 · Presentation
Like (2)
Save
Tweet
Share
8.48K Views

Join the DZone community and get the full member experience.

Join For Free

A few weeks ago, one of our DX engineers, Ilya, discussed the differences and similarities between Draft and Skaffold in his most recent online office hours, “Developing on Kubernetes”. Both of these tools can be used as building blocks in your CI/CD pipeline to automate and deploy changes to your cluster with the ultimate goal of getting your newly-updated app running on Kubernetes with as few errors as possible. More frequent updates to your app will keep your customers happy and can also maintain your competitive edge.

In a series of regular posts, we’re going to discuss the benefits and use cases of the tools and technologies that Ilya introduces in his weekly online office hours series, "Developing on Kubernetes with Ilya!." We’ll sometimes follow up these discussions with a hands-on tutorial that shows you how to implement the tools discussed and we’ll also demonstrate how to use them with Weave Cloud. In this post, the two tools we are discussing are one such case, where Ilya is working on a detailed tutorial and discussion on how to implement Skaffold using GitOps best practices with Weave Cloud.

Stay tuned and watch for Ilya’s follow-up post in the coming days.

What are Draft and Skaffold and how do they differ in their approach to Kubernetes deployments?

Draft

Draft is Microsoft’s open-source build and deployment tool. It is like a pipeline orchestration CLI that could also be classed as a package manager. At present, Draft intended to be used by developers when writing code locally and before being committed to source control.

Draft can generate Docker images directly from their local machine and deploy it to a cluster — usually minikube. It creates and uses Helm charts that generate the Kubernetes manifests needed to deploy your application.

A pro of using Draft is that you can use it with Helm to package their applications and deploy them to Kubernetes running on Azure.

Draft requires that you have Helm installed and so relies on Helm as a dependency. It is still at an alpha stage release which you may want to consider before using it.

Links for further reading:

  • CI/CD Tools for Kubernetes
  • Draft Documentation


Skaffold

Skaffold is a relatively new tool released by Google. Skaffold is a command line tool that manages the workflow for building, pushing and deploying your application updates to Kubernetes. It is designed so that you can continue to iterate your code locally and Skaffold will then build and deploy the updates to either a local or a remote Kubernetes cluster.

Like Draft, it can also be used as a building block in a CI/CD pipeline to leverage the same workflow and tooling when you are moving an application into production.

Links for further reading:

  • Skaffold Happy Kubernetes Workflows
  • Skaffold documentation

Differences between Draft and Skaffold

While both tools allow developers to iterate and experiment with Kubernetes applications locally, Skaffold also provides the tooling to build a production ready pipeline for your deployments.

It uses a pluggable architecture that allows you to build both a local pipeline for testing and a production pipeline for deployments to a running cluster.

(from Skaffold Documentation)

Another difference is that Skaffold optionally works with Helm should you wish and it is not dependent on Helm like Draft is.

Final Thoughts

In this post we described some of the differences between two fairly new CICD pipeline tools for Kubernetes. Watch for Ilya’s deep dive blog on GitOps, Skaffold and Weave Cloud in the upcoming week.

To hear more about tools you can use for your own Kubernetes powered applications, be sure to join and tune into “Developing with Kubernetes” Office Hours with Ilya every Thursday at 10:00 PT / 18:00 BST (British Standard Time).


Kubernetes

Published at DZone with permission of Anita Buehrle, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Why Does DevOps Recommend Shift-Left Testing Principles?
  • Upgrade Guide To Spring Data Elasticsearch 5.0
  • Choosing the Best Cloud Provider for Hosting DevOps Tools
  • Using JSON Web Encryption (JWE)

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: