Tag: Deis v1 PaaS
6 Apr 2016 in Deis v1 PaaS

Deis v1.13.0 LTS - Long Term Support

Deis v1.13.0 is the final feature release for Deis. It is a Long Term Support (LTS) release, which means we will continue to patch bugs and accept pull requests, however any new features should be applied to Deis Workflow, the successor to Deis.

Deis v1.13.0 bumps CoreOS to 899.13.0, updates the system's containers to Alpine 3.3, removes the scheduler technology previews, bumps the Heroku buildpacks to the latest stable versions, adds a healthcheck url /healthz to the controller, and allows logspout to re-discover the logger when it jumps to another control plane node.

Read More
28 Jan 2016 in Deis v1 PaaS, DigitalOcean, Tutorial

How To Set Up a Deis Cluster on DigitalOcean

In a previous post, we used Rigger to deploy Deis on DigitalOcean. In this post, we take a different and more detailed approach.


Deis is an open source private Platform as a Service (PaaS) that simplifies deploying and managing your applications on your own servers. By leveraging technologies such as Docker and CoreOS, Deis provides a workflow and scaling features that are similar to that of Heroku, on the hosting provider of your choice. Deis supports applications that can run in a Docker container, and can run on any platform that supports CoreOS.

Read on to learn how to set up your own 3-machine Deis cluster on DigitalOcean.

Note: This tutorial is based on the v1.9.0 release of Deis.
Read More
7 Jan 2016 in Deis v1 PaaS, Continuous Integration

Setting Up Your Own PaaS and CI/CD Pipeline

Docker and the ecosystem around it have done some great things for developers, but from an operational standpoint, it's mostly just the same old issues with a fresh coat of paint. Real change happens when we change our perspective from Infrastructure (as a Service) to Platform (as a Service), and when the ultimate deployment artifact is a running application instead of a virtual machine.

Even Kubernates still feels a lot like IaaS - just with containers instead of virtual machines. To be fair, there are already some platforms out there that shift the user experience towards the application (Cloud Foundry and Heroku come to mind), but many of them have a large operations burden, or are provided in a SaaS model only.

In the Docker ecosystem we are starting to see more of these types of platforms, the first of which was Dokku which started as a single machine Heroku replacement written in about 100 lines of Bash. Building on top of that work other, richer systems like Deis and Flynn have emerged, as well as custom solutions built in-house, like Yelp's PaaSta.

Actions speak louder than words, so I decided to document (and demonstrate) a platform built from the ground up (using Open Source projects) and then deploy an application to it via a Continuous Integration/Deployment (CI/CD) pipeline.

You could (and probably would) use a public cloud provider for some (or all) of this stack; however, I wanted to demonstrate that a system like this can be built and run internally, as not everybody is able to use the public cloud.

Read More
27 Nov 2015 in Deis v1 PaaS, LTS, Community Meeting

Deis 1.12.2 Release and Latest Release Planning

Deis v1.12.2 Release

Deis v1.12.2 will be released on Tuesday, December 1. We have a variety of bug fixes in this release, and the team continues to make progress on the upcoming version 2 of Deis. Please refer to the upgrade documentation to assist in your cluster migration.

A full list of items in this release will be provided on December 1.

Read More
30 Oct 2015 in Deis v1 PaaS, Community Meeting, Announcement

Deis 1.12 Release and 1.13 Planning

Deis v1.12 Release

Deis v1.12 is scheduled for release on Tuesday, November 3. The major component of this release is upgrading the Docker client from 1.5 to v1.8.3. We have been looking to rev the Docker version for some time now, as the older image format has caused issues for some users. Please refer to the upgrade documentation to assist in your cluster migration.

A full list of items in this release will be provided on November 3.

Read More
26 Aug 2015 in Deis v1 PaaS

Help us improve the Deis provisioning experience!

Deis is known to be one of the simplest-to-use PaaS solutions available on the market, but we as the Deis team have found that not everyone finds it the easiest one to set up. When I joined the Deis team a month or so ago, I took a stab at rethinking how someone could provision, test, and manage a Deis cluster. I've wrapped up my ideas and approach into a tool called rigger.

Now this is where we would like your help... if you've experienced any sort of hardship during provisioning, testing, or managing a long-living Deis cluster... especially if you have shied away from using Deis at all because it was too daunting to get set up...

Jump in and add your perspective to the conversation around improving the Deis provisioning experience.

25 Aug 2015 in Deis v1 PaaS

Code for Credit: DigitalOcean

Today we are announcing a unique "code-for-credit" partnership with our friends at DigitalOcean. As part of this partnership, DigitalOcean will provide free hosting credits to developers who have code merged into the mainline Deis project.

When new contributors submit a pull request, they will be automatically provided information on how to collect and redeem DigitalOcean credits once the pull request is merged. The amount of credit received by each contributor will be based on the value of each contribution, as determined by the Deis project maintainers.

To learn more about the program, check out the Hacking on Deis documentation.

21 Aug 2015 in Deis v1 PaaS

