44
Understanding Cloud Computing

Understanding cloud with Google Cloud Platform

Embed Size (px)

Citation preview

Page 1: Understanding cloud with Google Cloud Platform

Understanding Cloud Computing

Page 2: Understanding cloud with Google Cloud Platform

Dr. Ketan ParmarSr. Tech Lead – InfoStretch Solutions Pvt. Ltd.

@kpbird

+ketanparmar

www.kpbird.com

Page 3: Understanding cloud with Google Cloud Platform
Page 4: Understanding cloud with Google Cloud Platform
Page 5: Understanding cloud with Google Cloud Platform

Traditional Way

Apache

MySql

Programming Language

Apache

MySql

OS (Linux / Windows)

Not Scalable

Page 6: Understanding cloud with Google Cloud Platform

Horizontal vs Vertical ScalingHorizontal v/s Vertical Scaling

Page 7: Understanding cloud with Google Cloud Platform

Traditional Way

Happy Web Server

Sad Database

Not Scalable

Apache

MySql

Apache Apache

Page 8: Understanding cloud with Google Cloud Platform

Traditional Way

Happy Web Server

Master DB may die

Not Scalable

ApacheApache

MySql

Apache

MySql

Master Read / Write Slave Read

Page 9: Understanding cloud with Google Cloud Platform

Traditional Way

Not Scalable

Page 10: Understanding cloud with Google Cloud Platform

Problem

• Hard to Scale

• Hard to Manage

• Costly

• Complex Deployment

• Skilled People

• Unpredictable Load / Spike

• Security

• Software License

Page 11: Understanding cloud with Google Cloud Platform

Necessity is the mother of invention

Page 12: Understanding cloud with Google Cloud Platform

Cloud Computing

“A style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.”

Page 13: Understanding cloud with Google Cloud Platform

Cloud Computing

Page 14: Understanding cloud with Google Cloud Platform

Cloud Computing

Page 15: Understanding cloud with Google Cloud Platform

Cloud Computing

Page 16: Understanding cloud with Google Cloud Platform

Cloud Computing

Page 17: Understanding cloud with Google Cloud Platform

Cloud Computing

Page 18: Understanding cloud with Google Cloud Platform

Scalability Elasticity

"Increasing" the capacity to meet the "increasing"

workload.

"Increasing or reducing" the capacity to meet the

"increasing or reducing" workload.

In a scaling environment, the available resources

may exceed to meet the "future demands".

In the elastic environment, the available

resources match the "current demands" as closely

as possible.

Scalability adapts only to the "workload increase"

by "provisioning" the resources in an "incremental"

manner.

Elasticity adapts to both the "workload increase"

as well as "workload decrease" by "provisioning

and deprovisioning" resources in an "autonomic"

manner.

Scalability enables a corporate to meet

expected demands for services with "long-term,

strategic needs".

Elasticity enables a corporate to meet

unexpected changes in the demand for services

with "short-term, tactical needs".

Scalability vs ElasticityScalability v/s Elasticity

Page 19: Understanding cloud with Google Cloud Platform

Google Cloud Platform

Page 20: Understanding cloud with Google Cloud Platform

Google Cloud Platform

Compute

Compute Engine

App Engine

Storage

Cloud Data Storage

Cloud SQL

Cloud Storage

Networking

Load Balancing

Interconnect

DNS

Big Data

Big Query

Data Flow

Cloud Pub/Sub

Services

Cloud DNS

Cloud Endpoint

Cloud Translate

Prediction

Page 21: Understanding cloud with Google Cloud Platform

Google App EnginePlatform as a Service in Google Cloud Platform

Page 22: Understanding cloud with Google Cloud Platform

Google App Engine

• Popular Languages and Frameworks

• Focus on your code

• Multiple Storage Options

• Powerful built-in Services

• Familiar Development Tools

• Deploy at Google Scale

Page 23: Understanding cloud with Google Cloud Platform

Google App Engine

• Easy to Build• All you need to do is preparing your application code

• Easy to Run• Deploy with single command, and it works

• Easy to Scale• Scale on GAE is automated and easy to configure

Page 24: Understanding cloud with Google Cloud Platform

Google App Engine

• Java• Support standard APIs like JDO, JPA, JavaMail, etc.

• Python• Python 2.7 and full support of any phone libraries

• PHP• Preview stage, but enough to run wordpress

• Go• Experimental stage

Page 25: Understanding cloud with Google Cloud Platform

Google App Engine

• DataStore API

• Memcache API

• Mail API

• URL Fetch API

• Users API

• Image API

• Blobstore API

• Task Queue API

• Mapper API

Page 26: Understanding cloud with Google Cloud Platform

Google App Engine

Hard Limit

