When LendInvest contacted Kumina during the Summer of 2016, they were working on the next generation of their platform. LendInvest was looking for a partner who would not just build a new Kubernetes platform for them but also actively engage them in the process of the design and deployment.
They had several requirements for their new infrastructure:
» Micro services architecture.
» Use container technology as the core of the platform.
» Fault tolerant and highly available.
» Continuous integration and continuous deployment.
» Service discovery.
» Amazon AWS as cloud provider.
With these requirements Kumina set out to build a platform that would not only meet LendInvest's
requirements, but exceed their expectations.
At Kumina we deploy all our platforms based on "infrastructure as code" (IaC) principles. This allows us to easily reproduce and scale environments. For this particular platform we use Hashicorp's Terraform. Terraform enables us to codify the entire Amazon AWS infrastructure. Due to the numerous providers that come with Terraform we can provision everything from EC2 to RDS.
We use CoreOS as the operating system for the plaform. By using CoreOs, we
get
a lightweight Linux operating system which is designed for providing infrastructure to clustered
deployments. CoreOS comes bundled with several tools:
» Docker (Container runtime)
» Fleet (Distributed init System)
» Etcd (Service discovery and key/value store)
Continuous Integration and Continuous
Deployment
Jenkins is used as the Continuous Integration and Continuous Deployment
platform.
It's set up to automatically create and deploy images, run tests, cron jobs and migrations,
smoothing
the entire experience with the platform. Developers just need to push code to Git and most other
steps
are done automatically. LendInvest has chosen to manually deploy new versions of their applications
at
the touch of a (web-based) button, but that could be automated as well.
Orchestration tool Kubernetes
As
LendInvest is using a micro-services architecture and container technology, we needed an
orchestration
tool that is stable, feature rich and allows easy administration. Kubernetes was the obvious choice
for
us, as it has a strong Open Source community and is feature-rich. Also, it's based on 15 years of
experience with Google Borg, where it has been running production workloads.
Some of Kubernetes features include:
» Automatic binpacking
» Horizontal scaling
» Automated rollouts and rollbacks
» Storage orchestration
» Self-healing
» Service discovery and load balancing
» Secret and configuration management
» Batch execution
The cooperation between the Kumina ops-team and the Lendinvest it-team went very smoothly during the design and migration of their new platform. In October 2016 we celebrated the new infrastructure and LendInvest platform going live. LendInvest decided to trust us with the ongoing maintenance and support of their new Kubernetes setup. Our teams keep on working closely together to continually improve the set-up and make their Kubernetes AWS solution as cost effective as possible. Since the LendInvest platform is critical to their success, Kumina also provides LendInvest with a 24/7 emergency response line, ensuring them that possible interruptions will be actively addressed, even outside office hours.