Free eBook – Managing Kubernetes Performance at Scale

I’m super proud to share that my team has worked with O’Reilly to create a great little ebook that you can download for free (yay!!).  Eva Tuczai, who works on our Advanced Engineering team working with large-scale production container deployments at some of the most complex and interesting environments.  Asena Hertz works with me on the Marketing team leading our container and cloud-native work with Product Marketing and working directly with customers and engineers to advance the intelligent, performant, and successful adoption of Kubernetes and containerized platforms.

You’re just a click away from downloading the free ebook and I highly encourage you to read up on how to think and architect for at-scale deployments BEFORE they scale!  This is a must read for any virtualization or containerization engineer.  If you have any questions or want to dig further into this and other Kubernetes topic, please do leave a comment on the post and I’m happy to jump in to help out in any way I can.

Big thanks to Eva, Asena, and my entire team for putting this together.  If you’re going to Kubecon in spring 2019 then you will be able to get a print copy at the Turbonomic booth so make sure you keep watching the website for event updates.

Download the free book today here: https://turbonomic.com/kubernetes-at-scale or by clicking on the image above.  Thanks for supporting the open source movement!




Platform9 Announces General Availability of Managed Kubernetes and Fission Project!

Since the launch of the company, which I was pleased to be able to cover a lot of exciting changes and growth with Platform9 over the last couple of years. What began as the OpenStack-as-a-Service focus has expanded to embrace both feature additions within the OpenStack offering as well as the addition of Docker and Kubernetes management.

Platform9 Announces General Availability of Managed Kubernetes

Kubernetes is gaining momentum in a way that has been unseen since Docker stormed onto the containerization scene in recent years. From much of what I’ve seen in the market and among customers and community members investigating container orchestration, Kubernetes has emerged as the de facto standard from what it seems at this point.

So, what does Platform9 bring to the table with managed Kubernetes? This is the ideal merger of bringing the k8s platform to an organization without the pain and overhead to manage:

  • complexity of architecting the infrastructure
  • operational overhead and engineering for resiliency
  • operational processes to maintain and upgrade the k8s control plane
  • risk of embracing the k8s platform

In the same way that Platform9 has simplified and delivered OpenStack using a SaaS model, we are seeing the same opportunity arise for folks to put container orchestration into their IT portfolio. The candidates who have been actively using the beta program for managed Kubernetes were a combination of both traditional virtualization shops, and more forward leaning container and cloud friendly organizations.

Having taken a few test drives with alternative products like the Amazon Elastic Container Service (ECS), I can easily see the attractiveness of Kubernetes, and even more so with a managed service approach. ECS gives the option for containerized workloads on your AWS environment, but it also means:

  • IAM integration that can be challenging (or poorly implemented)
  • proprietary nature of the container lifecycle on ECS
  • “lock-in” which is a result of the proprietary stack and workflows
  • one-destination for your infrastructure (build on ECS…for ECS)

Container and cloud friendly organizations are already embracing the value of automation, and will be likely to also have many more open technologies as a part of their IT portfolio.

The full details on the new offering are available here at the Platform9 website.

Platform9 Announces the Fission Project

The Serverless phase of infrastructure is becoming one that is getting a lot of attention. Many push back on the importance of it mostly out of the fear that it is only going to be available as a cloud-based service, or that running the infrastructure requires a lot of care and feeding which may offset the benefits in some ways.

What if we just want to run code, and not have to worry about all of the tooling underneath the covers? With K8s already on board, there is now an excellent option to provide Functions-as-a-Service (FaaS), or what we know as Serverless infrastructure, using Fission for Kubernetes.

When you installed Docker the first time and typed “docker run”, you saw a little magic happening. We call that the “Aha! moment” where you realize that this is something very cool that is also only the beginning of the possibility for it. Kubernetes takes a lot more care and feeding to get to that point, but once you’re there you are going to realize how easy it is to consume as an abstraction layer above the infrastructure.

Now that Kubernetes is under the covers, you can also add Fission into the mix and bring another very interesting open source platform into your arsenal of tools.

The challenges being solved by Fission include:

  • moving to code-only deployments for development
  • Lambda-like functionality on-premises or wherever you have k8s running
  • Bring Your Own REST functions capability

Because this is open source, we are already seeing innovation leading up to the official launch. Python and Node.js were built in as out of the box languages to be supported, and soon after the publishing of the project to GitHub there was a Pull Request to add C# support when running .NET core. That, my friends, is the power of community!

The full details on the Fission project are available at the Platform9 site and we can look forward to lots of activity in this area in the coming months if my predictions are correct. I sure know that I’ll be digging into it myself!

Thanks to Sirish Raghuram for the briefing on the announcement, and congratulations to the Platform9 team on this very cool release.

Keep watching here as we take a deep-dive into the managed Kubernetes offering over the next couple of weeks.




Installing and Using Docker Toolbox for Mac OSX and Windows

One of the most compelling reasons to run Docker on your local machine is the speed at which you can deploy and build lab environments. As a huge fan of Vagrant, I love the ability to spin up environments such as the sandbox labs I’ve been using for a long time with Vagrant and VirtualBox.

