Case Study

Asian Beer & An App: Developing Worldwide Infrastructure for the Greater Good

As part of a two-month, cause-marketing campaign set to run in four continents, a major Asian beer brand wanted to develop a web application that would allow users to create custom selfies with unique artistic styles. This mobile-tailored app would encourage users to share their images on social platforms to build awareness for the cause.

Given the technical scope and geographical reach of the campaign, five teams of skilled developers around the world were tasked to create the artificial intelligence and machine learning algorithms required to program the app. However, there was a big piece of the project still missing; the infrastructure to execute the whole initiative globally.

So how do you create a platform that allows five teams in different time zones to work in isolation on their piece of the project, collaborate with each other, run the app flawlessly, handle heavy user traffic, store large volumes of images, and maintain a positive brand experience? Add Northsail to the team.

Services Provided

Architecture

Architecture

Development

Development

High Scalability

High Scalability

DevOps

DevOps

Cloud Infrastructure

Cloud Infrastructure

The Challenge

To architect and build a flexible solution that would allow five development teams to work in isolation, stage and test their changes independently, integrate with the other teams, and still give stakeholders a reliable product to preview. The solution had to be easy to update and replicate in multiple regions around the world, while complying with the laws of each end-user’s country of origin.

Since the app was being promoted through a multi-million-dollar media buy for 60 days across North America, Europe, Asia and Australia, it would attract substantial amounts of users who would generate large volumes of images. This would require a strong worldwide infrastructure for maximum uptime, load handling, and storage.

To deliver a great user experience, the system had to meet a service level agreement (SLA) which included a rigorous 99.9% uptime and the ability to generate images in 2.6 seconds or less, while scaling up or down automatically based on demand (to optimize operating costs).

Our Solution

Since we were solely responsible for the implementation and sustainment of the worldwide infrastructure, our solution had to bring the entire project together and ensure all microservices worked cohesively in each market.

After assessing the scope of requirements, we utilized various strategies to meet the project’s demands by:

Microservices
Dividing the solution into a microservice architecture

Individual teams and vendors could run in parallel, providing them with the ability to execute faster and in isolation to meet tight media deadlines.

Multiple Environments
Leveraging multiple environments to maintain stability

The client and its stakeholders could maintain a stable release for review, while developers could preview their releases in an isolated environment that accurately showed the impact of their changes.

Blue Green Deployments
Utilizing blue/green deployment strategies

This would ensure the services saw no downtime; even in the event of a failed release.

Key Metrics
Using key metrics, custom alarms and alerts

This would allow us to scale the solution on demand, so the service adhered to the 2.6 second image generation SLA end-user experience, with 100% uptime.

Geolocation Routing and Load Balancing
Implementing geolocation routing and load balancing

Users would be served based on their country of origin and assigned to a market in the appropriate worldwide region and availability zone. This would safeguard response times and enable customizations to the services required by country laws and operating markets.

By architecting the solution in such a decoupled fashion, we developed an intuitive system that could quickly spin-up additional clusters in other regions; allowing the service to reach millions of users across the globe while maintaining the strict SLA times.

The Key Technologies

Node.js
React
Azure
Cognitive Services Face
AWS
EC2
DynamoDB
Elastic Search
S3
Code Deploy

The Metrics of Success

We successfully delivered a custom-designed solution that:

  • Managed and produced over 636,000 custom selfie images to promote a great cause
  • Created a positive user experience by meeting the SLA throughout the campaign
  • Complied with each country’s laws and regulations
  • Allowed fast onboarding of additional regions to increase the campaign’s reach
  • Increased efficiency to allow teams to deliver ahead of schedule despite tight deadlines
  • Gave stakeholders access to consistent, reliable releases in multiple environments within each geographic location to make the development process easier

The final result:

By applying our strengths in infrastructure design, implementation, devops, architecture, and integration, we successfully built a solution that allowed decentralized teams across the world to come together and contribute to an exciting, global marketing campaign that left users with a memorable brand experience.