Thanks Keerthan Mala!

Everyone involved with Deis sends a smiling thank you to Keerthan Mala.

Keerthan joined the Engine Yard Deis team this summer as an intern. It wasn't a hard choice: he was one of the smartest scheduling and distributed systems students we could find.

Keerthan combined forces with Sivaram Mothiki to create a formidable scheduler team. Keerthan owned Kubernetes (k8s), the new container cluster management technology that has the Deis project fired up. He perservered--while the code around him changed rapidly--to bring the Kubernetes Scheduler preview to Deis v1.9, allowing k8s to be used in place of the default fleet scheduler. He also introduced flannel and etcd2 into Deis. Keerthan's always ready to help with debugging or product testing, and he has steered the future technology direction of Deis as a key member of the R&D team.

Keerthan returns to the East coast to finish off his master's degree now, but we will keep his desk warm in hopes of a triumphant return. Best of luck, and thanks again Keerthan for showing us what's next and for making the Boulder office fun!

20 Aug 2015 in Deis v1 PaaS, Tutorial, AWS

How I Deployed My First App To Deis

Have you ever felt the pain that comes when your app runs fine on development, but breaks terribly in production? Maybe your CI build has been red for days, but you haven't had time to figure out how the CI server is misconfigured?

With containers, you can easily rid yourself of such dependency woes. If the app runs in a container on one machine, it will most likely run in the same container on another.

Once you've bought into a container-based development workflow, the question soon arises: how can I get my production server to run my application in a container without the difficulty of having to provision a bare server with all of the other services, writing deploy tasks, and handling scaling issues on my own? In short, can I have a managed production environment that also supports containers?

The answer is yes. Using Deis, an open source Platform as a Service, you can host and manage your Docker-based application using your own Amazon Web Services (AWS) servers, without the hassle of configuring a bare Linux server.

I recently deployed a simple Rails app to Deis, and took notes along the way. In this post, I'll share the steps I took to set up a Deis Pro account and deploy a new application.

Read More
14 Aug 2015 in Deis v1 PaaS

Thanks Joshua Anderson!

Everyone involved with Deis extends a heartfelt thank you to Joshua Anderson.

Joshua joined the Engine Yard Deis team this summer as an intern, having already created many features and fixes as an outside contributor. He hit the ground running so fast, we could barely keep up with him.

Joshua refactored deisctl, adding some features and lots of tests. He standardized and beefed up tests throughout the project. The new, faster deis CLI written in go is due to Joshua's diligence, and somehow he also found time to fix bugs and add significant features to deis-controller, write documentation, give us a nifty git commit hook, and propose and start implementing an enhanced permissions scheme. He always asks insightful questions and is fun to work with.

Joshua heads back to school soon, and to say that we will miss him is quite an understatement. Thanks for everything Joshua, and happy trails until we meet again!

6 Aug 2015 in Deis v1 PaaS

Deis v1.10 Community Release Planning Meeting

The Deis open roadmap is influenced by the needs and concerns of our community. To help us plan Deis releases, we invite the community to attend monthly release planning meetings to share with us any issues they'd like to see addressed in the next release.

This week, we held a planning meeting for Deis v1.10. A video of the meeting is on YouTube.

Meetings are coordinated on our mailing list. If you're not already a member of the deis-users mailing list, I'd encourage you to sign up. We have a great community of users who share all sorts of experience running Deis in different environments.

See you at next month's planning meeting!

20 Jul 2015 in Deis v1 PaaS

New Maintainer - Kent Rancourt

Please join us in welcoming Kent Rancourt as a core maintainer of the Deis project!

Kent Rancourt is a software engineer, lifelong martial artist, avid hiker, and self-described comic book nerd. His background is in application development and architecture as well as devops.

Kent lives in Connecticut and will be working remotely. He'll be focusing on production-hardening Deis.

Follow Kent on Twitter: @krancour

15 Jul 2015 in Deis v1 PaaS

Welcome Seth Goings to Team Deis

Seth is a software engineer who has always despised how much time, effort, sweat, and tears are involved in producing high quality software projects. He'd rather spend time running away from snarling Chihuahuas, riding his bicycle off into the sunset, cooking up an all-kitchen-appliances-necessary dinner, or remodeling his house at 3AM than stepping through a testing spreadsheet during "release night." Due to this drive, naturally he'll be working on improving the build, test, and deployment infrastructure within the Deis project.

Seth lives in Colorado and will be working on Deis full time in Engine Yard's Boulder office.

Follow Seth on Twitter: @sethgoings

15 Jul 2015 in Deis v1 PaaS

Welcome Jonathan Chauncey to Team Deis

Jonathan Chauncey is a software engineer, search geek, and general tinkerer of all things. He has built a custom Docker PaaS and understands the problems with running Docker in production.

Jonathan lives in Colorado, and will be hanging out in Engine Yard's Boulder office. He'll be working full-time on a monitoring and telemetry platform for Deis.

Follow Jonathan on Twitter: @jlchauncey

