You need to have excellent monitoring tools to display the working of your software. Effective logging and documentation may seem exhausting but are indispensable for the software maintenance and enhancement.
Standardization is necessary to keep flexibility of multi-platform development in check.
Declaration of Specific End Points is a must.
Devops need to be more integrated than they ever were. Security needs to be more robust and unbiased as the diversified structure provides hackers the opportunity to hit the soft target of your system.
It will be preferable if you start microservices from day 1. As it has been evident that transitioning from monolithic to microservices could be very tedious and faulty process if not handled efficiently. Especially, if you are talking about a big scale enterprise.
Standardized development practices along teams calls for a bigger investment on platform basis. This is where cloud based providers come into the picture like AWS(Amazon Web Services), Heroku, Google cloud etc. Therefore, if you are planning a small scale organization and not envisioned to go for scalability anytime soon then you are better off microservice Architecture! As that would save the investment that is applied on cloud infrastructure for efficient communication among the company.
That being said, you also should be aware of testing challenges related to microservice architecture before you enroll them into your organisation.