Switching to Docker as an option for many of my quick labs has also meant the same ability to run as an abstraction on top of my laptop so that I don’t end up in dependency hell with development libraries and underlying infrastructure needs that quickly begin to conflict as I do more testing and development.

Installing Docker Toolbox on Mac OSX or Windows

The best way to get started is to run the Docker Toolbox platform which deploys a Docker environment with popular and important Docker tools including:

  • docker-engine
  • docker-compose
  • docker-machine
  • Kitematic

Navigate over to https://www.docker.com/products/docker-toolbox to get your appropriate version:

Rather than document the steps on a continuously changing set of screens, I recommend that you follow the installation process with the tools you desire using the guides provided by Docker here: https://docs.docker.com/toolbox/overview/

Once you’re installed, you can kick the tires on Docker using your first Docker Hello World test container using the docker run hello-world command:

You can see that the container image was not local, so a download process started and then the container was launched. As long as you see the results like above, you’re in business!

We will be using this as a baseline for a lot of other examples in the blog. As usual, this is meant to emulate a basic Docker configuration and does not really reflect a multi-node deployment with overlay networking. The goal is to be able to quickly and easily launch containers using Docker Engine for a number of admin tasks that can replace what we may have been doing inside dedicated workstations or sandbox virtual machines in the past.




How Kubernetes and Mesos are Solving the future of abstraction – Part 1 of 3

Since the dawn of computing, we have seen some incredible advancements. There have been numerous inflection points along the way. The most significant shift in many years was led be a little startup led by Diane Greene. You may know them as VMware.

I can’t tell you when the data center operating system tagline was first published, but you can see now that VMware is fighting towards trying to be the everything system which will hold the reins as a dominant force in enterprise computing.

Then the next shift happened.

Enter Containers

Containers seemed to solve an issue that the virtualization platforms and virtual machine architecture couldn’t solve. Speed of delivery was now shortened to seconds instead of minutes/hours. Along with the agility and speed came the realization of a better abstraction which enabled a true every-infrastructure capability. It didn’t come without complexity.

The container construct has solved some very specific problems that were challenges in a traditional VM architecture. We have effectively come close to solving the fundamentals needed to see the more pragmatic technology adopters start to lean into containerization.

The problem comes with scheduling, visualization, security, and networking. These issues are handled in a number of ways. Two products that are leading the charge are Kubernetes and Mesos.

The Container Scheduler Wars Begin

Wars are decided, not by who outright wins, but by who loses more slowly. It can be a glacial speed event that becomes a massively prolonged push to find the leader and followers in the product podium battle.

Kubernetes is inevitably being groomed as the gold medalist in this war. Mesos solves similar challenges, in a slightly different way. In my opinion, it’s like arguing over whether a 4-pronged fork is better than a 5-pronged fork. They both solve the same fundamental issue in slightly different ways.

What is it that Kubernetes and Mesos solve? The final realization of a true data center operating system. A common model by which you can abstract infrastructure which spans on-premises and public infrastructure. Is it too good to be true? It’s still early to tell what challenges are being introduced that will be most easily surpassed to get to the more simple to consume data center OS.

The Players in the DCOS Game

There are many projects, products, and companies who are leading the charge towards the hope of becoming the de facto standard in the ultimate data center operating system. The two mentioned in the title are clearly leading the news and the number of active downloads.

There is no doubt that Kubernetes holds the title of leader at the moment. It’s the core of many other products that are aiming to become the platforms of today and tomorrow. Don’t get confused (as I sometimes do) when we talk about Mesos and DC/OS. Having had a great chat recently on the DC/OS, I am careful to differentiate between DC/OS which uses Mesos, which is different form Mesos as a standalone core, and also not the same as Mesosphere, who happens to be the largest contributor to DC/OS.

The notable absence of Docker Swarm in this article was also on purpose. Docker Swarm is much more of a purpose-built product that is aligned with Docker the product, but more importantly, Docker the company. Many folks in the industry have chosen Docker as the container ecosystem to bet on. Kubernetes and Mesos are positioned to leave flexibility for all, which is there real reason that I’m aligning my own work to these two for the time being.

The OpenShift product suite is very interesting, and also uses Kubernetes under the covers. VMware has taken a different direction with the creation of their Photon products. Photon is also being open sourced for the most part, with some proprietary bits being held close to the chest when it comes to the integration with the vSphere products.

Thoughts on What’s Next

Kubernetes will be the larger player. Despite being second to market behind Mesos, it was created as a result of learnings from the Borg and Omega infrastructure running inside the Google data centers for 10 years before it was spawned and thrust out into the open. I believe that Mesos is powerful, but will lag behind in the same way that LXC and Rocket will trail Docker for now.

If you were to spend your effort investigating a platform, Kubernetes is my pick for your first, and then we can spin up Mesos next to see how they compare architecturally, As you can see from the title of the post, that is exactly where we are going with parts two and three!