Yesterday’s standards won’t support the health architecture of tomorrow — here’s what will. Credit: Thinkstock Batch processing and offline maintenance are terms once feared as much as memory and computer power were yesterday. The eruption of microservices and similar technological advances has changed our perception of possible. A trend has emerged, and it’s the opposite of what convention would tell us. Companies are first building out technical capabilities using a “monolith first” strategy for developing codebases. Monolith-first applications are made up of modules forming software applications that are not independent of the core application. This strategy is later followed by transitioning these monolithic structures into more scalable microservice architectures. At the surface, it appears that every industry — including financial services, energy, and yes even real estate — has benefited from using the design principles of modularity. Informed technology leaders understand the benefits that microservices offer and are wrapping them around their business models. Design by service using SOA Modern programming languages such as Java, Python and C/C++ enabled the development of server-side applications. These languages decomposed complexity by adding abstractions. The language abstractions depended on sharing resources (memory, database, files) to create a single executable artifact, also called monoliths. Uber followed the lead of Amazon, Netflix and Twitter in the movement to divide monolith application structures into chunks to form service-oriented architectures (SOA). The Uber stack was composed of three stagnant pillars, or monoliths: Users to products to background checks. Trips to cities to vehicles. Payments to documents to promos. Nearly all of the functionality Uber provided riders and drivers was woven into this value stack. Stability and performance worked well: The ability to scale didn’t work. After expanding to 66 countries and building ecosystems across 545 cities worldwide, Uber was losing software agility. Flexibility, which was once a strength, quickly became a liability. Flexibility and scale improve by decoupling messaging queues, UI layers, client adapters, databases and external integrated services from the core application. Still trying to get your head around the value of a microservice? This example might be helpful. Microservices are designed around business capabilities: These independently deployable services have limited responsibilities and run as a suite of smaller services that together comprise a single application. Instead of running one single mega application, you run a suite or group of smaller applications. Benefits of microservices Like any architecture style, there are times when microservices offer value and situations when alternatives should be explored. Strong modularity boundaries, independent deployments and technology diversity are the core benefits of leveraging microservices architectures. Another benefit of microservices is the ability to deploy services by fully automated deployment machinery. Thinking you might already be using microservices? Here are several questions to ask that will help you confirm whether microservices are used in your technology environment. Is functionality broken into business components, not technical service components? Are your communications stripped of business processing logic and only distributing messages between endpoints (smart endpoints and dumb pipes)? Are applications organized around business capabilities? Is there a central governance over the monolithic application, or is governance decentralized by service? Does your organization design and build systems or leverage more evolutionary system designs? Have infrastructure components been automated, enabling independent deployment capabilities by business functionality? The benefits of the microservices architecture styles are many, including dynamism (splitting load), modularity and reuse (breaking complex services into simple ones), distributed development (distinct development teams working in parallel), and integration of heterogeneous and legacy systems (standard communication protocols). Assessing your business needs and technical capabilities for the new year? Consider adopting advanced distributed architectures for improved scale. Related content opinion Applying cognitive science to champion data-management adoption Business relationship managers today have new techniques to make data management stickier. Mix it up for greater data-enablement adoption. By Peter B. Nichol Dec 23, 2019 5 mins Technology Industry Data Science Digital Transformation opinion Design success into the office of the CDO Every obstacle, hurdle and misstep raises awareness and decreases the likelihood of a recurring event. Use experience and wisdom to avoid the mistakes of others and find success when designing and implementing an office of the CDO. By Peter B. Nichol Dec 17, 2019 11 mins IT Leadership opinion Assembling the right resources for the office of the chief data officer Creating an office of the chief data officer is the first step in developing a data-driven culture and maximum business value. By Peter B. Nichol Dec 09, 2019 9 mins IT Leadership opinion Why RPA is a CIO priority Cognitive automation technologies are changing our business. RPA is the first step in that evolution. Be part of the business-value realization with RPA. By Peter B. Nichol Dec 02, 2019 10 mins Technology Industry Robotic Process Automation Digital Transformation Podcasts Videos Resources Events SUBSCRIBE TO OUR NEWSLETTER From our editors straight to your inbox Get started by entering your email address below. Please enter a valid email address Subscribe