Why every enterprise needs docker and kubernetes to succeed in 2018

2 May

Peter Drucker famously said: “The purpose of a business is to create a customer.” Thanks to technology advances, today’s entrepreneurs can create customers faster and build stronger relationships with them. All that while delaying or completely forgoing investments in physical infrastructure like brick & mortar stores or branch offices. Digital native businesses can be more intentional about who their target segments are, able to reach them through an array of digital channels, and provide them with much more personalized offerings than during Drucker’s times.

Betting on a digital-first business model has proven to be a very successful approach for a number of industry disruptors who managed to poach large numbers of underserved customers from well established incumbents. It took Dollar Shave Club only three years to gain around 8% of the $3 billion U.S. market for razors and blades by offering a convenient subscription based service. Trunk Club sold itself to Nordstrom’s for $350m after cracking the code on how to digitally serve fashion conscious customers who don’t like to shop; the acquisition happened  after only five years in business and with a meager $12m in venture capital.

Application strategy: “Build” or “Buy”?

Betting on digital capabilities makes a lot of business sense but the question remains: do companies invest in building applications in house or rely on external vendors? Key findings from IDC Webinar on 2017 IT Predictions clearly confirm an increased focus on the former. According to IDC’s Frank Gens, “By 2018, enterprises pursuing Digital Transformation strategies will expand their developer teams by 2-3x”. Goldman Sachs already employs more than 10,000 engineers as they see technology as a competitive advantage. “Technology has remained a core competency for Goldman Sachs. Technology engineers make up roughly one-third of our workforce.

While Goldman Sachs may resemble Facebook and Google with their laser-sharp focus on in-house software development, most companies don’t innovate at Google and Facebook pace and may struggle to build large teams of developers and IT Ops. But the pressure to bring application development back in house is not going away as Gartner predicts, by 2020, 75 percent of application purchases supporting digital business will be “build,” not “buy”.

Digital Transformation

Digital Transformation

What can enterprises do to accelerate their digital transformation journey and optimize their technology investments?

Engineers = executives for the digital age

First, companies should consider adding more technology savvy leaders to their C-suites. This trend is already on the rise and IDC predicts that “by 2021, one third of CEOs and COOs of G2000 companies will have spent at least five years in a tech leadership role.” A CEO who oversaw large technology transformations before becoming commander in chief, will have the right expertise to turn a technology investment into a business outcome. Not surprisingly, 24 of the world top 100 best performing CEOs have an engineering degree. One of the best known engineers-gone-CEO is Ursula Burns, former CEO of Xerox. “I moved from engineering to business but the difference is not a difference at all. The synergy between the two is amazing” says Burns, who joined Xerox in 1980 as a mechanical engineering summer intern.” Her engineering background translated very well into the C-suite. “This discipline and idea that getting good minds together of all different types and from all different backgrounds to attack a problem is something that engineers are unbelievably good at.

Ursula Burns, former CEO of Xerox; Image source: http://thesource.com/wp-content/uploads/2016/03/ursulaburns16x9.jpg

Ursula Burns, former CEO of Xerox

Digital leaders drive 5x more revenue than industry average

Second, it’s important to “begin with the end in mind” and quantify the forecasted business impact of technology leadership early on, before the first dollar is spent on additional IT solutions. Moreover, the phase of planning and budgeting for transformation needs to take a holistic approach and consider not only substantial technology investments but also investments in the organizational capabilities to embrace digital in the company culture, design adequate change management process and uncompromisingly deal with legacy systems. Transformations of this scale are not easy but the benefits can be huge: McKinsey estimates that B2B digital leaders drive five times more revenue growth than their peers.

 

McK 3.png

Building enterprise software has never been easier

Finally, enterprises do not have to start their software projects from scratch. Technologies like docker and kubernetes can simplify and automate many activities in the workflow, such as application development, CI/CD, container infrastructure setup, network instrumentation, database connectivity, governance processes and security.

In particular, docker allows your code to work across different environments, eliminating the risk that small configuration discrepancies between Dev, Test and Production environments will break your application. But how? Let’s explore how docker and containerization make applications more portable.

First, container-ize your application with docker

A docker image simplifies the distribution of an application by bundling it with the appropriate runtime environment and libraries needed to make it work. At runtime, the containers are isolated in their individual sandboxes so that e.g. different Python or Java versions don’t conflict with each other. Thanks to isolation, you also decompose your application into multiple microservices that over time can end up running different version of runtimes, using different libraries or requiring different packages. IT operations and developers can easily manage the application as self-contained units on the host operating system. Docker also provides an easy way to produce repeatable deployments of applications because the entire process can be automated.

docker

Now that you know the benefits of running application in docker containers, you may be asking yourself a few questions:

  • How do I run and orchestrate containers on the available infrastructure?
  • How do I scale or update containerized applications?
  • What about container health monitoring and connectivity?
  • Can I run my older Java monoliths alongside new and shiny microservices that may be written in more contemporarily hip programming languages like Go or Node.js?

Kubernetes is the answer to all these questions.

Second, orchestrate your containers with kubernetes

Kubernetes lets you keep your developer hat on at all times, as it gives you simple objects that represent what you need to do with applications, and you connect those simple objects together with straightforward commands and tools.

Kubernetes

Kubernetes also provides service discovery, networking and self-healing. For example, if your application is an e-commerce website, and the container hosting that website fails for some reason, kubernetes will replace it by another one, and will redirect the traffic to the new container immediately.

Application development has never been as productive as with these modern platforms automating many programmer’s pains away.

Today’s companies looking to double down their technology investments to achieve competitive advantage should start with enterprise-grade turnkey-solutions that provide full-stack application creation environment with a rich ecosystem of monitoring, logging and auditing tools.

Check out Google Kubernetes Engine (GKE) for an example of a full-stack solution to develop and manage containerized applications at scale.

With docker and kubernetes,  you do not have to build your software from scratch but you gain a powerful assembly line.

Assembly Line: Image sources: http://www.techlicious.com/images/family/child-building-a-lego-set-construction-shutterstock-510px.jpg https://www.flickr.com/photos/legoloverman/4779822382

Assembly Line for Enterprise Applications

To learn more about Kubernetes, attend KubeCon (May 2-4, Copenhagen, Denmark) or Google Next (July 24-26, San Francisco, USA) or read this great book:

Kubernetes Up & Running https://amzn.to/2HX9aLy

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

%d bloggers like this: