Plotting a Container-Centric Future. Part One

Plotting a Container-Centric Future. Part One

Containers are unlocking new and innovative ways of developing and running software. With containerisation, the potential of hybrid cloud computing is finally becoming a reality. The evolution of containers is much akin to that of Virtual Machines (VMs) 15-years ago – eyed with suspicion in the early days but are now a de facto part of every IT infrastructure. Likewise, containers are becoming the default plan for organisations in all sectors and of all shapes and sizes.

Why? For those not yet familiar, containers are lightweight, portable, virtualised, software-defined environments. Their growing popularity is due to the fact they facilitate modularity, portability and simplicity when provisioning virtual infrastructure. They represent, in many ways, a step-change in how IT functions deliver applications; reduced boot times, improved resource utilisation and a lack of infrastructure dependencies facilitating swift deployment and iterative development and test cycles.

ECS Digital’s approach to containers is simple; it’s all about choice. Tooling agnostic – everything from cloud solutions to automation and edge – we’re led by the needs of our customers. Whilst there are many commercial container distributions available today, we choose to work with two main partners; Docker and Kubernetes (specifically, Rancher). Naturally, many organisations have a few requirements when selecting a platform to host their applications. By far the most common one is the desire to attain and retain agility by not being locked into a particular offering that prevents easy migration to other cloud platforms. In reality, this means selecting a platform based on Kubernetes, as this has been proven to be the standard by which other orchestrators are judged.

In this three-part series, we will take a look at the features of Rancher, highlight those that other container orchestration management tools don’t offer out of the box, and help you find the perfect deployment partner. Let’s start with Rancher’s pivotal features…

Rancher – Extra rBACtteries Included

Rancher is widely regarded as the #1 choice for running enterprise-scale containers and Kubernetes in production. It’s the only distro that can manage all Kubernetes clusters on all Clouds. It also accelerates the adoption of open source Kubernetes while complying with corporate security and availability standards.

100% Open Source

All Rancher products are 100% open source and free to use. Rancher deploys upstream, open-source Kubernetes, so the latest features in each Kubernetes release are always available for users. Rancher has also successfully shaped Kubernetes into an enterprise offering by putting security first and making it easy for businesses to control and interact with all of their clusters from a single interface.

No Vendor Lock-In

Rancher remains agnostic about which provider to use. It gives you, the user, the freedom to quickly deploy Kubernetes anywhere, with the configuration that you want. It also abstracts vendor differences so that users can interact with each cluster in the same way. Rancher makes it possible to run multiple clusters whilst enabling you to manage each cluster independently. And if you ever decide to stop using Rancher, you can quickly and cleanly uninstall the platform as if it was never there.

Multi-Cluster Management

Rancher was built to manage Kubernetes everywhere it runs. It can easily deploy new clusters from scratch, launch EKS, GKE and AKS clusters, or even import existing Kubernetes clusters. This month, Rancher went as far as to launch RIO, a MicroPaaS that can be layered on any standard Kubernetes cluster. And the best part? It’s free! Try it out for yourself today.

In short, Rancher is a complete container management platform, with a few added bells and whistles to make using the tool both practical and able to integrate with other applications. This ease of use makes Rancher an ideal partner for businesses scaling change initiatives using containerisation technology. And we should know. After a 14-month engagement with an industry-leading asset tracking client, ECS Digital has been instrumental in delivering and operating globally deployed container applications on Rancher that will revolutionise the industry.

In part two of the series, we’ll explore what you should look for in a partner, and how choosing the right partner can help drive a successful transformation for you and your business.

——–

About the Author:

Morgan Atkins is the container technology lead at ECS Digital and is one of the leading consultants for containerised applications in the UK. Not only is Morgan a certified Docker trainer and consultant, but he also takes great pride working alongside and upskilling customers in the adoption of container products such as Rancher, Docker and Kubernetes.

About ECS Digital

