YOU ARE AT:FundamentalsWhat are microservices?

What are microservices?

A buzzword among coders

Microservices is a coding buzzword, which has come to prominence over the last few years. The technology rose to fame as a way to help developers who were having difficulties managing large scale, monolithic applications. While much ink has been spilled over microservices, there is no generally accepted definition of the term. This article explores the meaning, benefits and challenges of microservices.

Micro vs. macro applications

The basic idea behind microservices is to breakdown a monolithic application into a suite of modular services. Before microservices, any minor modification to a monolithic application demanded creating a new application. Microservices are easier to manage in comparison to monolithic architecture because they are divided into smaller parts, which are compatible with each other.

Take Amazon.com as an example. The website comes with a variety of services, from wish lists to credit card authentication, all of which work together. This arrangement is different in that it is not organized around software layers. Rather, each module supports a particular business capability. The modules communicate with other sets of services through well-defined interfaces, which tend to be stateless. Other companies like Netflix have taken advantage of this business model.

Benefits

As previously noted, one of the main benefits of the technology is the ability to make updates or repairs to a system without having to rebuild an entire application. Additionally, since the system is divided into small parts focused on a particular business capability, development teams can spend more time concentrated on their specific service. Additionally, the architecture allows each service to be launched independently, providing more flexibility in return.

Drawbacks

Every technology has drawbacks, microservices included. The possibility of failure points increases with microservices, since there are more services that interact with each other. Whenever new services are added, it can become increasingly difficult to maintain, configure and monitor them all. Consequently, the cost of monitoring applications in production tends to be higher with the technology. Furthermore, the excess of services in the architecture gives hackers and cyber criminals more opportunities to seize upon.

ABOUT AUTHOR

Nathan Cranford
Nathan Cranford
Nathan Cranford joined RCR Wireless News as a Technology Writer in 2017. Prior to his current position, he served as a content producer for GateHouse Media, and as a freelance science and tech reporter. His work has been published by a myriad of news outlets, including COEUS Magazine, dailyRx News, The Oklahoma Daily, Texas Writers Journal and VETTA Magazine. Nathan earned a bachelor’s from the University of Oklahoma in 2013. He lives in Austin, Texas.