15 Jul 2015 in Deis v1 PaaS

Deis v1.9 Community Release Planning Meeting

The Deis open roadmap is influenced by the needs and concerns of our community. To help us plan Deis releases, we invite the community to attend monthly release planning meetings to share with us any issues they'd like to see addressed in the next release.

Last week, we held the second such meeting, a planning meeting for Deis v1.9. A video of the meeting is on YouTube.

Meetings are coordinated on our mailing list. If you're not already a member of the deis-users mailing list, I'd encourage you to sign up. We have a great community of users who share all sorts of experience running Deis in different environments.

See you at next month's planning meeting!

13 Jul 2015 in Deis v1 PaaS

Deis v1.8 - Optional Ceph

The Deis project is proud to announce v1.8.0, which makes installation of store, database, and logger optional when running external backing stores, adds deisctl ssh and deis auth:regenerate commands, and unleashes Deis onto Linode.

Read More
5 Jun 2015 in Deis v1 PaaS

New Maintainer - Matt Butcher

Please join us in welcoming Matt Butcher as a core maintainer of the Deis project!

Matt Butcher is a software engineer, author, and philosopher. He has worked on cloud services, large-scale websites, and a couple of Internet of Things platforms. He has written dozens of articles and is just finishing his eighth book, Manning Press's "Go in Practice" with Matt Farina. He holds a Ph.D. in philosophy. He really loves coffee. Really. Loves. Coffee.

Matt lives in Colorado, and will be hanging out in Engine Yard's Boulder office. He'll be working full time on Deis.

Follow Matt on Twitter: @technosophos

21 May 2015 in Deis v1 PaaS

The Deis Open Roadmap and Planning Process

Today I'm thrilled to introduce our new Open Roadmap and Planning Process. This ensures every community member can help shape the future of Deis.

As Deis has grown over the last few months, many in the community have looked for ways to influence the roadmap. Until now, this has required submitting GitHub proposals, starting mailing list discussions or chatting with maintainers in IRC. While all of these methods are still valid, we now have a formal planning process that results in a public roadmap.

Starting now, Release Planning Meetings will be held on the first Thursday of every month, aligned with the Release Schedule. Meetings will take place via a public Google Hangout with access coordinated via the #deis channel on Freenode. We look forward to your participation!

12 May 2015 in Deis v1 PaaS

Deis at CoreOS Fest

The first CoreOS Fest was quite the event! A big thanks to the CoreOS team for putting on an impressive first conference.

The speaker lineup was amazing and I was honored to be a part of it. I really enjoyed sharing some of the lessions we've learned building platforms on top of CoreOS. In case you missed it here are the slides.

Looking forward to next year!

14 Apr 2015 in Deis v1 PaaS

Deis, Meet Engine Yard

I am thrilled to announce that Engine Yard has acquired OpDemand, the company behind Deis. By joining forces with Engine Yard, Deis will continue to flourish as an open source project and community. As Engine Yard helps the project to evolve, Deis will remain the best way to deploy and manage distributed applications in production.

Read More
17 Mar 2015 in Deis v1 PaaS

Deis Welcomes External Maintainers

Deis is an incredibly active project on GitHub, with almost 4,000 stars and 600 forks. As activity on the project has increased, so has the workload of the core maintainers, who are tasked with responding to all new issues, fixing bugs, developing features, and helping the community.

In an effort to ensure that Deis continues to grow efficiently, we've asked two of our most active community members to join us as maintainers. We are thrilled to welcome Johannes Würbach and Manuel de Brito Fontes to the project as contributing maintainers!

Manuel and Johannes have both contributed a substantial amount of code to the project, have regularly helped users in IRC and GitHub, and have a great attitude. The project has benefited significantly from their contributions.

For more information on the Deis maintainers and their responsibilities, see the maintainer documentation in the project.

We're also always hiring folks to work on Deis full-time, so please reach out if you're interested!

Read More
16 Mar 2015 in Deis v1 PaaS

Containerized Ceph and Deis

Chris Armstrong talking about containerized Ceph in Deis

Chris Armstrong, Deis team lead, recently spoke at Ceph Day San Francisco on how Deis uses Ceph, including pointers for running Ceph in containers.

Deis is highly available thanks to Ceph, and it was a pleasure having the opportunity to give back to the Ceph community. You can find the slides here.

Read More
3 Mar 2015 in Deis v1 PaaS

Deis v1.4 - Now on Azure

The Deis project is proud to announce v1.4.0, with community-driven support for provisioning on Microsoft Azure, improvements to AWS provisioning, and a scalable Ceph store-gateway.

Read More
25 Feb 2015 in Deis v1 PaaS

Transitioning to Container-based Infrastructure

Gabriel Monroy talking about best practices for transitioning to containers and microservices

Gabriel Monroy, Deis creator, recently spoke at a Costanoa Venture Capital event on "Building at Web Scale" along with Adrian Cockroft (Netflix, Battery Ventures), Nic Benders (New Relic), Ruslan Belkin (RelateIQ) and Diogo Mónica (Docker, Square).

