A vast pool of resources from the google cloud platform is no less than treasures for tech-savvy. From letting you create software and run like it would do on DataCenter to letting you launch your own website. GCP has helped enterprise-systems-developers with its broad suite of products and services in many ways. Here are a few of those services, and the differences between them:
GOOGLE COMPUTE ENGINE(GCE)
1)Google Compute Engine is one of the services of Google Cloud Platform(GCP).
2)GCE is an IaaS, which allows access to fundamental resources such as virtual machines, virtual storage, etc. Other than, these resources IaaS also offers:
1) VM Disk Storage
3) Load balancer
4) IP address
3)All of these resources are made available to end-users via server virtualization.
4)If you want virtual hardware or virtual storage then GCE is a good start.
5)You can run VM with Ubuntu or Windows Operating system.
6)You get access to Google Cloud Storage(GCS) for object-based storage needs. GCS is a service within the GCP.
7)It provides unified-object-storage(i.e. it is a computer object-data storage architecture that manages data as objects and allows retention of massive amounts of unstructured data.) for live or Archived Data(AD is a process of moving data that is no longer actively used to a separate storage for long-term retention and live data is the data which is frequently used.)
8)These objects stored in GCS are grouped into Buckets.
9)Buckets are containers within the cloud that can be individually assigned to storage class.
10) A bucket can be created whose name has to be globally unique(In GCP storage).
11)Resources in Bucket has to be accessed publicly via URL.
12)Various options for Storage class are
Multiregional: used to stream videos.
NearLine: store the attached documents.
ColdLine: store very rarely accessed document.
13)One of the most important features Compute engines provide is 5 GB persistent disk' which manages the hardware behind the zonal persistent disk so that you can easily add or resize your disk without redundancy, which also gives persistent disk encryption i.e. GCE automatically encrypts your data before it travels outside of your instance to persistent disk storage space.
GOOGLE APP ENGINE(GAE)
1)Google App Engine is a fully managed, serverless platform for developing and hosting web applications at scale. You can choose from several popular languages, libraries, and frameworks to develop your apps, then let App Engine take care of provisioning servers and scaling your app instances based on demand.
2)Currently, GAE, supports the following languages, libraries, and frameworks. They are listed below:
Go, PHP, Java, Python, Node js,.NET, Ruby, C# are few among them.
3)GAE is a PaaS that provides Web-App developers and enterprises with access to Google's scalable hosting, application security, web service interface, browser-based development environment.
4)It allows the developers to create a database and edit the application code either via Application Programming Interface or point-and-click tools.
5)GAE requires that apps be written in Python, Java and supported language, store data in Google BigTable and use the Google Query Language.
6)It allows you to just write code, without the need of managing the underlying hardware/infrastructure.
7)With capabilities such as automatic scaling-up and scaling-down of your application between zero and planet-sized, fully managed repairing and management of your servers, you can offload all your infrastructure concerns to Google.
8)It provides security from threats using App Engine firewall capabilities, Identity, and Access Management(IAM) rules.
9)It allows you to pay only for the resources you consume(pay-as-you-go basis.)
Google Container Engine(GKE)
1)GKE is a cluster management and orchestration development to run and manage Docker container.
2) Google Container is based on the Kubernete system, Google’s open-source container management system.
3)It is deployed for use on on-premise, hybrid cloud or public cloud infrastructure.
4)GKE schedules containers into a cluster and then manages them automatically based on defined stipulations and requirements.
5)Interaction with GKE can be conducted via the google cloud command-line-interface(CLI) of the GCP console.
6)Kubernetes can be used to launch and load balance Docker Container.
7)Kubernates automates the deployment, scaling and managing of containerized applications.