Microservices have been used since ancient times to divide labor and specialize skills, though the concept is now applied to software development. While microservices became popular in software engineering in the 1990s by breaking monolithic applications into decentralized components, the idea of dividing work and coupling components loosely has been used since the Roman Empire to build complex projects. Modern enterprises similarly build their systems using loosely coupled internal and external services.