Migrating to microservices is a strategy, and it needs step-by-step planning, as follows:
- Separating classes in a monolithic app
- Identifying classes that have CRUD-style interfaces with other business methods
- Identifying isolated classes with no dependencies on other classes, apart from the code needed to interact with external services, such as Memcache, Cloud Datastore, or Task Queue
- Identifying sections of code isolated from others with static code analysis tools
- Refactor code to remove unwanted dependencies, as circular dependencies are the most difficult to address
- As prerequisite to the move to microservices, refactor legacy codebase in production:
- Identify common areas for microservices as follows:
- Account and user information
- Authorization and session management
- Configuration or preferences settings
- Notifications and communications services
- Photos and media, especially metadata
- The next steps for porting to microservices, post...