Microservices

Edit · View history

Microservices (also known as the microservice architecture) is an architectural style that structures an application as a collection of loosely coupled, independently deployable services. Each service is self-contained and implements a single business capability. This contrasts with the traditional monolithic application where all functionality is combined into a single process.

History

The term "microservices" gained prominence in 2011–2012 through discussions among software architects and at technology conferences. The concept evolved from earlier service-oriented architecture (SOA) but emphasized finer granularity and improved modularity. In 2014, Martin Fowler and James Lewis published a seminal article "Microservices" that defined key characteristics. The approach was popularized by companies like Netflix, Amazon, and Uber, which successfully adopted microservices to scale their systems.

Characteristics

Benefits

Challenges

Tools and Technologies

Popular tools include Docker for containerization, Kubernetes for orchestration, and API gateways like Kong or AWS API Gateway. Monitoring tools such as Prometheus and Grafana are commonly used.

See also

References