Deploying microservices in the cloud requires efficiency in data sharing and separation of functionality. Having multiple microservices, written in various programming languages, is a challenging task, not only for deployment but also for management in terms of performance, reliability and fault tolerance. A possible solution to communicate between microservices and sharing data is to use a data lake so different teams can work with the same data in an efficient way. However, scaling this approach is a challenging task, particularly if the microservices are ingesting data in motion and data at rest. This talk will discuss these challenges and provide best practices for efficient microservices deployment in the cloud using the Hazelcast open-source platform. A demo and source code will be provided and hosted on Github.