Since Deis was first released, we have helped hundreds of companies transition to container-based infrastructure. We enjoyed sharing some of the best practices we picked up along the way. You can find the slides here.

Read More
2 Feb 2015 in Deis v1 PaaS

Deis v1.3 - Code Quality and Security Enhancements

The Deis project is proud to announce v1.3.0, which includes more ways to debug your cluster, code quality improvements to the controller and security enhancements to the builder.

Important: This release includes a CoreOS update for the CVE-2015-0235 glibc fix. All Deis users are encouraged to upgrade their host machines to CoreOS 522.6.0 or later.

Read More
9 Jan 2015 in Deis v1 PaaS

Deis v1.2 - Happy New Year!

Happy New Year! The Deis project is proud to announce v1.2.0, which includes security fixes for applications, numerous bug fixes, and significant performance and stability improvements for AWS clusters.

Important: This release includes several bug fixes involving app permissions, fixing an issue where users could perform actions on applications without having been granted permission. All Deis users are strongly encouraged to upgrade to this release.

Read More
10 Dec 2014 in Deis v1 PaaS

Take the Deis user survey

Are you running Deis in your environment? Are you not yet running Deis but would like to share your experience with us?

We've created the Deis user survey to better understand how our users are running Deis, and we'd love to hear from you!

26 Nov 2014 in Deis v1 PaaS

Deis at QCon SF

Gabriel Monroy, Deis CTO, speaking about Deis, Mesos and Cluster Schedulers

I'd like to thank Chris Bednarski and the QCon SF organizers for inviting me to speak on the Deploying at Scale track this year.

It was a terrific conference with a highly technical and engaged audience. I had a lot of fun doing a deep dive into cluster schedulers and how Deis arrived at Mesos for deploying containers at scale.

If you missed it, check out the slides for Deis + Mesos: Docker PaaS at Scale.

11 Nov 2014 in Deis v1 PaaS

Deis v1.0 - Production Ready

The Deis project is proud to announce v1.0.0, our first stable release. Deis is now suitable for production workloads. This makes Deis the first production-ready PaaS built from the ground up to leverage Docker.

The 1.0 milestone signifies Deis has a stable API, broad feature set and solid component architecture. The Deis 1.0 feature set includes:

  • Platform Quality - Deis has been battle-tested by the open source community to handle production enterprise workloads
  • Streamlined Installation - Deis can now be installed on a CoreOS cluster in under 30 minutes using a simple command-line utility
  • High Availability - The entire Deis platform is highly-available and can tolerate failure of any host in the cluster
  • Proven Workflows - Deis ships with three deployment workflows: Heroku Buildpacks, Dockerfiles and native Docker Images
  • Comprehensive Documentation - Docs for developers and operators have been expanded, improved and consolidated into a single documentation site
  • Run Anywhere – Deis runs on public cloud, private cloud and bare metal with certified support for Amazon Web Services, Google Compute Engine, Digital Ocean, Rackspace, OpenStack and VMware

We want to thank the extended community of Deis users and contributors, whose willingness to put early versions of Deis into production has allowed us to resolve issues that can only be found when running real-world production workloads. We are grateful for your patience and persistence.

During the past 16 months of development, Deis has incorporated best-of-breed technologies from Docker, CoreOS, Ceph, Heroku and others. We want to thank these projects/vendors and the wonderful people behind them. Your ongoing assistance has been critical to the success of Deis as an open source PaaS.

Read More
27 Oct 2014 in Deis v1 PaaS

Deis Sponsors Dokku

Deis is proud to announce we are now the exclusive sponsor of the Dokku project. OpDemand, the company behind Deis, is now funding the ongoing development of Dokku and its open source components.

Learn More

Read More
23 Sep 2014 in Deis v1 PaaS

Deis v0.12 - More Reliable, Easier to Install

The Deis project is proud to bring you the v0.12.0 release. Deis is now dramatically simpler to install and manage thanks to deisctl. If you have a CoreOS cluster, go get deisctl and run:

$ deisctl install platform && deisctl start platform

Under the hood, Deis now uses the Fleet HTTP API directly, which greatly increases the speed and reliability of container scheduling operations.

Read More
27 Aug 2014 in Deis v1 PaaS

HOWTO: Deploy Deis on EC2

Please note that this blog post is targeted towards Deis v0.11.0. Please read the installation docs on setting up a cluster for the version you wish to run.

I recently deployed https://deis.fishworks.io on EC2, so I thought a blog post on how I configured the cluster may be useful to some users. The process here is mostly to do with EC2, but it can apply to any public/private cloud provider. Alternatively, you can roll your own CoreOS cluster with VMWare, QEMU, or though some other supported platform in their documentation.

Read More
24 Jul 2014 in Deis v1 PaaS

Demo: Deis Pull in Action

Deis now features a Docker-native deployment process that is perfect for CI/CD integrations. Use the deis pull command to import your existing Docker images into your private Deis PaaS. From there, use a Heroku-inspired workflow to manage your application.

