Archive of posts from August 2019

What I Learned About GCP

I’ve been on AWS since February of 2009, and my first bill was for $1.21 for some S3 Storage. Recently, I wanted to understand the Google Cloud Platform, as people talk about Spanner, BigQuery, BigTable, and App Engine. I figured the best way to learn was to challenge myself with a Google certification exam.

Given all my AWS experience, I initially wanted to write a blog article about what I liked and disliked, but I don’t think it’s that simple. There are exciting things within AWS and Google. Both of the platforms are complex, so this by no means is exhaustive. It’s more of what I noticed in my first couple of logins to Google Cloud.

The first thing I noticed was outside the service names how familiar the services were, and it didn’t take much to understand the VPCs, IAM, Billing, monitoring, Kubernetes (GKE), and Storage. The service names are vastly different, where Google calls everything Cloud blah and AWS calls them AWS or Amazon blah. Most of the fundamental principles were the same, especially in primary services like Compute, Storage, and IAM. This terminology probably speaks more to multi-cloud, than anything else.

The second thing I found that the Google Cloud Shell in the browner was outstanding. Google Cloud Shell is a container running which gives you a fully functioning Linux shell with disk space. Cloud Shell can be used for files, configuration files like Kubernetes manifests, and to check out code repositories. The kicker is that it’s embedded into the service and is free. The closest thing AWS offers is the shell inside Cloud9 service, which comes with an added expense. The Cloud Shell is something I liked on GCP.

The third thing I noticed was this concept of projects, which is a folder construct. I’m not sure if I like it. I saw examples where people used seperate folders for dev, test, and Production in the same account. I would be a little concerned given how easy it would be to be in the wrong project and issue commands. I prefer my dev/test to be separate accounts from Production. So I don’t necessarily know if this is a good or bad thing, but trends toward dislike.

Next fourth thing I noticed was the firewall rules. AWS has both the concept of Security Groups and Firewalls (NACLS). GCP only has firewall rules. The rule structure is impressive, as it allows to target by service account, tags, IP addresses. I would have a concern in a larger environment that the Firewall Rule list would be overly complicated and difficult to read and manage. I much prefer smaller nested security groups on AWS. However, the flexible of the GCP Firewall is impressive. I want the concept of tags inside security groups within AWS. So firewall rules are something I liked.

The fifth thing I want to highlight is the instance configuration. While AWS offers fixed CPU and memory instances, GCP offers custom selections for memory and CPU. This could be very interesting if there are a low CPU and high memory workload. I didn’t see significant cost differences between an overprovisioned AWS resource vs. a custom GCP resource. However, I also didn’t do an in-depth, TCO analysis. Again, I see pros and cons to this and probably I am neutral on this subject.

The last thing is the UI. It is different from AWS, and it took some use getting used too. It’s very similar in my experience to the G-Suite Admin or other Google services. I found the configuration of computing to be more changing given it’s a single page with tabs, vs. the AWS workflow. However, other items like Storage seemed to be more friendly. It doesn’t make a lousy user experience. Again I am neutral on this topic, I learned how to use it.

Probably now you are reading this and looking for that summary or in conclusion section. I’m not going to provide it. I remember two decades ago when we wanted to stand up web servers in a data center for a project, and it was going to cost $5,000 before we wrote the first line of code. As struggling college students, this wasn’t going to happen. What I am going to say is to go build something. Its never been easier for a builder to make an idea come to life on a platform you prefer with minimum investment (free tier). If your game is running Cobol inside a Kubernetes container, go do it. If you hate infrastructure go Serverless. Cobol on serverless would me attractive, eh? The power is in your hands. If you don’t have any ideas, go get a cloud certification. There never been a better time for a technologist with cloud experience.

I’ve been on AWS since February of 2009, and my first bill was for $1.21 for some S3 Storage. Recently, I wanted to understand the Google Cloud Platform, as people talk about Spanner, BigQuery, BigTable, and App Engine. I figured the best way to learn was to challenge myself with...

