Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Cloud Computing
1. Cloud Computing
Tinniam V Ganesh
tvganesh.85@gmail.com
Tinniam V Ganesh - http://gigadom..wordpress.com 1
03/25/12
2. Agenda
What is the cloud ?
Why the cloud ?
Cloud Architecture
Virtualization, Hypervisors and Multi-tenancy
Cloud based services
Types of clouds
Major Cloud providers
When to use the cloud ?
Typical charges on the cloud
Becoming a cloud provider
Becoming a cloud enabler
Cloud worthiness
Security aspects
3. What is the Cloud Computing?
What is the cloud computing ?
3. Cloud computing is Internet-based computing,
whereby shared resources, software, and
information are provided to computers and
other devices on demand, like the electricity grid.
The cloud is a network virtualization of
applications and data
4. Cloud Computing refers to both the applications
delivered as services over the Internet and the
hardware and systems software in the
datacenters that provide those services
5. Allows for a utility style usage of computing
resources
6. Cloud promises real cost savings and agility to
the customer
7. Allows rapid deployment of applications where
the underlying technology components can
expand and contract with the natural ebb and
flow of the business life cycle
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 3
5. Why the cloud?
Cloud Architectures address key difficulties surrounding large-scale data processing.
2. In traditional data processing it is difficult to get as many machines as an application
needs.
3. Second, it is difficult to get the machines when one needs them.
4. Third, it is difficult to distribute and coordinate a large-scale job on different
machines, run processes on them, and provision another machine to recover if one
machine fails.
5. Fourth, it is difficult to auto scale up and down based on dynamic workloads.
6. Fifth, it is difficult to get rid of all those machines when the job is done.
Cloud Architectures solve such difficulties
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 5
6. The cloud perspective
From an engineering perspective the cloud is a computing architecture
characterized by a large number of interconnected identical computing devices that
can scale on demand and that communicate via an IP network.
From a business perspective it is computing services that are scalable and billed on
a usage basis.
Allows customers to shift traditional Capital Expenditures (CapEx) into their
Operating Expenditure (OpEx) budgets
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 6
8. Virtualization
Transforms from “one server- one application” to multiple virtual
machines on each physical machine
Run Multiple OS on a single machine
a thin layer is introduced over either the hardware or on top of
the OS
Leaders in Virtualization – VMware, Citrix Xen
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 8
9. Hypervisor
The Hypervisor is a layer of software running directly on computer
hardware replacing the operating system thereby allowing the
computer hardware to run multiple guest operating systems
concurrently
The Hypervisor presents to the guest OS a virtual OS and manages the
execution of the guest OS.
Multiple instances of a variety of OS’es can share a virtualized resource
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 9
12. Benefits of Hypervisor
Increase server utilization
Consolidate server farms
Decrease complexity
Decrease Total Cost of Ownership (TCO)
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 12
13. Multi tenancy vs. Multi-user
Multi-user is when many users use an application
Multi-tenancy refers to having many different application share the same
software/hardware resources in a cloud.
e.g. ERP applications each customized by different customers.
There are different degrees of multi-tenancy
- Sharing of applications
- Sharing of database schemas
- Using a tenant id
Issues
How does one keep different applications isolated in a virtualized environment?
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 13
16. Cloud based Services
Infrastructure as a Service (IaaS)
Infrastructure as a Service (IaaS) is the
delivery of hardware (server, storage and network),
Delivery of associated software (operating systems virtualization technology, file system), as a
service.
users must deploy and manage the software services themselves
Amazon Web Services Elastic Compute Cloud (EC2) and Secure Storage Service (S3) are
examples of IaaS offerings.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 16
17. Cloud based services
Platform as a Service (PaaS)
Platform as a Service (PaaS) is
an application development and deployment platform delivered as a service over the
Web
This platform consists of infrastructure software, and typically includes a database,
middleware and development tools.
Some PaaS offerings have a specific programming language or API. For example,
Google AppEngine is a PaaS offering where developers write in Python or Java.
.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 17
18. Software as a Service (SaaS)
A SaaS provider typically hosts and
manages a given application in their
own data center and makes it
available to multiple tenants and
users over the Web.
Oracle CRM On Demand,
Salesforce.com, and Netsuite are
some of the well known SaaS
examples
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 18
19. Types of Cloud Architectures
There are 3 types of Cloud Architecture
2. Public clouds
3. Private clouds
4. Hybrid clouds
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 19
20. Public Clouds
Public Clouds
External organizations provide the infrastructure and management required to implement the
cloud.
Typically billed based on usage.
Transfers the cost from a Capital Expenditure (CAPEX) to an Operational Expense (OPEX)
Temporary applications or applications with burst resource requirements typically benefit from
the public cloud’s ability
Public clouds have the disadvantage of hosting your data in an offsite organization outside the legal
and regulatory umbrella of your organization.
In addition, as most public clouds leverage a worldwide network of data centers.
These issues result in potential regulatory compliance issues which preclude the use of public
clouds for certain organizations or business applications.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 20
21. Private Clouds
Private Clouds
The infrastructure is controlled completely by the enterprise.
Typically, private clouds are implemented in the enterprise’s data center and managed by
internal resources.
A private cloud maintains all corporate data in resources under the control of the legal and
contractual umbrella of the organization. This eliminates the regulatory, legal and security
concerns associated with information being processed on third party computing resources.
Currently, private clouds require Capital Expenditure (CAPEX) and Operational
Expenditure (OPEX).
Requires highly skilled labor to ensure that business services can be met.
The private cloud can also be used by existing legacy IT departments to dramatically reduce
their costs and as an opportunity to shift from a cost center to a value center in the eyes of
the business.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 21
22. Hybrid Clouds
Hybrid Clouds
To meet the benefits of both approaches, newer execution models have been
developed to combine public and private clouds into a unified solution.
Applications with significant legal, regulatory or service level concerns for
information can be directed to a private cloud.
Other applications with less stringent regulatory or service level requirements can
leverage a public cloud infrastructure.
Implementation of a hybrid model requires additional coordination between the
private and public service management system.
Involves a federated policy management tool, seamless hybrid integration, federated
security, information asset management, coordinated provisioning control, and
unified monitoring systems.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 22
23. Business Benefits of Cloud Architectures
There are some clear business benefits to building applications using Cloud
Architectures
Almost zero upfront infrastructure investment: If you have to build a large-scale
system it may cost a fortune to invest in real estate, hardware (racks, machines,
routers, backup power supplies), hardware management (power management,
cooling), and operations personnel. Now, with utility-style computing, there is no
fixed cost or startup cost.
Just-in-time Infrastructure:
The solutions are low risk because you scale only as you grow.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 23
24. Key benefits of the Cloud
More efficient resource utilization: Better infrastructure utilization
Usage-based costing: Utility-style pricing allows billing the customer only for the
infrastructure that has been used. The customer is not liable for the entire
infrastructure that may be in place.
Potential for shrinking the processing time: Parallelization is the one of the
great ways to speed up processing. If one compute-intensive or data intensive job
that can be run in parallel takes 500 hours to process on one machine, with Cloud
Architectures, it would be possible to spawn and launch 500 instances and process
the same job in 1 hour. Having available an elastic infrastructure provides the
application with the ability to exploit parallelization in a cost-effective manner
reducing the total processing time.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 24
25. Major Cloud providers
Amazon EC2
Amazon Elastic Compute Cloud (EC2) is at one end of the spectrum. An EC2
instance looks much like physical hardware, and users can control nearly the entire
software stack, from the kernel upwards. This low level makes it inherently difficult
for Amazon to offer automatic scalability and failover, because the semantics
associated with replication and other state management issues are highly
application-dependent.
Google’s AppEngine
AppEngine is targeted exclusively at traditional web applications, enforcing an
application structure of clean separation between a stateless computation tier and a
stateful storage tier. AppEngine’s impressive automatic scaling and high-availability
mechanisms, and the proprietary MegaStore data storage available to AppEngine
applications, all rely on these constraints.
Microsoft Azure
Applications for Microsoft’s Azure are written using the .NET libraries, and compiled
to the Common Language Runtime, a language-independent managed environment.
Thus, Azure is intermediate between application frameworks like AppEngine and
hardware virtual machines like EC2.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 25
26. When to use the Cloud?
A first case is when demand for a service varies with time. Provisioning a data
center for the peak load it must sustain a few days per month leads to
underutilization at other times, for example.
Instead, Cloud Computing lets an organization pay by the hour for computing
resources, potentially leading to cost savings even if the hourly rate to rent a
machine from a cloud provider is higher than the rate to own one.
A second case is when demand is unknown in advance. For example, a web startup
will need to support a spike in demand when it becomes popular, followed
potentially by a reduction once some of the visitors turn away.
Finally, organizations that perform batch analytics can use the cloud computing to
finish computations faster: using 1000 EC2 machines for 1 hour costs the same as
using 1 machine for 1000 hours.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 26
27. Typical charges on the Cloud
For example in the Elastic Compute Cloud (EC2) from Amazon Web Services (AWS)
sells
2. 1.0-GHz x86 ISA “slices” for 10 cents per hour,
3. A new “slice”, or instance, can be added in 2 to 5 minutes.
4. Amazon’s Scalable Storage Service (S3) charges $0.12 to $0.15 per gigabyte-month
Windows Azure Google App
Engine
CPU 0.12 hr 0.10/hr
Bandwidth (out) $0.15/GB $0.12/GB
Bandwidth (in) $0.10/GB $0.10/GB
Pricing unavailable
Storage (Files) $0.15/GB/month
(Blobstore)
$9.99/month (SQL $0.15/GB/month
Storage (DB)
Server up to 1GB) ($0.005/GB/day)
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 27
28. Becoming a Cloud Provider
Make a lot of money. Although 10 cents per server-hour seems low the company could
leverage these economies of scale
Leverage existing investment. Adding Cloud Computing services on top of existing
infrastructure provides a new revenue stream
Defend a franchise. For example, Microsoft Azure provides an immediate path for migrating
existing customers of Microsoft enterprise applications to a cloud environment.
Leveraging large data centers A necessary but not sufficient condition for a company to
become a Cloud Computing provider is that it must have existing investments not only in
very large datacenters, but also in large-scale software infrastructure and operational
expertise required to run them
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 28
29. Becoming a Cloud Enabler
Designing for the Cloud
Use Scalable Ingredients - Ensure that your application is scalable by designing
each component to be scalable on its own. If every component implements a service
interface, responsible for its own scalability in all appropriate dimensions, then the
overall system will have a scalable base.
Have Loosely Coupled Systems - For better manageability and high-availability,
make sure that your components are loosely coupled.
Think Parallel - Implement parallelization for better use of the infrastructure and
for performance. Distributing the tasks on multiple machines, multithreading your
requests and effective aggregation of results obtained in parallel are some of the
techniques that help exploit the infrastructure.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 29
30. Becoming a Cloud Enabler
Designing for the Cloud
Utilize On-Demand Requisition and Relinquishment - After designing the
basic functionality, ask the question “What if this fails?” Use techniques and
approaches that will ensure resilience. If any component fails (and failures happen all
the time), the system should automatically alert, failover, and re-sync back to the
“last known state” as if nothing had failed.
Use Designs that Are Resilient to Reboot and Re-Launch - Don’t forget the
cost factor. The key to building a cost-effective application is using on-demand
resources in your design. It’s wasteful to pay for infrastructure that is sitting idle.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 30
31. Cloud Worthiness
Processing Pipelines
Document processing pipelines – convert hundreds of thousands of documents from
Microsoft Word to PDF, OCR millions of pages/images into raw searchable text
Image processing pipelines – create thumbnails or low resolution variants of an image,
resize millions of images
Video transcoding pipelines – transcode AVI to MPEG movies
Indexing – create an index of web crawl data
Data mining – perform search over millions of records
Batch Processing Systems
Back-office applications (in financial, insurance or retail sectors)
Log analysis – analyze and generate daily/weekly reports
Nightly builds – perform nightly automated builds of source code repository every night
in
parallel
Automated Unit Testing and Deployment Testing – Test and deploy and perform
automated unit testing (functional, load, quality) on different deployment configurations
every night
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 31
32. Cloud worthiness
Websites
Websites that “sleep” at night and auto-scale during the day
Instant Websites – websites for conferences or events (Super Bowl, sports tournaments)
Promotion websites
“Seasonal Websites” - websites that only run during the tax season or the holiday season
Mobile interactive applications (M2M).
M2M services will be attracted to the cloud because these services generally rely on large data
sets that are most conveniently hosted in large datacenters.
Parallel batch processing.
Cloud Computing presents a unique opportunity for batch-processing and analytics jobs that
analyze terabytes of data and can take hours to finish. If there is enough data parallelism in the
application, users can take advantage of the using hundreds of computers for a short time.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 32
33. Cloud worthiness
The rise of analytics.
A special case of compute-intensive batch processing is business analytics. A growing
share of computing resources is now spent on understanding customers, supply
chains, buying habits, ranking, and so on..
Extension of compute-intensive desktop applications.
The latest versions of the mathematics software packages Matlab and Mathematica are
capable of using Cloud Computing to perform expensive evaluations.
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 33
34. Security in the Cloud
Data Confidentiality and Auditability
Current cloud offerings are essentially public (rather than private) networks,
exposing the system to more attacks. There are also requirements for auditability, in
the sense of Sarbanes-Oxley and Health and Human Services Health Insurance
Portability and Accountability Act (HIPAA) regulations that must be provided for
corporate data to be moved to the cloud.
Other standards include PCI, SOX,
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 34
35. Thank You !!!
Tinniam V Ganesh
tvganesh.85@gmail.com
Read my blogs: http://gigadom.wordpress.com/
http://savvydom.wordpress.com/
03/25/12 Tinniam V Ganesh - http://gigadom..wordpress.com 35