23 Jul 2014 in Deis v1 PaaS

Deis v0.10.0 - Beyond Git Push: The Docker Native Workflow

The Deis project is proud to bring you the v0.10.0 release. Deis further improves its Docker-native experience with deis pull, an alternative to git push that imports existing Docker images directly into Deis for deployment. DigitalOcean support is back, we've added VPC and ELB support to Deis on Amazon EC2, and we finally fixed that one bug that was bothering you.

Read More
20 Jun 2014 in Deis v1 PaaS

Deis is Hiring

Want to work full time on Deis, Docker, CoreOS, Mesos and open source?

We are hiring Senior Software Engineers with a deep Linux background and a passion for automation. You'll join a tight-knit team of open source developers in Boulder, Colorado writing Go and working with distributed systems.

Interested? Apply here.

17 Jun 2014 in Deis v1 PaaS

Community Spotlight: Johannes Wurbach

Johannes has been an active member of the Deis community for some time now. He has made contributions around gzip compression, user registration, router network configuration as well as adding Deis support to Travis CI.

Johannes is CTO at SixDoors, a platform to discover and buy products from the best independent retailers. As a growing e-commerce company, Johannes is interested in simplifying day-to-day ops work. While SixDoors started out with Rails on Heroku, they later moved to OpsWorks before switching to Deis.

"Deis was easier to setup, supported running multiple process types out-of-the-box and allowed us to configure our apps via the command-line", says Johannes. "Deis also simplified our infrastructure as we are now fully running on AWS with the ability to run different app types in the same cluster."

From the Deis team, a sincere thank you to Johannes for his ongoing contributions to the Deis community.

13 Jun 2014 in Deis v1 PaaS

Deis at DockerCon

The Deis team had a great time at DockerCon! A big thanks to Docker, Inc. and all of the sponsors for putting on such an amazing first conference.

It was an honor to speak about Deis - Evolution of a Docker PAAS. Thank you to all those that attended. In case you missed it, here are the slides (video to come).

The reception to my talk was more than I could have hoped. I'm sorry I didn't have more time to chat with each of you. Feel free to email me directly.

12 Jun 2014 in Deis v1 PaaS

Swiftly Now! - Taking on the Swift Storage Backend

Earlier this month, I was contacted by Docker's Registry maintainers that they were breaking out the backend storage drivers for the dotcloud/docker-registry project on GitHub. They were asking for volunteers to help maintain the individual storage drivers. Since I was the original contributor who added the Swift backend to the registry, I was more than happy to take it by the horns and start maintaining it. You can find the project on GitHub.

Read More
30 May 2014 in Deis v1 PaaS

Deis 0.9.0 - Dockerfiles, Domains, and HA Routing

The Deis project is excited to announce our v0.9.0 release. We've improved the workflow for both Dockerfile and Procfile projects, added support for custom app domains, and allowed for multiple routers to improve availability.

The Deis controller is now accessible at the hostname "deis" in your cluster's domain at port 80. If you used to connect to http://local.deisapp.com:8000, for example, now use http://deis.local.deisapp.com.

If you are coming from an earlier version of Deis, read the "Upgrading Deis" documentation for details.

Read More
6 May 2014 in Deis v1 PaaS

Deis 0.8.0 - CoreOS Integration

The Deis project is proud to announce our v0.8.0 release. Deis now runs on CoreOS and no longer requires Chef. Apps deploy to clusters of machines using a simpler, faster and more reliable job scheduling interface.

If you are updating from Deis version 0.7.0 or earlier, read the MIGRATING.md document for details.

Read More
21 Apr 2014 in Deis v1 PaaS

docopt-go for it!

go import "github.com/docopt/docopt-go"

Don't write parser code: a good help message already has all the necessary information in it.

That is the philosophy of docopt in a nutshell.

Back during the Stone Age of Deis—almost eight lunar months ago—I was enthused about docopt for Python. Think about what commands and options your tool needs, type them out into docstrings, and you're basically done with the user input and validation side of things.

We Deis maintainers are enthusiastic Gophers as well as Pythoneers. So I'm doubly glad we chose docopt, because the docopt-go package for Go makes porting the deis CLI from Python to Go much easier.

As of today the Deis team is helping maintain the docopt-go project on GitHub. Recent improvements include:

  • go get github.com/docopt/docopt-go now works
  • no os.Exit() if optional parameter exit is false
  • tests run at Travis CI
  • docs hosted at GoDoc.org

I'll be among the Deis project attendees at GopherCon this week, so please ask me about docopt-go!

11 Apr 2014 in Deis v1 PaaS

Deis 0.7.0 - Deployment Resiliency, Contrib Guidelines

The Deis project is happy to announce our v0.7.0 release. This version improves quality and testing for our Chef recipes, allows a Deis admin to disable user registrations, and adds the deis shortcuts command. Deis also has new guidelines to help community members contribute.

Read More
29 Mar 2014 in Deis v1 PaaS

