Google Cloud Associate Certified Engineer — 100daysoflearning (Part 8)
Day 45, 46 & 47
In continuation to the course for Google Cloud Associate Certified engineer lets move on with next set of learning topics.
The next section that we are going to touch upon is the Networking part of Google cloud covering networking ie. VPC & subnets ,Load Balancer and Google Cloud DNS at a very high level.
VPC is networking happening in Cloud. So all the applications that run they actually communicate internally and with the outside world. Most of the networking problems and difficulties are not visible to the user as most of the networking is handled by cloud provider. There are default options where the whole network can be created in seconds and google handles all the communications within the network, so you do not have to care if you only want to focus on development. Google also allows you to create custom networks and specify specific rules and firewalls to create a secure network for you application . So as far as network in concerned its actually a huge topic and google just makes it simple to implement with power for you to customize the networking model based on your needs.
VPC are global resource means that they do not belong to specific region. They consist of subnets , you can consider the VPC as a city and subnets in VPC as the streets , the resources are like houses and the ip addresses are similar to house number so no two houses can have same address similarly in a VPC no two resources will have same ip address. Since different cities can have same house numbers as they are differentiated by city similarly different VPC can have same subnet ranges and the VPC creates uniqueness for them .
If you go to VPC Network form the hamburger menu and click create network , you can see the following:
As you can see above in the subnet section you can see custom and automatic where custom lets you create your own custom subnet range within a VPC and Automatic one create the subnets in each region as subnets are regional . They get their own IP range created by GOOGLE . Just say you you want to migrate an on premise application to Google cloud and the license for that app sits on the server with IP 192.168.1.20 then you can create a custom subnet with a range 192.168.1.0/24 and set the Compute engine ip address to the above mentioned ip address. This way you can make use of the custom subnet creation in Google Cloud. all the communication is handles by routes so routes are used to send the traffic within resources, within subnets as well. you can create custom routes and you can override the existing routes as well.
Load balancing is very important aspect for any application . Google Load balancers are based on Google’s own infrastructure. They have over 80 point location to serve as an entry point and then it used a software based load balancer on top of it . You do not need instance based load balancer and you can server 1-million requests without burning up an instance due to software load balancer running on top of googles infrastructure.
Google cloud have three different types of load balancers :
- Cloud Load balancing HTTP(S)
It also supports health checks , autoscaling and sticky sessions ie. user will be redirected to the same instance based on session.
In order to choose which load balancer to choose from where google has provided another flowchart just like the storage one which is quite self explanatory.
And Also google provided a great summary for choosing the load balancer as well.
As you can see from the above two images it is pretty clear on when to use which kind of load balancer depending on the traffic type like of the traffic type is HTTP / HTTPS then go for the HTTP/ HTTPS load balancer. Also it tells you when to use Regional when to use Global, when to use External and when to use internal. So the summary is great for understanding the usage of Load balancer for your modern day application .
Cloud DNS is a Domain name System provided by Google and google have oversimplified the definition for this which is the best one to quote here for understanding the Google Cloud DNS .
“Google 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. Cloud DNS translates requests for domain names like www.google.com into IP addresses like 22.214.171.124. Cloud DNS is programmable. You can easily publish and manage millions of DNS zones and records using our simple user interface, command-line interface or API” — by https:// cloud.google.com/dns
At a very high level this is what Google cloud has to offer for Networking, Loadbalancing and Cloud DNS. There are very powerful services and creating and VPC from scratch and spinning up instance in it and defining routes for the same can be a good lab to master some of the above topics .
Apart form this in past few days I did came across a new project called Kube Eagle- It is a monitoring tool which runs on top of prometheus and grafana and gives you a very curated hardware level metrics for the kubernetes Nodes with which you can save money and get a better picture about your kubernetes Nodes running inside the cluster. I have already written a blog for that on what it is, how to set it up and and to use it . It will show you the complete setup for Kube Eagle and I did setup for one of my running kubernetes cluster for production use. So if you have free time or want little break from the Google Cloud Certification series of mine then probably you can check that as a refreshment.
Kube Eagle on ORACLE Kubernetes Engine
Everybody is aware or at least heard of of Prometheus and Grafana which is the most widely used tools for monitoring…
That is all I have for you this time . So you learnt Google Cloud Networking concepts Including the VPC , Load balancers, Cloud DNS and Kube Eagle.