DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
The Latest "Software Integration: The Intersection of APIs, Microservices, and Cloud-Based Systems" Trend Report
Get the report
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Deployment
  4. Microservices Are a Commodity

Microservices Are a Commodity

We should hear more about managing microservices at scale, automation, business value, serverless, and new uncharted ideas from the pioneers in our industry.

Bilgin Ibryam user avatar by
Bilgin Ibryam
·
Dec. 28, 16 · Opinion
Like (17)
Save
Tweet
Share
13.56K Views

Join the DZone community and get the full member experience.

Join For Free

I'm a big fan of Simon Wardley. I'm not able to follow everything he writes about, but even the old writings are very interesting and somehow it all makes sense in retrospect. If you haven't read anything from him, this video is an excellent start (or go back a few years to the longer talk). In this article, I'll try to make sense of what is happening in the microservices world using Wardley's theory (and diagrams).

How Have Things Evolved?

Any idea, product, system, etc., starts with its genesis. If it is successful, it evolves, and others copy it and create new custom solutions from it. If it is still successful, it diffuses further and others create new products that get improved and extended and become widespread, available, “ubiquitous,” and well-understood — more of a commodity. This lifecycle can be observed in many successful products when looked over the years such as computers, mobile, virtualization, cloud, etc.

Image title

If we think about microservices, architectural style, the projects that support them, platforms that were born from it, containers, DevOps practice, etc., each of them is at a certain stage. However, as a whole, the microservices movement now is a pretty widespread, well-understood concept, and it's turning into commodity already. There are many indications confirming that, as seen from the number of publications, conferences, books, confirmed success stories on production, etc. There's no doubt about it; not any longer.

How Did We Get Here?

The microservices genesis started five to six years ago with Fred George and James Lewis from ThoughtWorks sharing their ideas. In the next few months, Thoughtworks did a lot of thinking, writing, and talking about it, while Netflix did a lot of hacking and created the first generation of microservices libraries. Most of those libraries were still not very popular or usable by the wider developer community, and only the pioneers and startup-minded companies would try them at times. Then, SpringSource joined the bandwagon. They wrapped and packaged the Netflix libraries into products and made all the custom build solutions accessible and easy to consume for Java developers. In the meantime, all this interest in microservices drove further innovation and containers were born. That brought in another wave of innovation, more funding, shuffling, and a new set of tools, which made the DevOps theory a practice.

Containers being the primary means for deploying microservices soon created the need for container orchestration, i.e., Cloud Native platforms. Today, the Cloud Native landscape is in transition, taking its next shape. If you look around, there are multiple Cloud Native platforms, each of which started its journey from a different point in time with a unique value proposition and slowly getting into a common feature set with similar concepts and standards.

For example, the feature parity of platforms such as AWS ECS, Kubernetes, Apache Mesos, and Cloud Foundry, are getting close, each being feature-rich, being used in production, and having comparable primitives.

As you can see from the diagram above, now what becomes important as a technology strategy is to bet on platforms with open standards, open source, large community, and a high chance of long-term success. That means, for example, choosing a container runtime that is OCI-compliant, choosing a tracing tool that is based on open-tracing standards rather than custom implementation, and supporting the industry standard logging and monitoring solutions that are supported by companies that have good commodity products.

Organization Types

According to Wardley, there are three types of people, teams, organizations, etc., and each is good at certain stages of evolution:

  • Pioneers are good in exploring uncharted territories and undiscovered concepts. They give the crazy ideas life.
  • Settlers are good in turning the half-baked prototype into something useful for a larger audience. They build trust and understanding and refine the concept. They turn the prototype into a product, make it manufacturable and turn it profitable.
  • Town planners are good in taking something and industrializing it, taking advantage of economies of scale. They build the trusted platforms of the future, which requires immense skill. They find ways to make things faster, better, smaller, more efficient, more economic, and good enough.

With this definition and the above table showing the characteristics of each type of organization, we can make the following hypothetical classification:

  • Netflix is definitely the pioneer — the creative pathfinder. The way the company is set around experimentation and uncertainty, their culture around freedom and responsibility, and everything they have brought into the microservices world makes them pioneers.
  • SpringSource is more the settler type. They already had a popular Java stack and they managed to spot the trend in microservices, and created a good consumable product in the form of Spring Boot and Spring Cloud.
  • Amazon, Google, and Microsoft are the town planners. They may come late, but they come well-prepared, with the long-term strategy defined, web-scale solutions, and unbeatable pricing. Platforms such as Kubernetes and ECS (not entirely sure about the latter as it is pretty closed) are built on over 10 years of experience and are indented to last long and become the industry standard.

One important takeaway from this section is that not everything invented by pioneers is meant for general consumption. Pioneers move fast, and unless your organization has similar characteristics, it might be difficult to follow all the time. On the other hand, town planners create products and services that are interoperable and based on open standards. That, in the longer term, becomes an important axis of freedom. 

Conclusion

In the microservices world, things are moving from uncharted to industrialized direction. Most of the activities are not that chaotic, uncertain, or unpredictable. It is almost turning into a boring and dull activity to plan, design, and implement microservices. Since it is an industrialized job with a low margin, the choice of tools and ability to swap those platforms plays a significant role.

Image title

Last but not least, a nice side effect of this evolution is that we should hear less about Conway's Law, the two pizzas, and circuit breakers during conferences, and should hear more about managing microservices at scale, automation, business value, serverless, and new uncharted ideas from the pioneers in our industry.

microservice Kubernetes Spring Framework

Published at DZone with permission of Bilgin Ibryam, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Microservices Testing
  • Introduction To OpenSSH
  • What Is Advertised Kafka Address?
  • Implementing PEG in Java

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: