Microservices Propel Enterprise Software Solutions
Following in the footsteps of these pioneering 20th-century industrialists, early 21st century enterprises are breaking down software monoliths into modular, highly-specialized microservices.
Scientific Management and the Shift toward MicroservicesAnchor
Mechanical engineer Frederick Taylor (1856 - 1915) inspired generations of entrepreneurs and industrialists with his theory of Scientific Management. He proved that by breaking down complex operations into their simplest, underlying, discrete tasks, labor productivity can be increased dramatically. By using empirical methods to find the leanest procedures for each task, economic efficiency can reach completely new heights. Taylor laid down the foundations of modern management science and industrial engineering. His theories are credited to having influenced Henry Ford himself whose Model T assembly line resulted in a 50% market share of the entire US car market by 1920.
Following in the footsteps of these pioneering 20th-century industrialists, early 21st century enterprises are breaking down software monoliths into modular, highly-specialized microservices. The shift from massive, all-purpose software systems to lean, single-purpose programs – seamlessly connected via APIs – is present in virtually all economic sectors. Embracing modularization helps improve product time-to-market, system scalability, quality assurance, and code maintainability.
Monolith systems are often rigid, architecturally complex and not created according to accepted standards. The pool of talent who can operate them is limited and expensive. Onboarding even the most seasoned developer takes months. Small changes to monolithic systems require significant time and effort, typically involving tremendous risk.
Microservice architecture is modular; applications are easier to develop and maintain because they are broken down into compose-able chunks of code that interact with each other. These components have a single unique purpose and allow companies or communities to have separate teams working and maintaining these chunks independently.
Winners and losersAnchor
Many of those who did not embrace the principles of Scientific Management in the 20th century had to switch careers. For instance, only 8.5% of all US car makers in 1920 made it to 1940. In just 20 years the number of automobile companies was reduced from 200 to 17. Specialization, standardization of processes, and innovations like the assembly line gave companies like Ford Motors Company the edge to survive and dominate for the coming generation.
Expensive software monolith disasters are often in technology news since the turn of the century. In 2000, while Michael Jordan was still holding on to his legendary NBA career, Nike decided to combine their ERP, supply chain and CRM systems into one giant system. They wanted to better forecast the demand for their products (incl. the best-selling Air Jordans). However, a software glitch, according to their VP of Global Operations and Technology, Roland Wolfram, cost the company a $100 million in sales loss and a 20% stock price decrease. A massive number of Air Jordans simply didn’t make it to the stores. The project took twice as long to complete and cost an additional $100 million more than planned. Other recent monolith-system related debacles include Lidl’s canceled $500 million dollar inventory management project in 2018. Best Buy and Groupon barely avoided disaster with their shift to a more decoupled system architecture. Best Buy had a monolithic, interwoven Oracle database at its core, hindering the deployment of fixes and features. A tough spot to be with competitors like Amazon and Walmart. Groupon’s front-end codebase was difficult to maintain, page loading times were slow and new features took ages to deploy.
In contrast, companies like Netflix based their phenomenal growth on smart microservice architectures. In 2009, Netflix was already struggling with achieving sufficient availability and speed of its streaming services. Scaling to the massive number of subscribers it has now (ca. 150m in April 2019) was simply not imaginable. By moving to a cloud-based microservice architecture, Netflix could build data centers in minutes and keep up with its user growth rate. Moreover, the new approach allowed the company to create a few dozen independent developer teams that could work on different sets of microservices and within different timelines. The productivity and flexibility of development were massively increased.
Other proponents of microservice architecture include Amazon, Uber, eBay, Soundcloud. In many respects, Amazon Web Services (AWS) added jet-fuel to the microservice fire when they enabled virtual computing to be accessible to development teams of all sizes. What once took weeks in resource provisioning now takes a couple of hours at most.
What is the situation in the world of content management?Anchor
The universe of content management has been dominated by massive .NET, Java, Perl, and PHP-based systems since the time of the dotcom bubble. Open-source heavyweights Wordpress, Joomla and Drupal have democratized the creation of simpler websites making it accessible to even non-tech users. This was over 15 years ago. Wordpress was launched in 2003. As a comparison, the Matrix movie sequels came out the same year. Further comparison, the iPhone wouldn’t be released for another four years.
Traditional content management systems are monoliths focused on a web first platform and attempting to back-fill support for emerging technology like smart-phones and televisions – in short, they are rigid and inflexible. Adapting them for modern digital content channels such as mobile, IoT or AR is not possible or requires significant effort. Even small technical changes lead to long implementation times.
Separating the front-end and back-end of a content management system is the natural evolution to many of the monolith-related issues in this software category. Leave the CMS without a head and let content be delivered to any modern stack via talkative APIs (e.g. GraphQL APIs ) providing access to a powerful backend.
Microservices are eating the enterprise world the same way the basic principles of Scientific Management have eaten up entire industries in the early 20th century. And as we have seen repeated over and over, survival is not dependent on being the largest dog in the pack, but being the one best acclimated for change. Moving to a microservice architecture is a multi-team effort. Yet, the first step only requires a single successful project. For example, going headless can start with a minimum viable product built around existing data as the largest salt and fertilizer producer in the world, K+S, did with their Urban Farming app. Alternatively, you can add your product documentation and user manuals in a headless system, so they can be consumed in the context of any of your applications.
When you reduce your CMS to simply another micro-service in the stack, composing new configurations of content and interface will allow you to explore new market segments and interesting ideas never before possible. Sign up for an account with Hygraph to see what the future of micro-services might look like at your company.