• 10 - Apps per developer• 30 sec - Time per request• 2 GB - Blobstore size • 10 MB - HTTP request size • 10 MB - HTTP response size• 1 MB - Datastore item size • 3000 - Number of files per app• 10 MB - Size of any static or app file• 150 MB - Application code size• 5000 - Number of values in an index for an entity• 500 - Number of entities in a batch put or delete

Page 27: Understanding cloud with Google Cloud Platform

Google App Engine

Page 28: Understanding cloud with Google Cloud Platform

Google Compute Engine

• High Performance Virtual Machines

• Power by Google’s Global Network

• Pay for what you use – Really

• Fast and easy provisioning

• Compliance and Security

• Click to Deploy

Page 29: Understanding cloud with Google Cloud Platform

Google Compute Engine

Machine types determine the physical

specifications of your machines, such as the

amount of memory, virtual cores, and

persistent disk limits an instance will have. All

machine types are currently managed by

Google Compute Engine.

Machine types are divided in different classes,

including:

• Standard machine types

• High CPU machine types

• High memory machine types

• Small machine types

Page 30: Understanding cloud with Google Cloud Platform

Google Compute Engine

Page 31: Understanding cloud with Google Cloud Platform

Google Compute Engine

Page 32: Understanding cloud with Google Cloud Platform

Google Compute Engine

All machine types are charged a minimum of 10 minutes. For example, if you

run your instance for 2 minutes, you will be billed for 10 minutes of usage. After

10 minutes, instances are charged in 1 minute increments, rounded up to the

nearest minute. For example, an instance that lives for 11.25 minutes will be

charged for 12 minutes of usage.

Page 33: Understanding cloud with Google Cloud Platform

Google Compute Engine

If you run an instance for a significant portion of the billing month, you can

qualify for a sustained use discount. When you use an instance for more than

25% of a month, Compute Engine automatically gives you a discount for every

incremental minute you use for that instance. The discount increases with

usage and you can get up to a 30% net discount for instances that run the

entire month. Sustained use discounts are calculated and applied to your bill at

the end of the month.

Page 34: Understanding cloud with Google Cloud Platform

Google Compute Engine

Page 35: Understanding cloud with Google Cloud Platform

Cloud SQL

Store and manage data using a fully-managed, relational MySQL database. Google handles replication, patch management and database management to ensure availability and performance.

• Familiar Infrastructure

• Flexible Charging

• Security, Availability, Durability

• Easier Migration; No Lock-in

• Control

• Fully managed

Page 36: Understanding cloud with Google Cloud Platform

Cloud Storage

Use a durable and highly available object storage service. With global edge-caching, your users have fast access to your app’s data from any location.

• Secure and safe

• Competitive and flexible pricing

• Object storage with a fully-featured API

• Flexible access

• Get started now

Page 37: Understanding cloud with Google Cloud Platform

Cloud DataStore

Use a managed, NoSQL, schemaless database for storing non-relational data. Cloud Datastore automatically scales as you need it and supports transactions as well as robust, SQL-like queries.

• Schemaless access, with SQL-like querying

• Managed database

• Autoscale with your users

• ACID transactions

• Built-in redundancy

• Local development tools

• Access your data from anywhere

Page 38: Understanding cloud with Google Cloud Platform

Cloud Networking

Google's network technology helps provide fast and consistent performance for your apps and services.

• Load Balancing• HTTP*, Network (TCP, UDP)

• Interconnect• Direct Peering

• VPN

• Cloud DNS

Page 39: Understanding cloud with Google Cloud Platform

Data Flow (Alpha)

Build, deploy, and run data processing pipelines that scale to solve your key business challenges. Google Cloud Dataflow enables reliable execution for large scale data processing scenarios such as ETL (Extract, Transform, Load), analytics, real-time computation, and process orchestration.

• Unified programming model

• Managed scaling

• Reliable & consistent processing

• Built for the cloud

• Monitoring

Page 40: Understanding cloud with Google Cloud Platform

Cloud Pub/Sub (Preview)

Connect your services with reliable, many-to-many, asynchronous messaging hosted on Google's infrastructure. Cloud Pub/Sub automatically scales as you need it and provides a foundation for building your own robust, global services.

• Reliable and real-time messaging

• Flexibility to embrace change

• Designed for Google scale

• Designed for Fast Data

Page 41: Understanding cloud with Google Cloud Platform

Google’s Infrastructure

Page 42: Understanding cloud with Google Cloud Platform

Cloud Hosting Architecture

Page 43: Understanding cloud with Google Cloud Platform

Question?

Page 44: Understanding cloud with Google Cloud Platform

Dr. Ketan ParmarSr. Tech Lead – InfoStretch Solutions

Pvt. Ltd.

@kpbird

+ketanparmar

www.kpbird.com

Thank Youhttp://goo.gl/IdUkvN