software applications beyond those available from the operating system. It can be described as "software glue”. ▸ Ruby on Rails and Koa.js have robust middleware systems so deal with requests before they’re handled by the main application ▸ Middleware on the server is used to address cross-cutting concerns like authentication, authorization, logging, gathering performance metrics, etc.