On-demand and Self-service
No human intervention needed to get resources. Customers using the automated interface get processing power, storage and the network they need without the typical complex configuration.
Broad network access
Access from anywhere
Resource pooling
Providers share resources to consumers. Resources are available at multiple locations, you just need to decide where to get the resource from.
Rapid elasticity
Get more resources quickly as needed
Measured service
Pay only for what you use
Cloud computing is essentially the continuation of a model that rent out computing infrastructure and have it managed by dedicated professionals.
IaaS - With IaaS, the services provides the underlying architecture you to run servers.
CPU, memory, storage, and networking is provided as a service.
The user needs to manage the OS and the application.
Example - Google Compute Engine,
PaaS - The entire platform is provided to you as a service. All you need to provide is your application.
The platform is a managed service.
All the user provides is the application and data.
Example - AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, OpenShift
SaaS - The platform and application is provided to you. All you need to do is to bring your data to the system.
The platform and software is provided as a service to the user.
The user supplies the data.
Examples - SAP, Salesforce, G-Suite, Dropbox, Salesforce, Cisco WebEx, Concur, GoToMeeting
Google product and services can be broadly categorized as:
Compute
Storage
Big Data
Artificial Intelligence
Networking
Cloud Operations
Tools
Documentation:
Compute:
Leveraging compute can include virtual machine via Compute Engine
Running docker containers in the Google's Kubernetes Engine (GKE)
Deploying applications in a managed platform like App Engine
Running event-based server-less code using Cloud Functions
Storage: A variety of managed storage services available as well.
For unstructured storage -> Cloud Storage
Managed relational database -> Cloud SQL or Cloud Spanner
No-SQL database -> Cloud Bigtable or Cloud Datastore
Google divides the world into three multi-regional areas:
America
Europe
Asia/Pacific
"Zone is the deployment area of the GCP. When you want to run a Virtual Machine (VM) in GCP, that would be placed on a zone you defined. Region is created using several zones. Regions are located in several geographical locations with round trip network latency under 5ms!!
If you need to establish an application with high availability you should establish your application in multiple zones.That allows you to provide the service continuously without any failure.Google provides multi region resource allocation facility.Which means your resources are located at least two geographically different locations which are 160 km apart.The most important thing is you can use resources located in multiple regions for the sake of virtualization." - Intro to GCP
Points to remember:
A zones may have one or more data centers. For example, the us-west1
region denotes a region on the west coast of the United States that has three zones: us-west1-a
, us-west1-b
, and us-west1-c
.
Zonal resources operate exclusively in a single zone. That means, if the zone becomes unavailable, there won't be resources available either.
3. Regional resources operate across multiple zones but still within the same region. An application using these resources can be redundantly deployed improve its availability.
4. Finally, Global resources can be managed across multiple regions. These resources can further improve the availability of an application.
5. The GCP resources you use no matter where they reside must belong to a project.
GCP Project:
A project is a logical organizational entity for creating and using these resources and managing billing, API's and permissions.
A project can be easily created, managed, deleted or even recovered from accidental deletions.
Each project is identified by a unique project ID and project number.
You can name your project and apply labels for filtering. These are changeable but the project ID and project number remain fixed.
Projects can belong to a folder.
You should use folders to reflect the hierarchy of your enterprise and apply policies at the right levels in your enterprise.
You can nest folders insider folders.
A single organization owns the folders beneath it. Organization is the root node of a GCP resources hierarchy. Although you aren't required to use an organization, they are very useful.
Organization lets you set the policy that apply throughout your enterprise.
Having an organization is required to use folders.
You define IAM policies to have granular control over all the GCP resources you use. Cloud IAM define who has access to what resources, and o inspect and modify such roles and permissions.