Glossary

ProgrammableWeb's glossary of API and other technology terms and defination
A B C D E F G H I J K L M N O P Q R S T U V W X
Microservice

A microservice is a compact unit of software, typically delegated to a specific function. Microservices architecture is composed of many small independent components. This is diametrically opposed to the monolithic style, in which an application is built and shipped as one interconnected unit. Microservices are decoupled from one another, enabling programmers to make code changes to one service without affecting other services. This decoupling effect also enables software teams to reuse microservices as building blocks within various scenarios, thus reducing code redundancy. For example, an eCommerce store may have a Product microservice to display its product catalog, a Payment microservice to process credit card payments, and a User microservice to authenticate users on the site. If the parent company opened another store, it could reuse the Payment and User microservices quite efficiently. A microservices approach also benefits continuous software development strategies that emphasize minute, frequent code updates. Microservices are typically shipped within a container, with their own operating system and runtime environment. Compared to microservices, monolithic applications tend to take longer to develop and ship. Microservices also solve dependency issues. Since microservices run separately, developers can utilize the languages, frameworks, or libraries specific to that particular service, without extending dependencies to other services.