Success Story

Chekin stabilizes its platform and automates the deployment of all its applications on AWS

SaaS & Scaleups
Modernization

At a glance

Chekin is a platform that simplifies guest registration for the tourism industry, with a presence in more than 20 countries and over 18,000 customers. Its platform was unstable, and not even its own team knew all of its services. Craftech rebuilt the infrastructure on a known, documented architecture, with automated CI/CD and monitoring: incidents went from daily to occasional.

Chekin simplifies guest registration for the tourism industry: it automates check-in and check-out across different booking systems, from hotels to campsites. It has a presence in more than 20 countries and over 18,000 customers.

Solution implemented

  • Rebuilt the infrastructure and migrated it to a known, documented architecture
  • Created new networking foundations: VPCs, subnets and route tables
  • Implemented new clusters with infrastructure as code and their dependencies: relational and non-relational databases and queues
  • Migrated CI/CD to GitHub Actions and service deployment to Helm
  • Implemented an API Gateway to migrate one API at a time between clusters, with fast rollback
  • Implemented a logging, monitoring and alerting stack with automatic notifications for infrastructure and business metrics

Business Challenge

The platform was unstable: multiple services failed, and the complexity of the architecture, combined with almost nonexistent monitoring, made errors hard to find and drew out incident resolution. Previous implementations did not keep a valid state in the repositories, so resources had to be reverse-engineered to version them. There were similar applications duplicated across repositories with no documentation; more than 100 services in a single namespace and resources exposed to the internet; manual processes and unversioned manifests; images tagged latest, which made it impossible to know which version was deployed; script-based autoscaling instead of Kubernetes' native HPA; and a RabbitMQ inside the cluster, with no backups and no way to scale, that brought down the critical service. The goals were to standardize the way of working, understand and document the architecture, segment accounts and resources while giving developers self-service, eliminate manual processes, and implement automated CI/CD and a monitoring system.

Solution

Since not even the client knew all of its services, Craftech decided to rebuild the infrastructure and migrate it to a known, documented architecture. It created new networking foundations (VPCs, subnets and route tables) and new clusters with infrastructure as code, along with their dependencies: relational and non-relational databases and queues. CI/CD was migrated to GitHub Actions and service deployment to Helm. To move from one cluster to the other, it implemented an API Gateway that made it possible to migrate one API at a time, with fast rollback. Finally, it implemented a logging, monitoring and alerting stack with automatic notifications for infrastructure and business metrics.

Outcomes

  • Automated deployment for every application
  • Much simpler creation of new resources for developers
  • Incidents went from daily and across multiple services to occasional and isolated
  • Shorter incident detection and resolution times thanks to monitoring
  • Bottlenecks removed, networks and permissions segmented, and backups for critical services with persistent data

Stack & technologies

KubernetesHelmGitHub ActionsAPI GatewayIaC

Facing a similar challenge?

Get a free AWS cost & architecture assessment.

The future of your company
takes off with Craftech

Leverage our AWS expertise to propel your company into the cloud.

Get your free assessment