Some of the main characteristics of microservices mentioned by Martin Fowler are modularity, independence, interoperability, and scalability.
In a microservices architecture, each microservice is designed to be a separate, independently deployable unit of functionality, with its own codebase and database.
This modularity allows each microservice to be changed or updated without affecting the rest of the system.