Cloud

Google Cloud Platform – first look

Google Cloud Platform (GCP) is Google’s cloud solution which is few steps behind the competitors (Amazon AWS, Microsoft Azure). At the beginning we get 300 USD for 1 year and a free tier which allows to run some small services like 1 micro Linux VM full month. That’s quite lot if we consider that AWS has only 12 months free tier and nothing after or Azure where user gets 200 USD for 1 month + 12 months for free of popular services + some popular services for free after these period. Similar to Google, the free tier is enough to run single micro instance of VM (Linux or Windows).

Interesting is description of the services – under each one Google put corresponding service name from AWS and Azure. It proves that Google is aware that they are few steps behind others and they have to reuse their knowledge to convience developers to use their services.

Regions

Google deployed followed regions:

  • Asia
    • Taiwan – 3 zones
    • Japan (Tokio)- 3 zones
    • Bombai – 3 zones
    • Singapore – 3 zones
  • Australia
    • Sydney – 3 zones
  •  Europe
    • Belgium – 3 zones
    • Finland – 3 zones
    • Frankfurt – 3 zones
    • London – 3 zones
    • Netherlands – 3 zones
  • North America
    • US
      • South Carolina – 3 zones
      • North Virginia – 3 zones
      • Iowa – 4 zones
      • Oregon – 3 zones
      • Los Angeles
    • Canada
      • Montreal – 3 zones
  • South America
    • Sao Paolo – 3 zones

Few months ago some of regions had only 2 zones (zone is physically isolated location).

Planned regions (in 2018, 3 of 8 are not yet running):

  • Zürich (Switzerland)
  • Osaka (Japan)
  • Hong Kong

Features

As Google started with the cloud quite late, they do not provide so many services as competitors. Also not all services are available in each region. The issue touche new regions and basic services like App Engine.

Currently they provide following categories of services:

  • Cloud computing
  • Analytics and machine learning
  • Identity and security
  • Collaboration and productivity

There is few correlated services available, however it is hard to say that they are typical cloud solutions or a part of the platform.

Budget

Before diving into details, I would like to talk about managing budget. It is important feature to monitor costs and limit expenses (especially when users does not care about the costs).

Cloud computing
Compute
  • Compute Engine – running VMs (scalable) – it is possible to choose custom vCPU and RAM; fast VM creation
  • App Engine – PaaS for apps and backend – it supports Node.js, Java, Ruby, C#, Go, Python, PHP
  • Kubernetes Engine – running containers – unfortunately only managed clusters are available; there is no service like AWS Fargate
  • Google Functions (Beta) – running functions in cloud (serverless) – currently only in JS

This category is not yet mature. It is missing a lot of services like serverless Kubernetes (when you do not need to create your own cluster). I am especially suprised by having functions in beta with very limited language support.

Storage
  • Cloud Storage – object storage
  • Persistent Disk – block storage for VMs
  • Cloud Memorystore (Beta) – in memory data store
  • Cloud Firestore (Beta) – NoSQL document database, with sync feature for mobile apps
  • Cloud Storage for Firebase
  • Cloud Filestore – file storage, available in beta

A lot of things are going one in this category. Here we have unique services like Cloud Storage for Firebase.

Databases
  • Cloud SQL – supports only MySQL and PostgreSQL databases; no replication available, instance only in choosen region
  • Cloud Bigtable – NoSQL database
  • Cloud Spanner – scalable and replicable custom SQL database – I was getting some errors at the beginning but finally it started; multi-region is limited to 2 cross-regions: United States (Northern Virginia/South Carolina) and United States, Europe, and Asia (Iowa/Oklahoma/Belgium/Taiwan)
  • Cloud Datastore – NoSQL document database
  • Firebase Realtime Database – database to store and synce data in real time

I am very disappointed by poor choice of services. Especially low number of supported databases in Cloud SQL and limitations of Cloud Spanner.

Migration
  • Data Transfer – a set of tools which supports data transfer into cloud
  • Transfer Appliance (beta) – physical large density storage (rack) send to customer to transfer the data in offline mode (available capacities: 100 – 480 TBs)
  • Cloud Storage Transfer Service – transfer data between storage services
  • BigQuery Data Transfer Service – import data for BigQuery (warehouse)

No unique services comparing to competitors.

Networking
  • Virtual Private Cloud (VPC)
  • Cloud Load Balancing – support of HTTP(S), TCP/SSL, UDP, SSL offloading, sticky sessions
  • Cloud Armor (beta) – WAF
  • Cloud CDN
  • Cloud Interconnect – direct connection to the edge location
  • Cloud DNS
  • Network Service Tiers (beta) – premium tier gives shorter way to PoPs (Point of Presence)

Quite solid set of services with multiple features and configuration option (e.g. load balancing with sticky session support).

They are two kinds of PoP (Point of Presence) – Edge and CDN. There is more CDNs than Edge locations.

Management tools
  • Stackdriver – management tools for GCP and AWS
  • Monitoring – monitoring tools for GCP and AWS
  • Logging – loggers for GCP and AWS
  • Error Reporting – based on above services support crash and failures analysis
  • Trace – tracing latency in the app (VM, container, Google App Engine)
  • Debugger – support debug in production
  • Profiler – profiling support (only for Java, Go, Node.js, Python)
  • Cloud Deployment Manager – support deployment of infrastructure using templates
  • Cloud Shell – CLI via browser
  • Cloud Mobile App – mobile apps monitoring (Android, iOS)
  • Cloud Billing API