Passed Google Associate Cloud Engineer

I passed the Google ACE Exam. The course while it doesn’t provide all the content covered on the exam, it points out all the topics which are required to pass the exam. Before studying for this exam, I had limited GCP experience but extensive AWS experience.

In addition to what is covered in the Acloud.guru course, I found these following topics extremely helpful.

https://cloud.google.com/docs/compare/aws/

IAM

https://cloud.google.com/iam/docs/service-account https://cloud.google.com/compute/docs/access/service-accounts#compute_engine_default_service_account https://cloud.google.com/iam/docs/understanding-roles https://cloud.google.com/iam/docs/understanding-roles#primitive_roles https://cloud.google.com/iam/reference/rest/v1/Policy

Compute

https://cloud.google.com/sdk/gcloud/reference/config/set https://cloud.google.com/compute/docs/startupscript https://cloud.google.com/compute/docs/storing-retrieving-metadata https://cloud.google.com/compute/docs/machine-types https://cloud.google.com/compute/docs/disks/scheduled-snapshots https://cloud.google.com/compute/docs/instance-groups/#autohealing

Storage

https://cloud.google.com/storage/docs/storage-classes

Analytics

https://cloud.google.com/bigtable/ https://cloud.google.com/billing/docs/how-to/export-data-file https://cloud.google.com/billing/docs/how-to/export-data-bigquery

App Engine

https://cloud.google.com/sdk/gcloud/reference/app/deploy https://cloud.google.com/sdk/gcloud/reference/deployment-manager/deployments/list https://cloud.google.com/appengine/docs/standard/php/an-overview-of-app-engine#limits

Networking

https://cloud.google.com/vpc/docs/using-vpc https://cloud.google.com/vpc/docs/firewalls https://cloud.google.com/compute/docs/ip-addresses/ https://cloud.google.com/load-balancing/ https://cloud.google.com/load-balancing/docs/choosing-load-balancer https://cloud.google.com/router/docs/

Kubernetes

https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ https://cloud.google.com/kubernetes-engine/docs/concepts/statefulset https://cloud.google.com/kubernetes-engine/docs/concepts/pod https://cloud.google.com/kubernetes-engine/docs/concepts/daemonset https://cloud.google.com/sdk/gcloud/reference/container/clusters/create https://cloud.google.com/sdk/gcloud/reference/container/clusters/resize https://cloud.google.com/kubernetes-engine/docs/quickstart https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/ https://cloud.google.com/kubernetes-engine/quotas https://cloud.google.com/kubernetes-engine/docs/troubleshooting

Billing

https://cloud.google.com/billing/docs/how-to/budgets

DB

https://cloud.google.com/sql/ https://cloud.google.com/sql/docs/mysql/backup-recovery/restore https://dev.mysql.com/doc/refman/8.0/en/binary-log.html https://cloud.google.com/db-migration/ https://cloud.google.com/spanner/ https://cloud.google.com/datastore/

Functions

https://cloud.google.com/functions/docs/concepts/overview

Stackdriver

https://cloud.google.com/error-reporting/ https://cloud.google.com/logging/ https://cloud.google.com/profiler/ https://cloud.google.com/debugger/ https://cloud.google.com/trace/ https://cloud.google.com/logging/docs/audit/

Several people in the forums and the Internet have made comments comparing the GCP ACE to AWS. I found that difficult of the exam compares to the AWS Solution Architect Associate combined with the AWS SysOps Associate exam.

Thank you Mattias Anderson for putting together an excellent course on acloud guru.

I am thinking about pursuing the Google Cloud Professional Architect, before diving into some other certifications.

I passed the Google ACE Exam. The course while it doesn’t provide all the content covered on the exam, it points out all the topics which are required to pass the exam. Before studying for this exam, I had limited GCP experience but extensive AWS experience.

In addition to what...