Understanding Cloud Computing
Dr. Ketan ParmarSr. Tech Lead – InfoStretch Solutions Pvt. Ltd.
@kpbird
+ketanparmar
www.kpbird.com
Traditional Way
Apache
MySql
Programming Language
Apache
MySql
OS (Linux / Windows)
Not Scalable
Horizontal vs Vertical ScalingHorizontal v/s Vertical Scaling
Traditional Way
Happy Web Server
Sad Database
Not Scalable
Apache
MySql
Apache Apache
Traditional Way
Happy Web Server
Master DB may die
Not Scalable
ApacheApache
MySql
Apache
MySql
Master Read / Write Slave Read
Traditional Way
Not Scalable
Problem
• Hard to Scale
• Hard to Manage
• Costly
• Complex Deployment
• Skilled People
• Unpredictable Load / Spike
• Security
• Software License
Necessity is the mother of invention
Cloud Computing
“A style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.”
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
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
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
Google App EnginePlatform as a Service in 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
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
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
Google App Engine
• DataStore API
• Memcache API
• Mail API
• URL Fetch API
• Users API
• Image API
• Blobstore API
• Task Queue API
• Mapper API
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
Google App Engine
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
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
Google Compute Engine
Google Compute Engine
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.
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.
Google Compute Engine
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
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
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
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
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
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
Google’s Infrastructure
Cloud Hosting Architecture
Question?
Dr. Ketan ParmarSr. Tech Lead – InfoStretch Solutions
Pvt. Ltd.
@kpbird
+ketanparmar
www.kpbird.com
Thank Youhttp://goo.gl/IdUkvN