communicates with other services through lightweight channels (http, protobuf, mq)
are organized around boundary (ui, logistics, billing)
are easy to replace
Services are small in size, messaging enabled, bounded by contexts, autonomously developed, independently deployable, decentralized and built and released with automated processes.
Nadareishvili, I., Mitra, R., McLarty, M., Amundsen, M., Microservice Architecture: Aligning Principles, Practices, and Culture, O’Reilly 2016