Cloud Native Open Microservice Platform

Why it matters: Part 1

Full Stack Society
5 min readAug 7, 2016

Init

The aim of this multi-part write-up is to document the development of a cloud native platform for operating Microservices, leveraging open architecture technologies like Kubernetes, Prometheus, Spinnaker and Golang.

This initiative was conceived in spirit outlined by miles ward in his blog post on Open Architecture. Though spirit can be summed as below, the aim is to explore aspects & benefits beyond vendor “lock-in”.

How can you swing the power dynamic around so that you, as the consumer of infrastructure & software, get the most value out of your providers at the lowest cost? — Miles Ward

Drivers

Let us first explore key drivers for considering such jargon-ridden platform. What is the big picture? How they become a critical part of modern enterprise’s IT infrastructure?

Traditional Business Dynamics

The business of Brick & Mortar enterprises is built on the premise of managing scarce resources one way or other. Before 21 st century, a business model often depends on control exercised over these finite, scarce resources in the form of distribution & access. Be it renting shelf spaces of a supermarket by a consumer good company or running a car dealership to corner local demand.

“Distribution cost and transaction cost involved in such businesses are often non-trivial

Hence marginal cost, the cost of selling one more product or service matters a lot. Building & running distribution is the hardest part of building a business. These companies are often limited by their ability to scale their distribution. Above structural aspects not only influenced companies business operations but also shaped their IT operations.

New Business Dynamics

In past decade, a different genre of consumer facing, web scale enterprises are gaining relevance powered by new set of business dynamics. This high growth, nimble and modern enterprises, not only wields significant influence on respective industries but also changing IT landscape.

“To better understand the IT necessity of these modern enterprises, we need to understand their business model first”

The emergence of internet & followed by massive smartphone adoption has completely transformed the business landscape. Now, distribution is no longer the hardest, rather it is almost free. Apps can be downloaded from app store. New products and features can be pushed over air. Soon “instant app” would even negate the need for an app store completely. Further, conducting transactions has been never this easy. Both distribution cost and transaction cost of products, services have effectively become zero. Now, the hardest part is discovery, consumer’s attitude, attention and their money. These are new modern scarcity.

New IT necessity

Modern enterprises cannot afford to reset underlying compute infrastructure every time the magnitude of their business operation changes. Such is their rate of growth, the scale of operations and speed of experimentation. They need to evolve their IT without disrupting their business. Importantly, these companies need to scale their fleet of machines orders of magnitude faster than they can scale their operations team. In fact, the speed of scaling IT infrastructure and related operations, frugally as well as effectively is mission critical.

“Modern enterprises are heavily incentivized to solve the problem of scale which is hardly faced by brick & mortar enterprises”

To put in concrete terms, marginal cost to add, operate and support one extra computing machine to their fleet should be close to zero. So is one additional instance of an application or one more user. Frictions between infrastructure operations, application operations and product development need to be dramatically minimized. Key message is

“Combination of zero marginal cost and zero opportunity cost set things in motion which percolates to every pore of modern enterprises”

To take above point to the extreme, these companies cannot even tolerate frictions & ceremony found in DevOps model. Rather concerns of DevOps model needs to be carved out into specialized operations in order to eliminate frictions commonly in this approach.

Being Cloud-Native

Let us be clear. Not every company that matters are operating at the scale of Amazon, Google or Twitter. Prescribing Google-like infrastructure for everyone comes with huge downpayment cost followed by recurring high premium.

However, in the broader context of “Software is eating the world”, sheer competitive pressures alone will demand every business to be far more agile & cost effective than what they can afford today. Defensibility of a business is achieved through a combination of brand building, developing products with network effect, building scale business like amazon or embedding proprietary component inside a client’s operations that it is hard to replace. The degree of agility required in a business will depend on company’s defensibility inherent in their business model. However in general, being highly agile while operationally efficient will be new normal in coming decades.

“This new normal will be based on cloud-native computing principles”

Building new system, be it container cluster management platform like Kubernetes or in-house business application in cloud-native fashion will involve following principles. Cloud native computing system is

  • Container-packaged: System components are composed of hermetically sealed, reusable units across diverse environments.
  • Dynamically scheduled: This is critical for increased infrastructure efficiency and decreased operational overhead.
  • Microservices-based: Loosely coupled system components significantly increase the overall agility, resilience, and maintainability.

Technologies based on above principles powers business scalability. Such technologies are referred as “Cloud Native Computing Technologies”. Cloud Native technologies made it possible to build a business where serving one additional customer is trivial. In other words, the business funnel of these companies which targets & subsequently acquires customer can be as wide as possible. Companies are not constrained by physical distribution and control of scarce physical resources. In fact, more the number of users better the service.

Note: http://blog.kubernetes.io/2016/07/openstack-kubernetes-communities.html

Being Open

Principle technique in building a defensible business in enterprise software market is “embedding”. Building product with “network effect” comes second. User experience doesn’t count and it is hard to sustain.

“Embedding” refers to a process by which differentiated proprietary software component from a vendor is buried inside an enterprise client’s operations. Overtime enterprise applications & services get molded around the proprietary API of this software component, making it hard to replace. Vendors are not only incentivized to cross-sell products but also strives to go up the value chain leveraging such lock-in.

Lock-in also comes in the form of data gravity and power of the platform. However from “embedding” perspective, it is important to actively resist lock-in where ever possible.

Each implementation choice affects future scalability, service level and flexibility of the services being built. It’s fair to say that “future-proofing” should be the primary concern of every system architect — Miles Ward

Why is it important to choose open APIs based software?

Overtime lock-in costs in an existing relationship between an enterprise software consumer and vendor often tend to grow higher than the value it delivers. Dodging proprietary, closed APIs could minimize technical debt. This would empower enterprise IT to embrace new and differentiated tools in same space, or when better solutions rise out of Open Source Software communities.

“Closed API architecture would inhibit business agility, growth and scalability of an enterprise”

Next

The second section of this article will focus on pre-requisites for Microservices, identify the key layers of the platform and its components.

Twitter handle @parthi_geo

Note: Views are personal and opinionated. Views are not reflective of my employer or any organization or people I am associated with.

--

--

Full Stack Society

Tech, culture & business model enthusiast. Cloud architect for living. Smitten by William dalrymple, Jared diamond, Ben Thompson.