In order to simplify setting up a microservices-based system, we’ve solved two major use cases:
- Making it intuitive to share services across environments. For example, sharing a database between Payments Service and Orders Service.
- Making it simple to use services which were not provisioned using Cohesive. For example, you might have an existing MySQL database running in your AWS account that you want to use in an environment launched using Cohesive.
Leveraging Cohesive’s existing capability, you could use pre-existing services on Cohesive as well as those external to Cohesive by providing your credentials as environment variables. This required you to add only the services that you wanted to be provisioned as part of your deployment configuration. This limited the visibility into what services are used by the applications and also required new deployment configurations to be created if different instances of the pre-existing service had to be used by different environments.
In order to make things more intuitive, Cohesive now supports the following:
- Letting you add all services that your microservice uses in the deployment configuration without having to make decisions about whether you would want these services to be newly provisioned.
- When creating a new environment, you will have the following choices available for each service in their deployment configuration: A) Provision of a new instance B) Use it from a different environment running on Cohesive C) Use one external to Cohesive