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 am fairly comfortable with their offering, platform and services. However I have not had the chance to be exposed to 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.

  1. Connect with the public community, go over popular content:
    1. GCP Podcasts
    2. GCP Blog
    3. GCP Medium posts
    4. GCP Twitter
    5. GCP StackOverflow and SeverFault
    6. Google Groups Mailing lists
    7. GCP public GitHub repos
    8. Follow GCP developer advocates - twitter, medium, blogs
    9. Follow any popular non googler GCP - twitter, medium, blogs
    10. GCP YouTube Channel
  2. Search for any books on GCP or GCP products, add them to the reading list
    1. Google Cloud Platform in Action
    2. Site Reliability Engineering
  3. Review the certifications and study guides, record resources for deeper learning later
    1. Cloud Architect
    2. Data Engineer
  4. Read over to a shallow depth, GCP's services and offerings
  5. Compare and contrast popular cloud offerings, identify gaps and strengths
    1. Azure
    2. AWS
  6. Rank GCP services by ubiquity and begin studying and building solutions with them. For each service:
    1. Read over marketing content, client stories, GCP website pitch
    2. Read over GCP documentation
    3. Identity and watch any popular GCP or third party how-to videos or tech talks on the product, GCP Next videos, Udemy, Quicklabs, safari books online, Google code labs etc.
    4. Configure using GCP web console
    5. Configure using GCP API
    6. Configure using GCP Cloud Deployment Manager
    7. Go over configuring service with Terraform, Puppet, Chef, Salt understand maturity and flexibility of integration with GCP or third party products/clouds, are any features missing etc.
    8. Determine how product integrates with other GCP products, IAM, Load Balancers etc. integrate and try, understand best practices and improvements
    9. Contrast experience with AWS/Azure equivalent product
    10. Analyze the business and tech problems this product can help solve
    11. Determine the elevator pitch for this service
    12. 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
    13. How can it be tested? Can the testing be automated?
    14. How is it monitored? What can be monitored?
    15. How is it secured? How can a large organisation isolate and provide this service to teams? With manageable blast radiuses?
    16. How can it be configured to be highly available?
    17. What does the perfect setup/best practice look like for an enterprise organisation?
    18. How is the billing formulated? How can the cost be reduced by users?

As for the study order for services:

  1. GCE - Google Compute Engine
  2. GAE - Google App Engine
  3. GKE Container Engine
  4. Container Registry
  5. Cloud Load Balancing
  6. Cloud DNS
  7. Stackdriver - Monitoring, Logging, Error Reporting, Trace, Debugger
  8. Cloud Key Management Store (KMS)
  9. Cloud Identity and Access Management (IAM)
  10. Cloud Functions
  11. Cloud SQL
  12. Cloud Datastore
  13. Cloud Storage
This article was first noted down on the 29th of January, 2017.