Asia Pacific's Leading Cloud Transformation Company!

Singpost eCommerce Wait Room System

About Us

Cloud Adoption & Migration Experts. Talk to us for your AWS, Azure and Google Cloud needs

How can we help you?

Our Engineers are AWS and Azure Certified, with years of experience of solving complex cloud challenges.

Project Infomation

For over 150 years, Singapore Post (SingPost) has been delivering trusted and reliable postal services to homes and businesses in Singapore.
SingPost has also masterminded design and implementation of online site visitors’ Waiting Room solution on AWS for Adidas Hype launches like NMD and Yeezy, where few thousand visitors try to buy - with only about less 100 quantities available for any product.

In such a sale, only lucky visitors are able to buy a single pc. This is successfully running for months for Adidas sites in Singapore, Malaysia, Philippines, and Thailand.

The solution costs less 500$ per sale on AWS but is able to do sales worth of a few hundred thousand dollars in just in an hour time.

  • Client: Singapore Post
  • Date: 2017
  • Skills: Cloud Architecture, AWS Expertise, Managed Services

Challenge & Solution

For such a solution, the margin of error is very small. Visitors anticipate flawless execution of the sale and no downtime or glitch can be tolerated.
Large number of concurrent sessions
Serving 10,000-20,000 concurrent sessions, who shop limited edition shoes from adidas online stores.
Simultaneous 'Add to cart' events lead to complexities
When all 10,000 users try to add items to cart, even after running 10x large RDS + 10's of 8x large Web App servers, earlier solutions failed to keep the site up and the cost also increased very high.
Any minor downtime would lead to loss in dollars & credibility
Such sales, while ensuring a high ROI, are also critical in creating or destroying a brand's images. RightCloud recognizes the business challenges as much as it solves the technical problems.

Our Process

As per initial assessment, we identified severals solutions in the market. One of the challenge with these solution is a high-recurring subscription cost with yearly lock-in. While relying on highly available services from Amazon Web Services(AWS), a custom solution is being built the fits the use-case and able to handle reasonably high traffic.

While using Jenkins on Amazon EC2, few of the keys AWS Services being leveraged to develop the solutions are:

- Amazon CloudFront
- AWS CLB/ALB
- Amazon EC2
- Auto Scaling
- Amazon Route 53
- Amazon S3
- Amazon RDS

01
Setup of 3 separate origins for dynamic, sales & static content.
02
WR ELB which serves sale categories, passing through HA Proxy setup.
03
On selling out, update HAProxy configuration.
04
On live traffic stats, update M and N ratio values for Wait Room.
05
Built this entire process as Pipelines using Jenkins.
06
After selling out, redirect all the traffic back to Web App environment and bring down the WaitRoom setup.

Detailed Steps

Steps:

1) For Performance: All the site traffic is being routed from Amazon CloudFront, and the static content cached at Amazon CloudFront which improved performance.
Setup 3 separate origins: (1) ELB1 (Regular Web Front ELB) - To serve web app dynamic traffic ; (2) ELB2 (Wait Room ELB) - To serve only sale categories. - WR ELB; (3) Amazon S3 - To server all the static content like css, js and all the media

2) The WR ELB which serves sale categories, passing through HA Proxy setup. The HAProxy having the full business logic, it’s configured to split the traffic with M:N weightage, the M pc of traffic goes back to Web App system, and they are the lucky members who can get their shoes.
The remaining N pc of traffic are in Wait Room which served by Nginx. This page gets refreshed in 60 seconds and redirected back to WR ELB.
- 2.1. Every minute HA Proxy allows M pc of requests back to Web App system. It continues as longs as the product quantities are available / backend Web App system in the healthy state.
- 2.2. If any time the HA Proxy system founds backend Web System loaded, the system stops sending new requests back to Web App system. And all the existing users continue to go back to Web App system finish their checkout.
- 2.3. This entire system continuously monitored from Amazon CloudWatch and our custom monitoring system. Based on the alarms, each layer gets Scale In / Out.

3) Once everything sold out, we update HAProxy configuration to redirect everybody to the SoldOut banner.

4) Based on live traffic stats, we update M and N ratio values for Wait Room.

5) Built this entire process as Pipelines using Jenkins. From Jenkins we can update Weights, Amazon CloudFront behaviors, Modifying sale category banners and Scale In/Out configuration.

6) Once after enabling Sold Out banners, the system redirects all the traffic back to the Web App environment and brings down the WaitRoom setup (HA Proxy + Nginx ).

Benefits

Metrics
Every sales gets closed in less than 60 minutes, the fastest is with in 15 minutes sold out happened for SG market.
The infrastructure for each Sale cost less $200 per market and we handle 4 markets (SG, MY, TH and PH) in Asia, which generates hundreds of thousands of worth revenue for each Sale.
Recently for TH market, Adidas was able to sell 1000 quantity of shoes in a couple of hours without scaling up backend database RDS (M4.xlarge) and with just 4 C4.2xlarge Web App servers.
Qualitative Business Benefits
The system is running successfully for past couple of months, with satisfied B2B and B2C customers. Our customer able to run their Sale events for every 2 - 4 weeks with zero downtime and zero complaints from end-users.
Close
Compare
Wishlist 0
Open Wishlist Page Continue Shopping