Docker Boulder Drinkup - April 8

Let’s talk Docker over some free European Bier. Come join us at the Bohemian Biergarten for an informal drinkup sponsored by Deis.

The big back room is ours — bring your friends. The Deis core devs will be handing out drink tickets. Come say hi!

Please RSVP here, April 8th at 6pm.

24 Mar 2014 in Deis v1 PaaS

New Maintainer - Chris Armstrong

Please join us in welcoming Chris Armstrong to the Deis project!

Chris is a full-stack gingeneer who has architected SaaS applications, led engineering teams and maintained open-source projects after starting his career as a librarian and door-to-door rock salesman. Chris is also a live music lover, indie game fan, and amateur baker, who dreams of someday opening an all-in-one live music venue/bakery/bar/game store/awesome fun place.

Follow him on Twitter @carmstrong_afk.

24 Mar 2014 in Deis v1 PaaS

Deis 0.6.0 - Simpler, Better

The Deis project is excited to announce our v0.6.0 release. This version simplifies the project layout to be more developer-friendly, unites two related containers into deis/controller, and standardizes unit testing for Deis' own Docker images.

Read More
18 Mar 2014 in Deis v1 PaaS

Deis 0.5.2 - Maintenance Release

We are happy to announce our v0.5.2 release. This maintenance release fixes several issues found by the Deis community and improves the documentation in many areas.

Read More
3 Mar 2014 in Deis v1 PaaS

New Maintainer - Matthew Fisher

We are proud to welcome Matthew Fisher as a new maintainer. Formerly one of our largest external contributors, Matthew is now working on Deis full time!

Matthew has worked in and around PaaS since graduating from the British Columbia Institute of Technology. Most recently, Matthew worked on Stackato, ActiveState's Cloud Foundry platform. Pro-tip: If you're looking to merge code into Deis, Matthew loves cheese.

Follow him on Twitter @bacongobbler.

23 Jan 2014 in Deis v1 PaaS

Want to work on Deis full time?

OpDemand, the creator and maintainer of Deis, is hiring Senior Software Engineers with a deep Linux background and a passion for automation. You’ll join a tight-knit team of open source developers who are helping businesses succeed using cutting-edge technologies like Docker and Linux containers.

As an open source project, Deis is developed in public on GitHub, IRC and mailing lists. Applicants must be comfortable contributing to popular open source projects that enforce high standards for code quality, test coverage and documentation.

Applicants must be comfortable working with the following technologies:

  • Python, Ruby/Chef, Shell & Go
  • Linux (all distros), Docker, LXC, cgroups
  • Amazon Web Services, OpenStack, Vagrant

Engineering responsibilities include:

  • Writing code, tests and documentation for the modules that make up the Deis PaaS
  • Designing and drafting specifications that help guide the future direction of Deis
  • Contributing to adjacent open source projects like Docker, Chef and etcd

Support responsibilities include:

  • Maintaining the Deis project on GitHub by responding to issues and pull requests
  • Handling customer tickets related to installation, training and support
  • Participating in a pager rotation for paying customers

Perks include:

  • Highly competitive compensation
  • Best-in-class Apple equipment
  • Downtown Boulder office
  • Company culture that respects work/life balance

New employees are expected to join the OpDemand team at our Boulder, Colorado headquarters. Relocation assistance is not available.

Think you have what it takes? Apply here!

23 Jan 2014 in Deis v1 PaaS

Docker Boulder Meetup: Using Docker for Build and Test Automation

Want to learn about using Docker for testing and build automation? Come to the next Docker Boulder Meetup on January 29th hosted by OpDemand!

Register here.

We have two 20 min lightning talks scheduled, followed by pizza and beer...

Lightning Talk #1 - Docker at Rally

Aaron Nichols will talk about Rally Software's use of Docker to speed up their Chef test automation

Lightning Talk #2 - Containerizing Buildbot

Matt Boersma will demonstrate how he used Docker's Trusted Builds to containerize OpDemand's Continuous Integration system

Pizza & Beer

Let's eat, drink and talk about containerizing all the things!

15 Jan 2014 in Deis v1 PaaS

Deis 0.4.0 - Rollback and Auditing

The Deis project is glad to announce our v0.4.0 release. This version adds better logging, more detailed release summaries, and the ability to roll back to a previous release.

Read More
31 Dec 2013 in Deis v1 PaaS

Deis 0.3.1 - Fixes and Docs

The Deis project is happy to announce our v0.3.1 release. Usage of Deis has begun to take off, and the user community has been extremely helpful in finding issues and suggesting improvements. This is a maintenance release that implements and fixes nearly everything reported so far. Please keep the feedback coming!

Read More
12 Dec 2013 in Deis v1 PaaS

Deis 0.3.0 - App Sharing and Docker 0.7.1

The Deis project is thrilled to announce our v0.3.0 release. We've added support for team workflows with App sharing, beefed up our documentation for operations folks, developers, and contributors, and tightened up the Deis controller with updated components including the Flynn project's slugbuilder and slugrunner.

