20 Sep 2016 in Kubernetes, adoption, business

Approaching Kubernetes Adoption in Your Organization

Kubernetes is great. I know that and you know that. But if you're not using it in your organization yet, how do you convince your colleagues? How do you convince the business?

One of the ways you can improve your chances is by borrowing from the study of user experience. And when it comes to Kubernetes adoption, the user is not just one person or team. It's more far reaching, as I'll explain.

User experience (UX) is a fascinating part of software development. In many ways, it is the art behind the science. It has to accommodate a whole range of different human beings, with varying experiences, knowledge, and needs.

When you think of Kubernetes, it's natural to think of the UX as the way you interact with the cluster itself. As an engineer, this makes perfect sense. But what about other parts of your organization, including those completely outside of engineering? How does the platform you run your business on affect them?

To get Kubernetes into production, you have to understand who your customers (i.e. users) are inside the company and get them on board. And doing so will require careful planning and thoughtful consideration that puts people first, processes second, and tools last—even though that might seem counterintuitive.

In this post, I will look at how technology adoption works in practice, and how to improve your chances of success introducing Kubernetes to your organization.

Read More
14 Sep 2016 in Video, CloudNative Day

CloudNative Day Videos, Part One

The Cloud Native Computing Foundation (CNCF) is a multi-vendor initiative to standardise a common set of cloud technologies.

Last month, the CNCF put on CloudNative Day to bring together leading contributors in cloud native applications and computing, containers, microservices, central orchestration processing, and related projects.

To quote their event page:

[Being] cloud native requires a broad set of components to work together and an architecture that departs from traditional enterprise application design. This is a very complicated, fragmented process and the Cloud Native Computing Foundation aims to help make it simpler to assemble these moving parts by driving alignment among technologies and platforms.

As sponsor of the videos, we're proud to share them with you on our blog. In this post, we'll share the first seven talks. In part two, we'll share the rest.

Read More
12 Sep 2016 in Docker, DAB, Kubernetes, Kompose

Push a Docker DAB to a Kubernetes Cluster in Two Commands!

Docker Distributed Application Bundles (DABs) are "an experimental open file format for bundling up all the artifacts required to ship and deploy multi-container apps." DABs contain a complete description of all the services required to run an application, along with details about which images to use, ports to expose, and networks used to link services.

A little over a month ago, I wrote about DABs and outlined how they can be used with multi-tier apps to develop locally with Docker Compose and then bundled for deployment to a Docker Swarm cluster.

In this post, I will expand on my previous post and show how DABs can be used to make an artifact that is deployable on a Kubernetes cluster.

Why? Because by doing this we can take advantage of the awesome develop experience that the Docker tools provide to deploy artifacts to a production-ready Kubernetes cluster without needing a whole bunch of Kubernetes experience. Win win.

Note: DAB files are still experimental as of Docker 1.12.

Read More
9 Sep 2016 in Kubernetes, logging, Sumo Logic, Logentries

Off-Cluster Kubernetes Logging With Sumo Logic and Logentries

One of the best parts of my job as a solutions architect for Deis is working with an amazing array of talented engineers at companies solving truly interesting problems.

I was recently working with a company on the forefront of wearable fitness trackers. Their modest but world-class engineering team had reached the outer limits of what could be done with Ansible-based Docker deployments in AWS.

While everything worked, there were areas of API entanglement, and a lack of orchestration that created duplicated effort and an inefficient use of EC2 resources. The company is clearly on a rocketship growth trajectory, so scaling and efficient systems management are forefront on everyone's mind.

Fortunately, they also recognized that the time to pivot to more efficient and scalable architecture is while they're still in an early growth phase.

Kubernetes provides the perfect fit for their use-case because it allows a more atomic service distribution, scaling, and painless service discovery. Also, when the infrastructure below the cluster is configured with autoscaling, rapid growth should be no problem.

In this blog post, I'll take a look at one aspect of the work I did with them: how I got logs shipped off-cluster to Sumo Logic. I will also draw a link to some work I did for another company to send logs to Logentries.

Read More