2. Man’s mind, once stretched to a new idea,
never goes back to its original dimension.
Wendell Holmes
3. • What is Cloud Computing?
• Why Cloud? - Key Business Drivers
• Benefits of Cloud – Tangibles and Intangibles
• Capacity Planning and Scalability models
• Cloud Characteristics
• Cloud Service Models
• Providers and Consumers of Service Models
• Cloud Deployment Models
• Virtualization in depth
• Different types of Virtualization
• Virtualization and Containerization
• Cloud Architecture
Agenda
4. What is Cloud Computing?
Cloud computing is a model for enabling ubiquitous, convenient, on-demand
network access to a shared pool of configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be rapidly provisioned and
released with minimal management effort or service provider interaction.
This cloud model is composed of five essential characteristics, three service models,
and four deployment models.
6. Important steps that we take to set up a lab:
• Internal engineering lab (dev, test, staging)
• Production environment
• Typical release cycles across projects
• Any known constraints, inhibitors, bottle necks etc?
• Time and cost for upgrades (think multiple customers)
12. Why does the shift from CapEx to OpEx matter?
• Companies need to preserve cash and not burn cash (Angel Investing/VC Funding)
• CapEx requires upfront investment even before the market needs are validated
• OpEx allows you to pay on a monthly or yearly basis
CapEx to OpEx
15. • Horizontal “scaling out” – Sharding data is partitioned across a collection of
identically structured databases. Is managed using the Elastic Database client
library.
• Vertical scaling is accomplished using Azure PowerShell cmdlets to change the
service tier, or by placing databases in an elastic pool.
Horizontal and Vertical Scaling
18. Cloud delivers both tactical and strategic value – so analyze both the hard and soft costs separately
Quantify the true value of agility – should never overlook this while considering cloud adoption
Be clear with the organization’s key drivers for cloud adoption:
• Is there a mandate to reduce costs?
• Losing market share to competition because of your inability to rapidly develop and deploy
applications
• Are your experiencing outages which is damaging your reputation among your customers
• Need for advanced and economical business continuity and disaster recovery solutions
• Want to expand your global footprint but worried about latency because of your current environment
Benefits of Cloud : Tangibles and Intangibles
19. Value drivers that are often overlooked in typical ROI calculations include:
Accelerated time to market
Improved developer productivity
Decreased provisioning time
Reliable uptime and many more intangible benefits of cloud.
Benefits of Cloud : Tangibles and Intangibles
20. National Institute of Standard & Technology
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access
to a shared pool of configurable computing resources
(e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned
and released with minimal management effort or service provider interaction.
This cloud model is composed of five essential characteristics, three service models, and
four deployment models.
23. On-demand self-service: A consumer can unilaterally provision computing capabilities, such as server time
and network storage, as needed automatically without requiring human interaction with service provider.
Broad network access: Capabilities are available over the network and accessed through standard
mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets,
laptops, and workstations).
Resource pooling: The provider’s computing resources are pooled to serve multiple consumers using a
multi-tenant model, with different physical and virtual resources dynamically assigned and re-assigned
according to consumer demand. There is a sense of location independence in that the customer generally has
no control or knowledge over the exact location of the provided resources but may be able to specify location
at a higher level of abstraction (e.g., country, state, or datacenters). Examples of resources include storage,
processing, memory, and network bandwidth.
Five Essential Characteristics:
24. Rapid elasticity: Capabilities can be rapidly and elastically provisioned, in some cases automatically,
to scale rapidly outward and inward commensurate with the demand. To the consumer, the
capabilities available for provisioning often appear to be unlimited and can be appropriated in any
quantity at any time.
Measured Service: Cloud systems automatically control and optimize resource use by leveraging a
metering capability at some level of abstraction appropriate to the type of service (e.g., storage,
processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and
reported, providing transparency for both the provider and consumer of the utilized service.
Five Essential Characteristics:
27. Infrastructure: includes provisioning of hardware or virtual computers on which one
generally has control over the OS; therefore allowing the execution of arbitrary software.
Platform: indicates a higher-level environment for which developers write custom
applications. Generally the developer is accepting some restrictions on the type of
software they can write in exchange for built-in application scalability. E.g., libraries,
database, middleware, Java,.Net, Python, NodeJs etc.
Software (as a Service): is a model of software deployment where the software
applications are provided to the customer as a service
Service Models
30. Deployment Models
Public cloud: The cloud infrastructure is provisioned for open use by the general public. It may be owned,
managed, and operated by a business, academic, or government organization, or some combination of them. It
exists on the premises of the cloud provider.
Private cloud: The cloud infrastructure is provisioned for exclusive use by a single organization comprising
multiple units. It may be owned, managed, and operated by the organization, a third party, or some
combination of them, and it may exist on or off the premises.
Community cloud: The cloud infrastructure is provisioned for exclusive use by a specific community of
consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and
compliance considerations). It may be owned, managed, and operated by one or more of the organizations in
the community, a third party, or some combination of them, and it may exist on or off the premises.
Hybrid cloud: The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private,
community, or public) that remain unique entities, but are bound together by standardized or proprietary
technology that enables data and application portability (e.g., cloud bursting for load balancing between
clouds)."
32. Cost savings:
• Lower TCO
• Pay for usage, avoid over provisioning/capacity
Scalability:
• Rapid expansion – Local & Global
• DR (no need to pay for what can possibly not happen)
Flexibility:
• Change HW configuration on the fly or at least reboot
• Adapt platform to baseline dynamically
• Easily integrate systems in cloud
Training:
• Setup a lab instantly
• Try new features/technology
WHY PUBLIC CLOUD?
33. Evolution of Cloud Computing
• Solving large
problems with
parallel computing
• Network-based
subscriptions to
applications
• Offering computing
resources as a
metered service
• Anytime, anywhere
access to virtualized
IT resources
delivered
dynamically as a
service.
Software as a Service
Utility Computing
Cloud Computing
Grid Computing
Abstraction –> Simplification -> Capability Aggregation
34. Evolution of Cloud Computing
While tracking the historical evolution, five core technologies have seemed to play an
important role in the realization of Cloud computing.
These are: Distributed systems, Virtualization, Web 2.0, service-oriented computing and
utility computing.
Distributed Systems:
Clouds are essentially large distributed computing facilities that make their services
available to third parties on demand.
Characterization of a distributed system proposed by Tanenbaum:
“A distributed system is a collection of independent computers that appears to its
users as a single coherent system.”
35. Three major milestones have led to Distributed computing: Mainframe computing, Cluster
computing and Grid computing.
Mainframes:
These were the first examples of large computational facilities leveraging multiple processing units.
Mainframes were powerful, highly reliable computers specialized for large data movement and massive
IO operations. They were mostly used by large organizations for bulk data processing such as online
transactions, enterprise resource planning, and other operations involving the processing of significant
amount of data.
Clusters:
Cluster computing started as a low-cost alternative to the use of mainframes and supercomputers. The
technology advancement that created faster and more powerful mainframes and supercomputers has
eventually generated an increased availability of cheap commodity machines as a side effect.
Being built by commodity machines, they were cheaper than mainframes, and made available
high-performance computing to a large number of groups, including universities and small research labs.
1) Distributed systems
36. Grid Computing:
Grid computing appeared in the early 90s as an evolution of cluster computing. In analogy with
the power grid, Grid computing proposed a new approach to access large computational power,
huge storage facilities, and a variety of services. Users can “consume” resources in the same
way as they use other utilities such as power, gas, and water. Grids initially developed as
aggregation of geographically dispersed clusters by means of Internet connection.
Cloud computing is often considered as the successor of Grid computing: In reality, it
embodies aspects of all of these three major technologies (Mainframe, Cluster, Grid)
It encompasses a collection of solutions allowing the abstraction of some of the fundamental
elements for computing such as: hardware, runtime environments, storage, and networking.
Virtualization is essentially a technology that allows creation of different computing
environments. These environments are named as virtual, because they simulate the interface
that is expected by a guest.
2) Virtualization
37. The Web is the primary interface through which Cloud computing deliver its services. It
encompasses a set of technologies and services that facilitate interactive information sharing,
collaboration, user-centered design, and application composition. This has transformed the
Web into a rich platform for application development. Such evolution is known as “Web 2.0”.
Web 2.0 brings interactivity and flexibility into Web pages, which provide enhanced user
experience by gaining Web-based access to all the functions that are normally found in desktop
applications.
These capabilities are obtained by integrating a collection of standards and technologies such
as XML, Asynchronous Javascript and XML (AJAX), Web Services, and others.
Eg of Web 2.0 applications are Google Documents, Google Maps, Flickr, Facebook
3) Web 2.0
38. A service is an abstraction representing a self-describing and platform agnostic component
that can perform any function.
Services are composed and aggregated into a Service-Oriented Architecture (SOA) , which is a
logical way of organizing software systems to provide end users or other entities distributed
over the network with services through published and discoverable interfaces.
Utility computing is a vision of computing, defining a service provisioning model for compute
services in which resources such as storage, compute power, applications, and infrastructure
are packaged and offered on a pay-per-use basis. The idea of providing computing as a utility
like natural gas, water, power, and telephone connection has a long history but has become a
reality today with the advent of Cloud computing.
4) Service Oriented Computing
5) Utility Oriented Computing
40. • Single OS image per machine
• Software and Hardware tightly coupled
• Running multiple applications on same
machine often creates conflict
• Underutilized resources
• Hardware-Independence of Operating
System and applications
• Virtual machines can be provisioned to any
system
• Can manage OS and application as a single
Virtualization in depth
41. Virtualization achieves multiple OS instances to run concurrently on a single computer.
This needed a host OS to virtualize initially, which later evolved to work on a hardware
directly.
Bare Metal Hypervisor
42. Type 1 hypervisor is installed directly on
bare-metal hardware, it doesn't require
an additional OS, it is the OS, it is a light or
minimal OS.
Ex:. KVM, Xen, Azure, Vmware ESXi
⦿ Advantages: System is thin, the
hypervisor has direct access to the HW,
higher density hardware.
Disadvantages: Really, Really large VMs
are not supported, HW should support
virtualization technology, costlier and
Really bad console interface.
Type 2 is more of an application installed
on an operating system and not directly on
the bare-metal.
Ex: VirtualBox and VMware Workstation
⦿ Advantages: Run on a greater array of
HW because the underlying Host OS is
controlling HW access, Easy user
interface, Data can be secured on the
desktop.
Disadvantages: Decreased security, Loss
of Centralized Management, Lower VM
Density, Cannot support as many VMs as
the first type.
Types of Virtualization
46. Hypervisor vs Docker
A hypervisor or virtual machine monitor (VMM) is a piece of computer
software, firmware or hardware that creates and runs virtual machines