Cloud Architect: How to build architectural diagrams of Google Cloud Platform(GCP)

Sphe Malgas
6 min readFeb 8, 2018

--

So you aspire to be a cloud architect and you want to get started building architectural/Solution diagrams of GCP. This article is for you.

In this blog post we will, step by step, build a diagram of an application (content management) that runs on GCP. We will be using a platform called Lucidchart. Before we start we need to familiarize ourselves with Google Cloud Platform and its resources.

First of all, let us define this following terms:

A cloud architect is an IT professional who is responsible for overseeing a company’s cloud computing strategy. This includes cloud adoption plans, cloud application design, and cloud management and monitoring. Cloud architects oversee application architecture and deployment in cloud environments — including public cloud, private cloud and hybrid cloud. Additionally, cloud architects act as consultants to their organization and need to stay up-to-date on the latest trends and issues.

source

Lucidchart is a web-based commercial service which allows users to collaborate and work together in real time to create flowcharts, organisational charts, website wireframes, UML designs, mind maps, software prototypes, and many other diagram types. Built on web standards such as HTML5 and JavaScript, Lucidchart is supported in many common web browsers like Google Chrome, Firefox, Safari, Microsoft Edge and Internet Explorer 11+.

source

With Lucidchart you are able to share dynamic diagrams with the rest of the world.

Google Cloud Platform, offered by Google, is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search and YouTube.

source

Step 1 : Introduction to Lucidchart

Lucidchart is one of the designing or architecting platforms that Google recommends for building diagrams:

On lucidchart.com, sign up for a Free Single user account, finish registration process and get your hands dirty. You can also visit chrome web store (I use Chrome Browser) and download Lucidchart Diagrams Desktop or Lucidchart Diagrams. The apps you downloaded will appear on your chrome browser Apps on the top right corner.

Now on locidchart.com click help on the footer of the landing page and you will find the following page:

The Help Center page will help you to find all the resources that will teach you about the platform and help you explore.

Step 2: Building architectural diagrams of Google Cloud Platform(GCP)

Ok, now we get to the most important part of this blog post. Make sure that you logged into your account and get ready for work. The following page will show:

documents page

Click Document button and you will redirected to following page:

Click: Shapes > Google Cloud Platform >Save

Output:

Note: now we have GCP icon on your left side

Ok, before we start, first we need to familiarize ourselves with Google Cloud Platform icons.

We are building a solution diagram of an application hosted on GCPs Compute Engine. This is what makes GCP powerful, according to Google, they built GCP by using the very same infrastructure that Google uses to serve content from sites such as Gmail, Google.com, and YouTube. That’s why GCP provides a robust, flexible, reliable, and scalable platform for serving websites /web apps.

What is Google Compute Engine (GCE) ?

Google Compute Engine lets you create and run virtual machines on Google infrastructure. Compute Engine offers scale, performance, and value that allows you to easily launch large compute clusters on Google’s infrastructure. There are no upfront investments and you can run thousands of virtual CPUs on a system that has been designed to be fast, and to offer strong consistency of performance.

source

GCP provides Google Compute Engine for infrastructure as a service (IaaS) use cases. Compute Engine provides a robust computing infrastructure whereby we choose and configure the platform components that we want to use. With GCE, it’s our responsibility to configure, administer, and monitor the systems/applications. Google ensures that resources are available, reliable, and ready for us to use them, but it’s up to us to provision and manage them. The advantage is that we have complete control of our systems and unlimited flexibility.

In this Technical Article, we will use Compute Engine to design and deploy a website-serving system. We use Virtual Machines (VMs) that are called instances, to build our web application. GCE offers a variety of machine types to customize our configuration to meet our needs and our budget. We can choose which operating systems, tech/development stacks, programing languages, frameworks, services, and other software technologies we prefer. We not gonna do any coding in this article but will show drawings.

Before building architectural diagrams of Google Cloud Platform(GCP)

Understand the requirements. If you’re building a new website, make sure you understand the components you’ll need, such as instances, storage needs, and networking infrastructure. If you’re migrating your application from an existing solution, you probably already understand these requirements, but you’ll need think through how your existing setup maps to GCP services.

Plan the design. Think through your architecture and write down your design. Be as explicit as you can.

https://cloud.google.com/solutions/web-serving-overview

Building content management systems

Here we are serving a website or managing our website assets. Google Cloud Storage provides a global repository for these assets. Our architecture deploys static content to Cloud Storage and then syncs to Compute Engine (GCE) to render dynamic pages.

The architecture below depicts the Google Cloud Platform (GCP) components and services to create our Content Management system.

Cloud load balancer: Distribute your load-balanced compute resources in single or multiple regions, close to your users and to meet your high availability requirements. Cloud Load Balancing can put your resources behind a single anycast IP and scale your resources up or down with Autoscaling.

Cloud storage: is used for consistent, scalable, large-capacity object storage. Static content is stored here.

Cloud SQL: for storing dynamic content.

Cloud DNS: is a scalable, reliable and managed authoritative Domain Name System (DNS) service running on the same infrastructure as Google. It has low latency, high availability and is a cost-effective way to make your applications and services available to your users.

source

Next we will build an architecture for containers (microsevices), IoT and cloud functions (serverless) app host on GCP.

--

--