January 8 by Gene Eun
Introduction to Microservices
For many software developers and IT professionals today, the concept of a microservices architecture is still not entirely understood. Although this architectural style that structures business applications as a set of loosely coupled services has been around for years, its popularity has risen dramatically over the last few years to the point where it is the preferred way of building enterprise applications.
The purpose of this blog post isn’t to go into the technical details of microservices architectures, but to help you see the big picture behind them. In order to understand the concept of microservices architectures and their growing appeal, it helps to understand the opposite: monolithic architectures. Unlike microservices, monolithic applications are built to be single, self-contained units with interconnected and interdependent components. Microservices are a way to break up large monolithic applications into loosely coupled services, each serving a specific business function and interacting with each other through application programming interfaces (APIs).
So why are microservices now in vogue? A major challenge with a monolithic application is that any modifications or fixes to even a minor component often requires building and deploying an entirely new version of the application. If a specific function of the application needs to be scaled, the entire application may need to be scaled instead of individual components. Microservices aren’t saddled with these same disadvantages – they can be developed, tested, and scaled independently.
Better scalability and faster software development are not the only reasons microservices have become more common. Unlike monolithic applications, microservices can support multiple platforms and devices including web, mobile, IoT, and wearables for greater access and usability. This allows developers to leverage and unify disparate technologies with more speed and flexibility.
Now consider the rise of DevOps and agile software development methods and their compatibility with the two architectural styles and you can understand why more businesses are looking to microservices to shift development cycles and innovation into high gear. In fact, many of the large-scale consumer websites we use in our daily lives are built on microservices architectures – Amazon, Groupon, Netflix, PayPal, Twitter, Uber, and Walmart to name a few. Microservices are being adopted by many leading-edge companies in banking, retail and other industries because it helps cut down significantly on development lead times.
Apttus is among the list of innovators to use a microservices architecture to develop our enterprise software solutions. Examples of microservices Apttus customers are using to optimize their Quote-to-Cash operations include:
- Max, our applied artificial intelligence that enables users to interact with our platform and other third-party enterprise software via a conversational user interface, such as with text or speech. Max can orchestrate aspects of the Quote-to-Cash (QTC) process such as assisting your users to create quotes, configure products and solutions, update and create contracts, manage discounting and pricing, retrieve data, and perform other QTC functions. Max can also orchestrate aspects of the CRM process such as creating, updating or searching accounts, contacts, or opportunities.
- Our Pricing Microservice helps to maximize the performance of compute-intensive price calculations with sub-second response times, even with the most sophisticated pricing rules.
- Our Configuration Microservice that enables users to quickly create complex product configurations even when dealing with large volume product catalogs.
- Our Smart Search Microservice that enables users to search for products in catalogs containing millions of SKUs and get search results in <2 seconds and with the benefit of instant type ahead.
- Our Intelligent Workflow Approvals is a microservice that enables users to setup and manage approvals on opportunities, pricing, discounting, promotions, contract terms, agreement clauses, and more.