The answer to creating a highly scalable web application on GCP is very long and can be made as a blog post. Since writing the whole answer here will be very long and difficult to read, I divided the answer into 3 parts.
As you already mentioned, the steps to create a highly scalable web application on GCP can be divided into:
- Instance template
- Managed Instance Group and Auto Scan
- Network / HTTP load balancer
1. Instance template:. This is the first step in creating this high-performance web application. I have listed the steps for creating a Template Template here . One change you have to make in the template is to change the CentOS 6 image to a bitnami image.
Recommendations:. From my point of view, it is better to create your own image with all the software installed than to use a script run. Since the startup time of new instances in the group should be as short as possible. This will increase the speed with which you scale your web application.
2. Managed Instance Group and Autoscaling: I wrote about the steps to create a Managed Instance Group and Autoscaling here . Since autoscaling and load balancing are independent, any of them can be configured first.
Recommendations: Both autoscaling and load balancing offer instance health checks. From my point of view, setting up a health check for both services is redundant, and I think that a health check only for load balancing will be good.
3. Load balancer: GCP offers two types of load balancer, namely: network and HTTP load balancer. I wrote about the differences of Network Vs HTTP (s) here . Since I assumed that you will create a web stack from a bitnami image, I wrote about the steps to configure HTTP load balancing here .
By following these three steps , I hope you can create a scalable web application . This answer is based on my perspective. If something is wrong or if I missed something, please comment, and I will add it to the table.
Lakshman diwaakar
source share