ShipMonk is currently one of the revolutionary companies in the field of logistics, because it uses the latest technology. But they started out as a small startup that had a great business plan. It was also appreciated abroad and thanks to the investment they started to grow quickly. Because of this, several servers that we took care of and the infrastructure was no longer enough.
Originally, ShipMonk operated on 3 production servers and 4 development servers. The servers were located at Vultr and Digital Ocean.
Due to the monolithic nature of the application, the main production server was one of the largest instances in Digital Ocean. However, this setting was disadvantageous in terms of usability because:
- did not allow scaling – performance could not be added any other way than by increasing the instance, which was not only uneconomical, but would also be impossible in the future
- updates were problematic and required short application downtime
- none of the providers at that time had separate data centers that could be easily switched to, so the disaster recovery plan included copying and migrating to another providerThus, there was a need to prepare a solution that could handle the rapid growth of the company as well as technological demands.
We decided to move to AWS and use Kubernetes. This step was preceded by the modification of the application to the microservice (the modification was done by ShipMonk). We created the whole environment in Terraform and helped debug and monitor Kubernetes.