We used Kubernetes as a container orchestrator, the perfect tool to manage the large number of containers at Medi-Market. The Kubernetes platform ensures the correct management of the various applications, supporting tools and monitoring that run within Medi-Market’s infrastructure. This means that all applications, including the application for automatic stock management, only run on the capacity that is required at that time. As soon as more or less capacity is needed or when new applications are added, Kubernetes scales the hosting up or down. This way, Medi-Market never pays for unused overcapacity and retains efficient hosting that scales flexibly.
Due to the uniform set-up of the Kubernetes platform, additional applications or supporting tools can quickly be added, without previous development work. Another advantage is that it is easy to adjust capacity based on the current requirements. Updating an application to a new version can also be done easily, automatically and in many cases without downtime. This allows Medi-Market to always work in a safe environment and use the latest features. The Kubernetes platform also supports ‘auto-healing’: issues like broken hardware or crashing machines are automatically detected and replaced, with minimal impact on performance or availability. In many cases, the end user will not notice anything at all.

Infrastructure-as-code approach for maximum control and testing
We used an infrastructure-as-code approach with Terraform. In an infrastructure-as-code approach, infrastructure is written as executable code. This approach allows us to quickly add new environments, such as a test or production environment. Additionally, this approach allows us to quickly and easily test changes in a test environment before they go into production. Because everything is written in code, we always have control over changes.
Another advantage is that we can treat the infrastructure code like any other code. This way, we can also make pull requests and require a review of the code from some team members before it is added to the codebase. This allows us to maintain extra control over what exactly we create in AWS.
Strong and proactive monitoring
A datadog-agent runs at all times within the Kubernetes cluster. This monitoring agent is responsible for forwarding monitoring metrics and the logs of the various applications. The incoming metrics are continuously evaluated via monitors that we set up. As soon as a critical value is reached, the team will be automatically notified via an alert in OpsGenie. This allows us to respond quickly and proactively to potential problems.