This chapter describes possible deployment architectures with their advantages and disadvantages. When making the decision which architecture should be used, the following considerations must be taken into account:
- Complexity of the architecture
One or another architecture might have more dependencies between services which makes it more error-prone. - Resource footprint (memory and CPU)
Some architectures result generally in a higher memory and CPU consumption. - Ability to scale horizontally
Not all architectures allow scaling the Airlock Microgateway and the application independently based on traffic or system load. - Canary deployment
The different architectures require other approaches for canary deployment. Depending on which component of the application (Airlock Microgateway or the application itself) should be rolled out, another solution is required.
Generally, without taking too much details into account, we believe that cascading a separate Airlock Microgateway service in front of the back-end service suits best and also follows best the idea of microservices.