Provides a primer to the technologies that paved the way for cloud computing and describes the current state of the art. The presentation provides an overview of IaaS, SaaS, PaaS, BaaS, and rich mobile device connectivity to the web.
2. CLOUD COMPUTING
The cloud has become pervasive in all aspects of computing
This presentation looks at the evolution of the cloud from the base
enabling technologies to the modern cloud.
3. CLOUD ENABLERS
Three interrelated computing trends, popularized in the 90’s, paved the
way for cloud computing
Distributed Computing
Virtualization
Hosting
4. CLOUD TRANSFORMATIONS
Virtualized Grids pave
the way for the cloud
Browser dominated
Cloud Computing
Smart devices drive
Cloud as Middleware
Hosting upends the
software industry
5. DISTRIBUTED COMPUTING- THE RISE OF
THE APP SERVER
To enable large scale networked systems, computational load can be distributed
between application components
AKA N-tier, the primary architectures are 2-tier Client-Server apps, and 3-tier,
client-application server- database
With distributed apps, each component is self contained and communicates via a
messaging system
Application components are distributed across hardware machines, enabling load
balancing and failover to duplicate systems. Called grid computing, this is a
foundational architecture for the Cloud Computing
3-tier architectures proliferated with the internet, and app servers grew
exponentially
While a host of new app server companies were spawned (e.g. Coldfusion,
Bluestone, Jboss), two companies dominated the java appserver space-BEAWeblogic
(now Oracle) and IBMWebsphere
Additionally, Microsoft owns the windows/nt space with their .net product
6. SERVERVIRTUALIZATION
Virtualization allows you to run additional operating systems as
instances on a single hardware server
From the perspective of Software, when it is “Virtualized” it is no
longer tied to a specific hardware platform
For example a windows software application can run on a virtualized Unix box
Allows a single platform to support multiple application flavors
The dominant virtualization platforms areVMware , Citrix Zen (Open
source), and Microsoft Hypervisor
Grid computing optimizes networked hardware sytems,
virtualization optimizes individual machines
7. BENEFITS OFVIRTUALIZATION
Optimize hardware deployments
Consolidate apps on a single platform
Fully utilize hardware by “un-dedicating” to a specific OS
Centralized vs distributed simplifies application lifecycle
Develop/Maintain for one platform
Update once to a central location versus updating all the distributed nodes
Foundation for elastic computing
Virtual machines on grids can automatically be spun up and down to handle variable
computing loads
Not surprisingly these are also key attributes of cloud computing
8. DEDICATED VS VIRTUALIZED
Apps on
dedicated
Windows NT box
Apps on
dedicated
HP/UX box
Apps on
dedicated
Linux box
Windows/Unix/Mac/Linux
Apps usingVMware on a ‘un-
dedicated” Linux box
9. GRID COMPUTING,VIRTUALIZATION AND
THE CLOUD
Virtual machines and Grid Computing provide the plug & play building
blocks that enable the scale required for cloud computing
They dramatically lower the lifecycle costs of large IT systems fostering
a much larger community of innovators then would otherwise be
possible
These advances set the table for Google,Amazon, eBay,…
10. CLOUD TRANSFORMATIONS
Virtualized Grids pave
the way for the cloud
Browser dominated
Cloud Computing
Smart devices drive
Cloud as Middleware
Hosting upends the
software industry
11. HOSTING
This is the third trend that paved the way for cloud computing
Hosting generally refers to businesses that run hardware and software
systems and then rent computing services to end-users and developers.
Hosting is largely a business model transformation versus technology shift
It’s worth noting that this is the oldest business model for computing, dating back to
timeshared mainframes in the 60’s (the first “clouds”)
Hosting upsets the dominant business model for the last three computing
generations- capital expenditures on hardware and software
Mainframes (IBM, Sperry,Amdahl, Burroughs)
Client Server (DEC,HP, IBM, SGI, Sun, SAP, Oracle )
PC (Microsoft,Apple, Dell, IBM, HP)
12. THE TIMESHARING REVIVAL
Virtualization and Distributed computing make large scale data centers
practical
The Internet offers public access to hosting centers
The combination has fostered a whole new industry of hosting
companies that together have propelled a new disruptive computing
platform- Cloud computing
13. HOSTING COMPANIES
There are a variety of flavors of hosting companies, and there is a lot of confusion in
how these terms are used. From my experience the following are generally accepted
definitions
ASP (application service provider)- this was popular in the late 90’s and early 00’s.
With an ASP you still owned the software, but the ASP would run it in on their
computers and charge you a service fee. Examples are USi and Corio. Most of
these companies have been absorbed by the MSP’s or expired. IBM purchased Corio
and ATT purchased USi
MSP (managed services provider). MSP’s precede ASPs. It became popularized in
the early 90’s with companies like EDS and IBM Global Services. An MSP would take
over managing hardware and software systems for an enterprise. Essentially they
would become a companies’ IT organization. Adding ASP’s allowed them to offer
the same service off-site, i.e. offer a hosting option
14. HOSTING CONTINUED
Web hosting. As companies scrambled to get a web presence, a massive
industry arose to host everything you needed to create web sites, and later
web apps. Examples include RackSpace,Verio, and Opsource. Some of
these companies have evolved to IaaS
SaaS (Software as a Service). SaaS refers to a single hosted application
where a software vendor develops and hosts the application. WebEx and
Salesforce.com were pioneers in the SaaS model. SaaS players introduced
the concept of multi-tenancy, to refer to an architecture where all
hardware and software resources are shared among the user community.
Prior to that, hosting generally was single tenant- meaning that your were
renting back your own hardware and software system, not shared with
other companies. Multi-tenancy introduces enormous economies of scale
and software lifecycle efficiencies that are passed on to customers as cost
savings
15. HOSTING CONTINUED
IaaS (infrastructure as a service). This is the base layer and is often
referred to as utility computing. IaaS players offer raw computing
resources as a service. For example you can buy elastic compute cycles,
storage, and database services on a pay as you go model. Amazon was
a pioneer in IaaS with their AWS offering. Other players include
Microsoft Azure and Oracle
PaaS (Platform as a Service). PaaS is the next level up from IaaS and
layers development and deployment tools on IaaS, allowing developers
to rapidly deploy internet applications. Most PaaS platforms assume the
client is a browser, meaning that they are not ideal for mobile devices.
PaaS players include EngineYard and Salesforce Heroku
16. CLOUD TRANSFORMATIONS
Virtualized Grids pave
the way for the cloud
Browser dominated
Cloud Computing
Smart devices drive
Cloud as Middleware
Hosting upends the
software industry
17. EMERGENCE OF THE CLOUD
As SaaS matured and IaaS & PaaS emerged, the term Cloud became a
part of the lexicon, unifying all of the XaaS categories and meaning all
things virtualized and hosted
Throughout this transformation, the browser has been the primary
access to the web. For web sites this has been adequate, but the
architecture has been limiting for web based applications
As will be discussed in the following slides, new connected devices are
driving the next transformation
A major contributor to the popularity of the term is Salesforce.com who was one of
the earliest companies to rebrand around “cloud”
18. SO WHAT IS A “CLOUD”
Generally when people refer to an architecture as a “cloud” it has the following
characteristics:
Virtualized and centralized
Applications are deployed as virtual machines and are developed and maintained on a
centralized server farm
Hosted (however not always, see Private clouds)
Elastic computing (additional compute power is automatically spun up to meet
demand)
Self service provisioning
Customers can provision their own applications without requiring IT’s involvement
Pay as you go model
In the XaaS world this refers to the ability to buy software services and utility computing
services based on usage, or an all you can eat subscription.
In the corporate world this often refers to charge backs that are usage based.
This differs by magnitudes from the enormous upfront investment of buying software and
hardware
19. SIDEBAR: PRIVATEVERSUS PUBLIC CLOUDS
Private and public clouds are differentiated in a few ways
A primary distinction is that private clouds are single tenant, meaning
there are no shared resources with other companies
Private also often means that it is hosted within a companies data
center, aka “on-premise”
In this latter case, it is differentiated from other IT implementation by
the basic component of a cloud architecture as described on the
previous slide
Virtual, elastic, self service, usage based
20. CLOUD TRANSFORMATIONS
Virtualized Grids pave
the way for the cloud
Browser dominated
Cloud Computing
Smart devices drive
Cloud as Middleware
Hosting upends the
software industry
21. PARADIGM SHIFT: CLOUD MIDDLEWARE
Browsers were designed to browse content on the internet, which made sense
when the primary use was to browse web sites
We are at the beginning of a shift to the internet being used as a gigantic application
server
It is very similar to the shift from mainframe computing to client-server. Browsers
are similar to dumb terminals connected to a mainframe
Tablets, phones, and wearables, are causing a similar disruption to the cloud as PC’s
did to mainframe computing
The primary utility of these devices is applications, not browsing, which relegates
browsers to second class citizens. In fact many devices will not even have a browser
The new paradigm is n-tier, with application components distributed on devices and
the cloud, communicating via a messaging system
The dominant communication protocol between these components is REST APIs
22. SIDEBAR: SMARTVERSUS DUMB CLIENTS
The first generation of the web was primarily dumb clients (underutilized PC’s) connected to
the web by browsers.
Browsers communicate with servers via page generation, where the server does all
computation and then ships an HTML page to be rendered on the PC’s browser. When your
input something new in the browser, a new page is generated on the server and shipped back.
In the modern web a client can be any device- PC, tablet, phone, meter, sensor, wrist band,
glasses…. These devices have unique local intelligence not accessible from the browser(e.g.
GPS location, Capture,Voice) that can be exploited.
Legacy HTML Page generation approaches are no longer adequate for the modern web
The appropriate model is service based, where the smart device and the server communicate
by exchanging services and splitting the execution of programs. You can think of this as Client-
Service as it is very similar to Client-Server computing models.
The primary client technology is HTML5, native IOS (Apple), native Android (Google) and
Windows 8 (Microsoft)
23. THE MODERN CLOUD: CBE
Cloud Back-ends are the newest generation of clouds leveraged as
middleware. CBE is purpose built for the modern web where smart
devices need to connect to the cloud
CBE offers a set of services that enables rich clients to have cloud back
ends for storage, collaboration, app administration, tracking stats, and a
host of other capabilities
CBE developers typically use a service based programming model, based
on REST APIs, versus page generation approach.
Examples of CBE vendors include DreamFactory, Kinvey, and FaceBook
Parse