18. 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
20. 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
22. 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
23. 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
24. 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
25. Google App Engine
• DataStore API
• Memcache API
• Mail API
• URL Fetch API
• Users API
• Image API
• Blobstore API
• Task Queue API
• Mapper API
26. 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
28. 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
29. 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
32. 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.
33. 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.
35. 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
36. 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
37. 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
38. 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
39. 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
40. 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