A technology stack comprises the layers of components or services that are used to provide a software solution or application. Technology stacks are often articulated as a list of technologies or as a diagram. Examples include the OSI seven-layer model, the TCP/IP model, and the W3C technology stack.