Google Cloud Platform consist,
of a set of physical assets, such as computers and hard disk drives, and virtual resources, such as virtual machines (VMs), that are contained in Google’s data centers around the globe.
- Each data center location is in a global region. Regions include Central US, Western Europe, and East Asia. Each region is a collection of zones, which are isolated from each other within the region.
- Each zone is identified by a name that combines a letter identifier with the name of the region. For example, zone
ain the East Asia region is named
- This distribution of resources provides several benefits, including redundancy in case of failure and reduced latency by locating resources closer to clients. This distribution also introduces some rules about how resources can be used together.
- Berkeley County, South Carolina, United States
- Council Bluffs, Iowa United States
- The Dalles, Oregon, Unites States
- Douglas County, Georgia, Unites States
- Hamina, Finland, Europe,
- Lenoir, North Carolina, United States
- Mayes County, Oklahoma, United states
- St Ghislain, Belgium, Europe
It include three categories; Audits, Resources and Security. And you’ll notice here that the Google Cloud complies with some of the most important standards.
Independent Audits of Infrastructure, Services, and Operations
Google Cloud Platform and the EU Data Protection Directive
Google Cloud Platform Specificity
Google Cloud Compute understand the scalability situation and have a set solutions around it.
Google Cloud Compute is known to have a good ROI.
Development and Administration Tools
In addition to the Google Cloud Platform Console that was discussed in the Concepts section, Google Cloud Platform provides further tools and support for development environments to help you develop your application more easily.
Development tools and environments
The Google Cloud SDK contains tools and libraries that enable you to easily create and manage resources on Cloud Platform, including App Engine, Compute Engine, Cloud Storage, BigQuery, Cloud SQL, and Cloud DNS. It runs on Windows, Mac OS X, and Linux, and requires Python 2.7.x.
Google Cloud Shell makes it easy for you to manage your Cloud Platform Console projects and resources without having to install the Cloud SDK and other tools on your system. Cloud Shell runs on a temporary Compute Engine instance, so you can run
gcloud and other command-line utilities in your web browser.
You can add Cloud Platform as a backend to your Android app directly from the Android Studio IDE. Android Studio ships with out-of- the- box integration for App Engine, Cloud Endpoints, and Google Cloud Messaging for Android (GCM).
IntelliJ IDEA is the Java IDE from JetBrains. Cloud Tools for IntelliJ is a Google-sponsored plugin that adds support for the Google Cloud Platform to IDEA, both Community and Ultimate editions. Cloud Tools for IntelliJ enables you to debug production applications running on the Google Cloud Platform right inside of IntelliJ.
Cloud Tools for Visual Studio
Cloud Tools for Visual Studio enables ASP.NET development in Visual Studio on Google Cloud Platform. You can use Cloud Tools for Visual Studio to create and deploy an ASP.NET application on Google Cloud Platform.
Cloud Tools for PowerShell
Cloud Tools for PowerShell is a set of cmdlets for Windows PowerShell that lets you manage Google Cloud Platform resources. These cmdlets let you automate tasks by writing programs in PowerShell.
Google Plugin for Eclipse
The Google Plugin for Eclipse lets you develop your Java application using the Eclipse IDE for Java developers and then deploy directly to App Engine with one click. The plugin also provides tooling and API support for App Engine development with Java.
Cloud Source Repositories
Each project you create in the Cloud Platform Console has an associated, fully-featured Git repository that is hosted on Cloud Platform. You can use this repository for collaborative development of any application or service. If you are using Stackdriver Debugger, you can use Cloud Source Repositories and related tools in the Cloud Platform Console to view debugging information alongside your code during application runtime.
Debugging, tracing, and analysis
Stackdriver Debugger lets you inspect the state of your Java application running on App Engine or Compute Engine at any code location, without stopping the app or slowing it down. The debugger makes it easier to view the application state without adding logging statements. You can use Stackdriver Debugger with any deployment of your application, including test, development, and production.
Stackdriver Trace enables you to view the remote procedure calls (RPCs) invoked by your App Engine application and to view and analyze the time taken to complete each RPC. You can use Stackdriver Trace to create and view analysis reports that show the latency distribution of requests to your application. You can also compare performance of two sets of requests. For example, you can compare the performance of your application before and after a release by comparing the traces for requests received.
Logging and monitoring
Cloud Platform provides tools for logging and monitoring so you can keep track keep track of the performance and availability of your resources and applications.
Cloud LoggingCloud Logging collects and stores logs from applications and services running on Cloud Platform. You can use Cloud Logging with App Engine or Compute Engine. The Logs Viewer in the Cloud Platform Console lets you see your logs. You can export your logs to Cloud Storage, BigQuery, and Cloud Pub/Sub so you can process them more easily. The Cloud Logging Agent enables you to integrate third-party logs.
Cloud Monitoring provides dashboards and alerts for your applications that run on Cloud Platform. You configure Cloud Monitoring using the Cloud Monitoring Console. Review performance metrics for cloud services, Compute Engine instances, and common open source servers such as MongoDB, Apache, Nginx, and Elasticsearch. You can use the Cloud Monitoring API to retrieve monitoring data and create custom metrics.
Deploying systems automatically
Setting up a system from scratch can take a lot of time. Cloud Platform enables you to deploy preconfigured systems and to define your own configurations.
You can quickly deploy any of over 150 pre-made software packages and system configurations on Compute Engine with just a few clicks by using Google Cloud Launcher. Cloud Launcher offers solutions from Bitnami and Google Click-to-Deploy. You can use the Cloud Platform Console to manage your deployments.
Cloud Deployment Manager
You can use Deployment Manager to help easily and consistently deploy system configurations that you define. You can create static or dynamic templates and then use the command-line interface to deploy and manage your resources. After your configuration is up and running, you can use Deployment Manager to update, delete, and monitor your setup.
There’s Central US, Western Europe and East Asia, and there’s sub zones, they’re numbered here and if you are interested, as to where these zones actually are, which locations, Google lists them so you .
When you’re starting with Google cloud services, you start with the idea of a project. A project is a container for a set of services.
So you can think of it as, for example, if you had a website, you’d have your web servers, your virtual machines, your databases and your networking, maybe like a virtual network, or other types of interfaces contained within one project.
Setting up command-line access with gcloud
one of the primary tools that is used is gcloud, a command-line tool. In order to use this tool, you need to download the Google Cloud Platform Software Development kit or SDK. Once you’ve done that, you want to start gcloud from your terminal and set the correct project folder. You’ll also need to authenticate to gcloud depending on whether you access from your desktop or from the console itself.
Walk-troughs and samples
GitHub repository for Google Cloud developers
Stack overflow question for Google Cloud platform
Experts developers @google.com
You can use some tools and utilities that are included with the Google Cloud to speed up your deployments and your tasks.
Google Launcher is one of them, it creates VMs, and have applications pre-installed like databases, and front-end software.
Your virtual machines will be configured really faster and ready to start working .
Google Compute services definition and Acronym
GCE is Google Compute Engine, or Virtual Machines.
GKE, is Google Container Engine, Docker Containers.
GAE, Google app Engine, Sandbox, Endpoints, GAE, the Sandbox is the version that’s been out for years and years.
Endpoints is mostly Android development, but it’s a general set of middle ware.
Docker: container solution that suppress the need of OS installation, fast and lightweight (solaris container).
What is REST ?
A RESTful API — also referred to as a RESTful web service — is based on representational state transfer (REST) technology, an architectural style and approach to communications often used in web services development.
REST technology is generally preferred to the more robust Simple Object Access Protocol (SOAP) technology because REST leverages less bandwidth, making it more suitable for internet usage. An API for a website is code that allows two software programs to communicate with each another. The API spells out the proper way for a developer to write a program requesting services from an operating system or other application.
The REST used by browsers can be thought of as the language of the internet. With cloud use on the rise, APIs are emerging to expose web services. REST is a logical choice for building APIs that allow users to connect and interact with cloud services. RESTful APIs are used by such sites as Amazon, Google, LinkedIn and Twitter.
Database and Storage Services
Google Cloud SQL
- Based on MySQL
- Default max size is 250GB
- Request up to 500GB per instance
To be continued……