Online Shopping using Google Cloud
In this series, I will be taking real-world services and processes, and modelling them using either GCP or AWS. The idea is to give a behind the scenes look at how these products would operate on a cloud platform. For reference, I am both GCP and AWS certified.
Why Online Shopping?
Shopping online for products has become ubiquitous in the UK. It is now part of daily life for millions of people who wish to buy anything from the weekly food shop to clothing and cars.
The UK saw 16% of all retail purchasing happening online in 2017 with an annual growth of around 2% . The UK had the highest online shopping penetration rate in Europe in 2015 , with 80% of the population using it at least once across the year. However, most other developed countries are not far behind.
All this growth is forcing retail brands to provide a quality online experience for customers. It is also creating the rise of online-only based retailers like ASOS, NET-A-PORTER and Farfetch.
Creating online platforms means development and new technologies, however, each company will have a unique mix of legacy applications and future plans, therefore, every backend will be different.
Below I have modelled an example of the infrastructure for an online-only based site with no prior components and solely using Google Cloud Platform.
Why these Services?
Cloud Load Balancing
Evenly distributing and handling incoming requests through automatic scaling ensures App Engine isn't overwhelmed by sudden increases in traffic.
Fast limitless autoscaling and a ‘Pay as you go’ cost structure means its perfect for hosting your online store or mobile version.
Fully managed, autoscaling database, which specialises in handling huge amounts of read requests. Combine this with its ability to handle small blob files, and it is perfect for serving your product inventory to customers quickly.
Perfect storage option for holding larger images and videos to be displayed on your store.
Used to cache common queries between App Engine and Datastore allowing for popular results to be returned quickly.
Fully managed, secure autoscaling database for holding user accounts and handling purchase transactions.
Listen to all events within the system for both monitoring/maintenance and kickstarting additional processes.
Use Pub/Sub to provide real-time notifications to your customers using the Mobile App to give them updates on areas like new incoming stock/promotions and recent transactions.
Use Pub/Sub to link the online store and your warehouse, by triggering fulfilment processes when a new purchase is completed.
ETL service to transform events coming in to suit later analytical functions.
Limitless scaling OLAP database for storing data which ready to be analysed.
Use the data and events being generated to create ML models to help predict and analyse key areas of the store. Such areas may be Future revenue forecasts, which areas of the site perform better and what type of products sell the best.
Use to visualise and explore BigQuery results in more detail allowing for better insights to be gained and understood.
Use IAM to secure access to the data and make sure only the correct people are authorised to perform certain tasks.
An all in one monitoring and logging tool, designed to provide visibility of everything happening within the environment and alert when something unexpected happens.