Recently, for various reasons, my interest in Google Cloud Platform (GCP) has peaked. I have had exposure to Amazon Web Services (AWS) and as such, I am fairly comfortable with their offering, platform and services. However I have not had the chance to be exposed at the same level to GCP.
Below is a plan I have put together to help improve my knowledge of GCP, it is quite thorough, I don't intend on getting through all of it but it is a plan to get the ball rolling.
- Connect with the public community, go over popular content:
- GCP Podcasts
- GCP Blog
- GCP Medium posts
- GCP Twitter
- GCP StackOverflow and SeverFault
- Google Groups Mailing lists
- GCP public GitHub repos
- Follow GCP developer advocates - twitter, medium, blogs
- Follow any popular non googler GCP - twitter, medium, blogs
- GCP YouTube Channel
- Search for any books on GCP or GCP products, add them to the reading list
- Review the certifications and study guides, record resources for deeper learning later
- Read over to a shallow depth, GCP's services and offerings
- Compare and contrast popular cloud offerings, identify gaps and strengths
- Rank GCP services by ubiquity and begin studying and building solutions with them. For each service:
- Read over marketing content, client stories, GCP website pitch
- Read over GCP documentation
- Identity and watch any popular GCP or third party how-to videos or tech talks on the product, GCP Next videos, Udemy, Qwiklabs, safari books online, google code labs etc.
- Configure using GCP web console
- Configure using GCP API
- Configure using GCP Cloud Deployment Manager
- Go over configuring service with Terraform, Puppet, Chef, Salt understand maturity and flexibility of integration with GCP or third party products and clouds, are any features missing etc.
- Determine how product integrates with other GCP products, IAM, Load Balancers etc. integrate and try, understand best practices and improvements
- Contrast experience with AWS and Azure equivalent product
- Analyze the business and tech problems this product can help solve
- Determine the elevator pitch for this service
- How can it be used by a development team in DEV, UAT, PROD; how can config and changes be promoted through environments? Think through scenarios and devise answers
- How can it be tested? Can the testing be automated?
- How is it monitored? What can be monitored?
- How is it secured? How can a large organisation isolate and provide this service to teams? With manageable blast radiuses?
- How can it be configured to be highly available?
- What does the perfect setup and or best practice look like for an enterprise organisation?
- How is the billing formulated? How can the cost be reduced by users?
As for the study order for services:
- GCE - Google Compute Engine - GCE Study Notes
- GAE - Google App Engine
- GKE Container Engine
- Container Registry
- GCLB - Google Cloud Load Balancer
- Cloud DNS
- Stackdriver - Monitoring, Logging, Error Reporting, Trace, Debugger
- Cloud Key Management Store (KMS)
- Cloud Identity and Access Management (IAM)
- Cloud Functions
- Cloud SQL
- Cloud Spanner
- Cloud Datastore
- Cloud Storage