Read More
12 Nov 2013 in Deis v1 PaaS

First Thousand GitHub Stars

Last week, the Deis project passed 1,000 GitHub stars. Looking through the list of developers, we are flattered and humbled.

Three months ago we launched Deis with the slogan "Your PaaS, Your Rules" because we thought software teams wanted an application platform they could customize — a platform that appeals to developers, but also to the engineers in charge of operating it. Your response has been overwhelming.

Thank you for all your support. We're just getting started.

11 Nov 2013 in Deis v1 PaaS

Guest Post: Deis on Digital Ocean

We are happy to share this guest blog post by Matt Fisher (@bacongobbler).

...Thanks to new emerging technologies like Configuration Management tools, Platform as a Service layers, and the push for companies to adopt a DevOps approach to their solutions, IT orchestration and application management got a hell of a lot easier. One of these new tools that leverage both containerization and configuration management in their workflow is Deis.

As of commit 1ca8d840f5, DigitalOcean clustering support has been added, so you can have your own mini-Heroku on DigitalOcean! The documentation for getting your own cluster set up on DigitalOcean can be found here. This post will (hopefully!) help give you a basic overview on how easy it is to deploy a cluster on DigitalOcean.

Read the rest on Matt Fisher's blog.

7 Nov 2013 in Deis v1 PaaS

Announcing the Deis Example Apps

Deis is a polyglot application platform (PaaS), meaning that you can deploy practically any language on it. While we currently offer support for Ruby, Python, Node.js, Java, Clojure, Scala, Play, PHP, Perl, Dart and Go, you can really run any language on Deis by using Heroku buildpacks or Chef recipes.

From a developer's standpoint, this presents practically endless opportunities as you are able to deploy apps across public clouds, private clouds and bare metal using the language of your choice.

That said, it can sometimes be challenging for even an advanced programmer to quickly pick up all the requirements of a new platform so that you can get your application up and running in a short amount of time.

To address this problem, we created basic "Hello World" example apps which walk through setting up a local development environment, creating a Deis application, deploying with git push, scaling containers, configuring the app using environment variables as well as basic troubleshooting.

As of today, this documentation is in place for all of our supported languages!

Read More
24 Oct 2013 in Deis v1 PaaS

Deis, DevOps and the Future of Open PaaS

These are exciting times in web and mobile development. Innovations in deployment automation and infrastructure orchestration are coming hard and fast with no sign of slowing. You might say there's never been a better time to be a developer.

Those of us focused on making developers’ lives easier have gravitated toward the "Platform as a Service" model. It turns out you can keep developers happy and productive by providing them an application platform (PaaS) that neatly decouples their applications from the operating system.

Read More
17 Oct 2013 in Deis v1 PaaS

Docker Boulder Meetup

Want to learn about Docker? Want to share what you've done with Docker? Come to the Docker Boulder Kick-off on October 30 hosted by OpDemand! We have two 20 min lightning talks scheduled, followed by pizza and beer.

Lightning Talk #1 - How Does Docker Work?

Gabriel Monroy, Docker committer and creator of the Deis project will explain how Docker works at a high level, including an intro to Containerization.

Lightning Talk #2 - Docker 101

Raul Rangel, maintainer of the Docker Registry cookbook and Software Engineer at Kapost will demo the core Docker workflow.

Pizza & Beer

Let's eat, drink and talk about containerizing all the things!

2 Oct 2013 in Deis v1 PaaS

Deis 0.1.0 - Ready for Dev/Test

The Deis project is proud to announce our v0.1.0 release. This release includes some important new features and puts a number of backwards-incompatible changes behind us. As of today, Deis is now ready for your dev/test environments! In the next month or so, we hope to have Deis ready for use with production applications.

Read More
16 Aug 2013 in Deis v1 PaaS

Command Line Bliss with Docopt

Starting to write the command-line client for the Deis open source PaaS, I was intimidated. I've written many command-line tools, most of them in Python, but the Deis CLI is more of a "swiss army knife" than I had attempted with argparse:

<code>$ deis register http://ec2-198-51-100-36.us-west-2.compute.amazonaws.com
$ deis create --flavor=ec2-eu-west-1
$ deis containers:scale web=4 worker=2
$ deis layers:create redis ec2-eu-west-1 --ssh_username=deisuser
$ deis help releases
Valid commands for releases:

releases:list        list a formation's release history
releases:info        print information about a specific release
releases:rollback    coming soon!

Use `deis help [command]` to learn more

Enter docopt

Docopt transforms conventional Usage text into a formal parser for command-line arguments. Simple as that. For many command- line tools, simply declaring a single Usage string and having docopt parse it can handle everything:

