LinkedIn emplea cookies para mejorar la funcionalidad y el rendimiento de nuestro sitio web, así como para ofrecer publicidad relevante. Si continúas navegando por ese sitio web, aceptas el uso de cookies. Consulta nuestras Condiciones de uso y nuestra Política de privacidad para más información.
LinkedIn emplea cookies para mejorar la funcionalidad y el rendimiento de nuestro sitio web, así como para ofrecer publicidad relevante. Si continúas navegando por ese sitio web, aceptas el uso de cookies. Consulta nuestra Política de privacidad y nuestras Condiciones de uso para más información.
Cloud computing Fundamentals - behind the hood of cloud platforms
Man’s mind, once stretched to a new idea,
never goes back to its original dimension.
• 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
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.
What is Cloud?
On-demand, Scalable, multi-tenant, self-service compute
and storage resources
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)
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
• Horizontal “scaling out” – Sharding data is partitioned across a collection of
identically structured databases. Is managed using the Elastic Database client
• 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
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
• 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
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
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.
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:
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:
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
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
• Lower TCO
• Pay for usage, avoid over provisioning/capacity
• Rapid expansion – Local & Global
• DR (no need to pay for what can possibly not happen)
• Change HW configuration on the fly or at least reboot
• Adapt platform to baseline dynamically
• Easily integrate systems in cloud
• Setup a lab instantly
• Try new features/technology
WHY PUBLIC CLOUD?
Evolution of Cloud Computing
• Solving large
• Offering computing
resources as a
• Anytime, anywhere
access to virtualized
dynamically as a
Software as a Service
Abstraction –> Simplification -> Capability Aggregation
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
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.”
Three major milestones have led to Distributed computing: Mainframe computing, Cluster
computing and Grid computing.
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.
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
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.
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
These capabilities are obtained by integrating a collection of standards and technologies such
Eg of Web 2.0 applications are Google Documents, Google Maps, Flickr, Facebook
3) Web 2.0
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
• 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
• Can manage OS and application as a single
Virtualization in depth
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
Bare Metal Hypervisor
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
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
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
Disadvantages: Decreased security, Loss
of Centralized Management, Lower VM
Density, Cannot support as many VMs as
the first type.
Types of Virtualization