ECS Digital is a leading DevOps and Digital Transformation consultancy based in London, Singapore and Edinburgh. Being deeply embedded in the world of DevOps and the tooling that this movement is driving, ECS Digital is proud to partner with the leading software vendors in this space, including Rancher, Docker, CloudBees, Aqua, Sonatype, HashiCorp, New Relic and ServiceNow.

Want to adopt Rancher in your business? Talk to the team today about how you can get started.

Morgan AtkinsPlotting a Container-Centric Future. Part One
read more
It’s here, Docker Enterprise 3.0 – Build, Ship, Share, Run

It’s here, Docker Enterprise 3.0 – Build, Ship, Share, Run

DockerCon US 2019 has come and gone for another year! But despair not fellow Docker fans, Docker has left us with a meaty and fairly comprehensive list of announcements for us to chomp on, until DockerCon EU at least, if it decides to go ahead…

Now, before we start imagining a world without DockerCon EU, let us work our way through some of the notable key announcements from this year in San Francisco!

For anyone who has been living under a rock or drinking far too much open source Kool-Aid, Docker Enterprise is an end-to-end container-as-a-service (CaaS) platfor. Since its launch in 2017, it has been a one stop shop for public, private or hybrid cloud container management for both Linux and Windows.

At DockerCon 2019, Docker Inc released the next major iteration of the public beta: Docker Enterprise 3.0! Part of this release was the following three areas of note, namely Docker Desktop Enterprise, Docker Apps + CNAB and DKS. Let’s take a look at these in more detail:

Docker Desktop Enterprise

As the name suggests, Docker Desktop Enterprise (DDE) is a new developer tool that extends the Docker Enterprise Platform to developers’ desktops. Not only does this improve developer productivity, it accelerates time-to-market for new applications too.

DDE sounds a lot like “Docker for [Mac/Windows] 2.0”. And in some ways it’s a very similar tool, except for some extra enterprise features, more uniformed UI and some much needed yard rails. The addition of DDE will help stabilise adoption and allow unskilled engineers to leverage Docker in their workflow in a more meaningful way.

DDE also provides a secure way to configure, deploy and manage developer environments while enforcing safe development standards that align to corporate policies and practices. IT teams and application architects can present developers with application templates designed specifically for their team, to bootstrap and standardise the development process and provide a consistent environment all the way to production.

Docker Application + CNAB

Docker Applications is a stroke of genius from the product team at Docker. This simple application allows you to create an application for predefined components, adding more guard rails to help accelerate adoption and enable more and more people to use and enjoy Docker!

This is a new set of tooling that enables end-to-end application consistency and scalability from developers to operators. It allows users to manage complex applications as simply as individual containers, with tools to build, push, and deploy multi-container applications as self-contained objects. Tools such as:

Docker Application is based on CNAB – a joint collaboration of Docker, Microsoft, Bitnami, HashiCorp and CodeFresh. Docker Application Templates make sharing and standardisation of applications simpler and more scalable by creating templates for applications and their deployment parameters. In addition to creating and sharing, docker app easily generate Dockerfiles and the associated files for common application frameworks without expert Docker knowledge and enables development to get up to speed faster by letting developers focus on their business logic.

Docker Kubernetes Service (DKS)

This will make Kubernetes easier, more secure, and more accessible to the entire organisation.

DKS is compatible with Kubernetes YAML, Helm charts, and the Docker Compose tool for creating multi-container applications. It also provides an automated way to install and configure Kubernetes applications across hybrid and multi-cloud deployments. Other capabilities include security, access control, and lifecycle management. Docker Enterprise customers also can use Docker Swarm to orchestrate Docker containers.

It’s still a little unclear about what DKS is. Whilst it could be the answer to AWS’ EKS or Azure’s AKS, it honestly just sounds like a new and cooler name for Docker EE – as we all should know Docker EE has supported both Swarm and Kubernetes since 2017 and therefore has had a Kubernetes service Out of the Box. If this is true, it seems that Docker is trying to appeal to a wider audience through the descriptions and capabilities of its new tools.

