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
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
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.

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.

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 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 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:
