Servers – The essential building block, including web, API/mobile backend, reverse proxies, and workers that support your application.
Databases – Various SQL and NoSQL-based data stores for transactional, analytics, and search support.
Shared Object/File Storage – Block devices, filesystems, and object storage strategies beyond the local server.
Centralized and Distributed Logging – Strategies for managing the streams of logs generated by various server processes.
Message Brokers – Improving performance by offloading workload to background processes in a safe, scalable manner.
DNS – Understanding and applying the domain name service for high availability configurations, failover, and service discovery.
Caching – Keep common data and fragments in memory to improve performance and reduce the burden from backend servers.