Concluding thoughts

So, that’s it for another year! For more about the DockerCon San Francisco 2019, Docker have written a great wrap up blog, including all the key note live streams videos for you to watch at your leisure. Enjoy!

Morgan AtkinsIt’s here, Docker Enterprise 3.0 – Build, Ship, Share, Run
read more
Opening the Windows on Kubernetes 1.14

Opening the Windows on Kubernetes 1.14

Those of us who have been working in the DevOps industry for a while will be well versed in the Windows conundrum but for the sake of clarity here is an example of what it is and the problem that it poses. Let’s take a CTO within an enterprise organisation – someone in charge of a complex estate of business applications. This estate might include numerous Linux-based applications or in some cases hundreds of legacy windows-based applications. This CTO is already a containerisation convert and is bought into the benefits of added portability, security and agility, and like many organisations in the industry, he recognises Kubernetes as the standard for container orchestration. However, up until now, container orchestration for Windows applications has been limited – and this limitation has caused conflict between the need to run Windows containers in Productions and the largely agreed best practice approach of using Kubernetes.

To those less embedded in the DevOps world, this might sound like an implementation detail to be overcome by the ‘DevOps engineer’ (usually sat in a darken room), but it has a real impact on the business because of the time, resource and cost involved in solving it. To get the real benefits from a containerisation approach you need to have a unified strategy that works across your entire technology suite. Having to manage different approaches and different processes reduces the beneficial impact. Thankfully the coming together of Docker, Kubernetes and Microsoft has at last provided a solution to the problem with the launch of Kubernetes 1.14 (https://kubernetes.io/blog/2019/03/25/kubernetes-1-14-release-announcement/).

Of course, Docker has had a solution to the Windows Containers problem for a while, with a well-established and well-tested security model in the form of Docker Enterprise using Swarm orchestration. However, the rise of Kubernetes (it is increasingly the first choice among container users, with Datadog reporting its use increasing from 22.5 percent in October 2017 to 32.5 percent in October 2018) has meant that Docker had two choices. It could either continue to try and push users towards its own container orchestration solutions or it could take a more collaborative approach and embrace the fact that Kubernetes has become accepted as best of breed in this space. Thankfully for those at the sharp end of implementing containerisation strategies, they seem to have decided on the latter.

You really have to give kudos to Docker for this. It has understood the needs of its community and given it what it needs – a route to a single strategy across both Linux and Windows applications. It also means a big step forward in the move towards serverless environments.

The people who are going to feel the benefits of this most acutely (at least in the short term) are the applications teams. These are the folks at the coal face of implementing a containerisation strategy that is part of a wider IT transformation designed to speed up delivery and reduce complexity. They may also sit below a strategy team who all too often have selective blindness when it comes to looking at the technology stack and seem not to be able to see the Windows elements. It therefore falls to the men and women on the ground to deliver a series of benefits that have been sold in further up the chain based on a view of the application environment that is not entirely accurate.

So, if I am a head of architecture what can I take from the launch of Kubernetes 1.14?

Firstly – if you have been hesitant about moving forward with a containerisation approach because of the complexity of your applications environment, you now have a solution that will work across the entire environment. Not only does it mean a single control plane across different platforms and orchestrations, the UCP GUI (rather than script) means operation is simplified which will increase RUN team use.

Secondly, you can relax in the knowledge that finding yourself the right skillsets to get your containerisation strategy underway is going to be just that little bit easier!

Here’s how ECS Digital can help you use Docker:

There are significant benefits to containerisation, including portability, improved security and increased infrastructure efficiency. ECS Digital is a leading Docker Certified Delivery Partner and can help you use and extend the Docker Container platform.

Docker Modernising Traditional Applications

ECS Digital has the knowledge and experience to bring the benefits of containerisation to your more traditional applications. Working with Docker customers across EMEA, we undertake MTA Modernising Traditional Applications engagements, taking a traditional application into containers to realise the value of Docker in just five days with a turnkey program.

  • 1-week onsite support / 3 weeks remote
  • Deploy Docker EE to cloud or on-prem infrastructure
  • Containerise an existing application
  • End-to-end app deploy using Docker EE
  • App operations using Docker EE

Official Docker Training

As well as Docker Authorised Consulting Partners, ECS Digital is also a Docker Authorised Training Partners offering a range of official Docker training courses for all skills levels.

Enablement PodsTM 

ECS Digital’s Container Enablement PodsTM are an outcome-focused solution that deliver the capability you need, when you need it. Each Enablement PodTM starts with a Sprint Zero in order to establish a backlog of target outcomes with measurable KPIs and the resource.

Our Enablement PodTM approach has been massively successful in delivering large scale digital transformation projects in some of the UKs largest retail and commercial banks, as well as news publishers and international energy providers. Click hereto find out more about how our Enablement PodsTM work.

Here at ECS Digital we’re always happy to talk about how what we do can help benefit you and your business. If you’re interested in finding out how we can help, please do get in touch.

*Kubernetes 1.14 is available for download on GitHub.

Image credit: Photo by Joseph Barrientos on Unsplash

Morgan AtkinsOpening the Windows on Kubernetes 1.14
read more
DevOps Playground Meetup #7: Hands on with Kubernetes

DevOps Playground Meetup #7: Hands on with Kubernetes

Our 7th DevOps Playground focused on Kubernetes: an open-source platform for automating deployment, scaling, and operating application containers across a cluster.

On Thursday 29th September, we once again hosted our well-loved DevOps Playground. At these events, we provide the opportunity for anyone to explore and use the newest and most popular technology the industry has to offer.

Last Thursday was one of our biggest turnouts. We had 20+ awesome practitioners turn up for their chance to get some hand on experience with Google’s Kubernetes (and the obligatory pizza and beer!)

Content for the evening was designed and created by our very own Mourad Trabelsi with myself and other ECS Digital guys supporting the event (drinking the beer and eating the pizza).

Why did we choose Kubernetes?

As an Automation house and DevOps heavy weight, we know the importance of microservice architecture and containerization.

A number of large clients have scaling issues – not routed in their ability to produce scalable products – but in their ability to manage massively complex estates with thousands (sometimes millions) of moving parts.

Tools such as Docker can struggle to schedule and manage tasks across multiple nodes in your cluster, and really work best when you’re able to manually manipulate and configure on a single host.

This is why we often need to bring other players into the mix.

Kubernetes, commonly referred to as “k8s”, is an open-source container cluster manager, originally designed by Google and donated to the Cloud Native Computing Foundation. It is both a powerful and free tool.

It aims to provide a “platform for automating deployment, scaling, and operations of application containers across clusters of hosts“, providing container-centric infrastructure. It enables better control over your container ecosystem.

Hands on with Kubernetes

We began the evening by generating an AWS instance for each of the attendees to build their clusters within. We provide credentials to access a sandboxed area of our own development Amazon account, so that our attendees can get down to the good stuff and not waste time on loading screens (an inevitability when we all have different laptops running different operating systems and configuration).

We deployed containers, duplicated them, introduced a load balance in front of them and performed a rolling update on all of the created containers.

We used two versions of the same nginx Docker container (nginx:1.10, nginx:1.11.4) to represent a periodic update that happens regularly, in the real world.

Kubernetes.png

 

If you missed the playground, our toys are still available to access on GitHub.

Thanks to everyone who came along. We always enjoy sharing our knowledge, pizza and beer! We hope everyone had a great time and learned something new.

As always, we’d love to hear any ideas and suggestions you might have for our next event. 

Join us on MeetUp

Morgan AtkinsDevOps Playground Meetup #7: Hands on with Kubernetes
read more