<code>"""Naval Fate.

  naval_fate.py ship new &lt;name&gt;...
  naval_fate.py ship &lt;name&gt; move &lt;x&gt; &lt;y&gt; [--speed=&lt;kn&gt;]
  naval_fate.py mine (set|remove) &lt;x&gt; &lt;y&gt; [--moored | --drifting]
  naval_fate.py (-h | --help)

  -h --help     Show this screen.
  --speed=&lt;kn&gt;  Speed in knots [default: 10].
  --moored      Moored (anchored) mine.
  --drifting    Drifting mine.

from docopt import docopt

if __name__ == '__main__':
    arguments = docopt(__doc__, version='Naval Fate 2.0')

This example Python program will now enforce the command line arguments given in the module's triple-quoted docstring. Arguments are returned as a simple dict, not a custom object. There is no further abstraction, just the declaration of intent.

Double down

Using docopt in this straightforward way covered nearly all our requirements for the Deis client, except for colon-separated "compound" commands that we wanted to phrase this way:

<code>$ deis flavors:delete ec2-eu-west-1
$ deis nodes:list

Here's the strategy @gabrtv came up with:

  • parse the command line using the module docstring
  • transform colons to underscores and expand shortcuts to full commands ("logout" is really "auth:logout," for example)
  • find a client method with the same name as the command
  • re-parse the command line using the method's docstring
  • call the method with the resulting arguments

Deis' approach here has several advantages:

  • Command syntax is the docstring for the relevant method, so there's no mismatch and no searching for definitions
  • Minimal coding required
  • With a bit of care, the same docstrings work well as readable documentation for a tool such as Sphinx

Docopt is a fresh approach to command-line parsing that immediately made us wonder why no one had thought of this before. We use Python, but there are implementations of docopt available for Ruby, JavaScript, and PHP.

Have a look at the single python file that implements the Deis client. I'm not sure how it could be more terse and self-documenting. You may find docopt a good fit for writing your next command-line tool.

6 Aug 2013 in Deis v1 PaaS

Deis 0.0.5 - Public Beta

Ready to deploy your own private PaaS based on Chef, Docker and Heroku Buildpacks? The Deis project is excited to announce our public beta!

What is Deis?

Deis is a Django/Celery API server, Python CLI and set of Chef cookbooks that combine to provide a Heroku-inspired application platform for public and private clouds. Your PaaS. Your Rules.

0.0.5 Summary

  • New http://deis.io website with integrated documentation
  • Sphinx docs including concepts, installation, usage, terms and full API reference
  • Bug fixes found during end-to-end testing
  • Reset of south migrations in preparation for public release
  • Published deis-cookbooks to Chef community site

What's Next?

Enhanced Docker Integration

Deis currently uses Docker as a LXC wrapper for running Buildpack slugs that are bind-mounted into default Buildstep images. We will be adding a new build process that creates and distributes images via Dockerfile builds and a private registry. We will also allow builds to reference existing Docker images by a fully qualified image path.

Log Aggregation

Deis will not be ready for production use until we have a log aggregation solution that provides end-users with a deis logs command. This is critical for troubleshooting app deployment issues. We also need a way to drain logs into tools like Splunk, Logstash, Graylog2, etc.

Admin Commands

Most frameworks require running one-off admin commands to setup databases, inspect settings and offer visibility into the Docker-based runtime environment. We will build a solution that offers a deis run bash capability.

SSL Support

Both the controller and formation proxies require SSL configuration. Right now it's just HTTP with cookies and passwords sent in the clear!

General Security Improvements

We've glossed over some pretty important security features in an effort to get Deis into developers hands sooner rather than later. For example, we need to implement iptables host-level firewalls, improve security group default rules, use Chef recipes to harden systems, etc. If you find any other security holes, please open a GitHub issue and tag it "Security".


Team Support

As of now, only a single user can control or push to a formation. We need to add simple sharing features, which we can then expand upon using finer-grained access controls.

Health Checks

We do not currently monitor nodes or container health -- though we have infrastructure in place to do it.

Cross-provider Formations

We are very close to offering cross-provider formations, where a single app deployment can span multiple zones, regions or even providers -- while being driven by a single git push or deis command.

Service Discovery

We need to make it as easy for ops folks to publish a set of reusable backing services (databases, queues, storage, etc) and allow developers to attach those services to formations. This will be done in a loosely coupled way, following Twelve Factor best practices.

How can you help?

Deis is still in its early stages -- we can use all the help we can get!

  • Star our GitHub repository
  • Help spread the word about @opendeis on Twitter
  • Explore contributing to the Deis project by joining the #deis channel on Freenode

You can learn about other ways to get involved on our website.

1 Aug 2013 in Deis v1 PaaS

Deis On Freenode Irc

Have a question? The #Deis channel on Freenode is where you'll find the Deis core developers. Come join the conversation.

31 Jul 2013 in Deis v1 PaaS

Deis 0.0.4 Video Preview

Check out a short Asciicast of Deis 0.0.4 (2 minutes 27 seconds). This walks through:

  • Using deis create to create a new formation
  • Using deis layers:scale to scale layers of nodes
  • Using git push deployment with a Heroku Buildpack
  • Using deis containers:scale to scale Docker containers
  • Using deis config:set to set environment variables