Microservice architecture consists of independently deployable services that communicate through defined interfaces. It supports DevOps processes by reducing coordination needs and allowing independent technology choices. Microservices improve modifiability over performance and can achieve reuse through deep service hierarchies. Discovery services locate service instances by name, and communication occurs via RPC, REST, or protocol buffers with JSON or XML payloads. Microservices are packaged with dependencies as containers deployed in pods for scalability. Design considers forward/backward compatibility across versions.