We can observe that Google tends to manage some AWS resources. Obviously they consider Amazon as main competitor.

Developer tools
  • Container Registry – registry for Docker containers
  • Container Builder – builder for containers
  • Cloud Source Repositories – private git repository
  • Cloud Tools for IntelliJ
  • Cloud Tools for PowerShell
  • Cloud Tools for Visual Studio
  • Cloud Tools for Eclipse
  • Gradle App Engine Plugin
  • Maven App Engine Plugin
  • Cloud Test Lab – test insfrastructure for Android apps
  • Firebase Crashlytics – realtime crash reporting

Google offers some plugins/tools for different IDE and plugins for few technologies. It is a kind of standard set nowadays.

API Management
  • Apigee API Platform – platform to manage APIs
  • Apigee Healthcare APIx – API platform with some ready APIs for healthcare services
  • Apigee Open Banking APIx – API to support banking integration
  • Apigee Sense – API security layer; monitor suspecious activities
  • API Analytics – healthcare and performance monitoring for APIs
  • API Monetization – supports building API monetization strategy
  • Cloud Endpoints – API deployment, management and gateway
  • Developer Portal – CMS to manage API as a product (portal, documentation, customer registration etc; not available without prior request)

Apigee is a wide set of services supporting API development. I have feeling that some of services are duplicated (e.g. Apigee API Platform and Cloud Endpoints).

IoT
  • Cloud IoT Core – device connection and management for IoT
  • Google Beacon Platform – platform to support beacon based systems

Few interesting services. The first one is the standard. However Beacon Platform looks like unique service which leverage beacon usage to higher level.

Media solutions
  • Anvato – platform to manage video streaming (live and on-demand)
  • Zync Render – rendering platform (resources/workers) for popular rendering software

Google gives to the companies powerfull tool to share the videos. Also rendering plugins should facilitate access to the resources required to render complex models.

Analytics and machine learning

This is the strongest Google’s part. Plenty of interesting services including custom TPUs for ML and genomics!

Data analytics
  • BigQuery – warehouese
  • Cloud Dataflow – transform and enrich data (real time stream or historical batch)
  • Cloud Dataproc – managed Spark and Hadoop
  • Cloud Datalab – improves exploration, analyzes, transformations and visualization of the data using Python, SQL and Java Script (depends on data soruce)
  • Cloud Dataprep (by Trifacta, beta) – service to explore, clean and prepare data
  • Cloud Pub/Sub – publish-subscribe solution (kind of message bus)
  • Genomics – allows gather and share genomic information
  • Google Analytics 360 Suite – enterprise analytics
  • Google Data Studio (beta) – dashboards (reporting)
  • Firebase Performance Monitoring – app monitoring (insights)
AI and machine learning
  • Cloud AutoML (alpha) – simple service for automated machine learning; available upon request
  • Cloud TPU – dedicated hardware solution for ML (using TensorFlow)
  • Cloud Machine Learning Engine – ML engine
  • Cloud Job Discovery (beta) – tool to support job search
  • Dialogflow Enterprise Edition – software to build chatbots
  • Cloud Natural Language – extract informations like locations, events, person etc from natural language (written form)
  • Cloud Speech-to-Text – speech to text (120 languages and variants); works with voice stream and record
  • Cloud Text-to-Speech (beta) – text to speech (30 voices – DE, EN, ES, FR, IT, NL, PT, SE, TR, CN, KR; speed and pitch configurable)
  • Cloud Translation API – well known translation API (same as http://translate.google.com)
  • Cloud Vision API – ML as classifier, object detection, OCR
  • Cloud Video Intelligence – extract metada from videos
  • Firebase Predictions (beta) – supports user behavior prediction to customize app behavior (e.g. offers)
  • Cloud Composer – workflow orchestration

There is some interesting solutions like AutoML, Cloud TPU, Cloud Video Intelligence. In this area the winner will be the platform which will give the best quality in all of these categories. It is quite interesting that Cloud Composer is in this category. Also Cloud Job Discovery is unique solution comparing to other cloud providers.

Identity and security
  • Cloud IAM – Identity and Access Management
  • Firebase Authentication – supports authentication based on password, phone, Google account, etc
  • Cloud Identity-Aware Proxy – central authorization point for apps in GCP; using it enforces usage of signed headers or User API
  • Cloud Data Loss Prevention API – classify and mask sensitive data like credit card numbers etc
  • Security Key Enforcement – 2 steps verification with physical token
  • Cloud Key Management Service – key management (AES-256) with key rotation
  • Resource Manager – central resource manager
  • Cloud Security Command Center (alpha) – supports security risk analysis and reaction before escalation of issue; requires request to get access
  • Cloud Security Scanner – automated scanner for popular vulnerabilities
  • Access Transparency (beta) – near real-time logs from Google’s admins activity on your account; requires request to get access

I am suprised that such features like Resource Manager are in this category. A small disappointment is lack of algorithm selection in Cloud Key Management Service. Plus for visibility with service Access Transparency.

Summary

Google offers a wide range of services in cloud. Some of them are unique, some of them mature and some are on early beginning. Guys have to do big effort to follow the leaders (AWS, Azure) however they are not on the lost position.

Especially interesting are unique services like: Google Beacon Platform, Anvato, Zync Renderer, Cloud TPU, Genomics, Cloud Job Discovery, Access Transparency.

This post was built using Google’s manuals and products pages.

Leave a Reply

Your email address will not be published. Required fields are marked *