the enterprise cloud
DESCRIPTION
Presentation given on April 21st, 2009 for the first CloudSlam conference (http://cloudslam09.com/)TRANSCRIPT
Mark Masterson | http://jroller.com/MasterMark
The Enterprise Cloud
Mark Masterson | http://jroller.com/MasterMark
Agenda
Mark Masterson | http://jroller.com/MasterMark
What’s an “enterprise”?
Mark Masterson | http://jroller.com/MasterMark
Mark Masterson | http://jroller.com/MasterMark
Mark Masterson | http://jroller.com/MasterMark
$$$
Mark Masterson | http://jroller.com/MasterMark
What makes an enterprise uncool is also what defines it
Mark Masterson | http://jroller.com/MasterMark
What’s “the Cloud”?
Mark Masterson | http://jroller.com/MasterMark
(The Cloud >= (The Net = all things via Internet protocols >= (The Web
= all things via HTTP)))
Mark Masterson | http://jroller.com/MasterMark
But the emerging consensus seems to be that “cloud” = “a unit of
elastically usable resources accessible over a computer
network”
Mark Masterson | http://jroller.com/MasterMark
“Cloud computing”, then, is a style of architecture that exploits such a
“cloud”
Mark Masterson | http://jroller.com/MasterMark
Making use of the Cloud is an architectural and engineering
challenge.
Mark Masterson | http://jroller.com/MasterMark
Architecture is about making design choices. Engineering is about knowing your materials.
Mark Masterson | http://jroller.com/MasterMark
So what are the architectural choices? What are the materials?
Mark Masterson | http://jroller.com/MasterMark
http://rationalsecurity.typepad.com/blog/2009/01/cloud-computing-taxonomy-ontology-please-review.html
http://cloudcomputing.sys-con.com/node/811519
http://www.collab-ogce.org/gce08/images/7/76/LamiaYouseff.pdf
SADIST-PIMP
SPI (SaaS, Paas, IaaS)
Mark Masterson | http://jroller.com/MasterMark
http://www.mindmeister.com/maps/show_public/15936058
Mark Masterson | http://jroller.com/MasterMark
But wait! Once that’s sorted, you have to consider contextual
dimensions…
Mark Masterson | http://jroller.com/MasterMark
http://cloudforum.googlegroups.com/web/Metaverse+Decomposition.pdf
The Radeztsky Cube
Mark Masterson | http://jroller.com/MasterMark
http://cloudforum.googlegroups.com/web/Metaverse+Decomposition.pdf
Mark Masterson | http://jroller.com/MasterMark
SaaS
PaaS
IaaS
SPI Model
Mark Masterson | http://jroller.com/MasterMark
Agenda
Mark Masterson | http://jroller.com/MasterMark
http://twitter.com/gblnetwkr
Mark Masterson | http://jroller.com/MasterMark
http://twitter.com/gblnetwkrhttp://en.wikipedia.org/wiki/Consumerization
Mark Masterson | http://jroller.com/MasterMark
Four sources of pressure driving change: a perfect storm
Consumerization- Massive scale services- Tech smart consumers
Collaboration- Moving from vertical
integration to horizontal, networked biz model
Computing Anywhere- Rising demand for mobility to support faster response to customers
Corporate IT challenges- OPEX, CAPEX, DC
power, space, business responsiveness
Le Cloud
Mark Masterson | http://jroller.com/MasterMark
Agenda
Mark Masterson | http://jroller.com/MasterMark
“Physical” perimeter
Physical data centre
Outside world
Secure “gateway” (DMZ, firewall, etc.)
Authentication + Authorization (Active Directory, LDAP, etc.)
Mark Masterson | http://jroller.com/MasterMark
“Physical” perimeter
Data centre cloud (VMware)
Physical data centre
Virtual servers
Outside world
Mark Masterson | http://jroller.com/MasterMark
“Physical” perimeter
Cloud Provider (EC2)Data centre cloud (VMware)
Physical data centre
Virtual servers
Outside world
Mark Masterson | http://jroller.com/MasterMark
“Physical” perimeter
“Virtual" perimeter
Cloud Provider (EC2)Data centre cloud (VMware)
Physical data centre
Virtual servers
Encrypted VLAN link
Virtual switch / router / messaging broker
Outside world
Mark Masterson | http://jroller.com/MasterMark
If your needs / budget require or can accommodate it, consider RAIC
Mark Masterson | http://jroller.com/MasterMark
Redundant Array of Independent Cloud providers
http://www.jroller.com/MasterMark/entry/raic_pronounce_it_rake_please
Mark Masterson | http://jroller.com/MasterMark
“Physical” perimeter
“Virtual” perimeter
Cloud Provider (EC2)Data centre cloud (VMware)
Physical data centre
Encrypted VLAN link
Cloud Provider (Flexiscale)
Virtual servers
Outside world
Mark Masterson | http://jroller.com/MasterMark
“Physical” perimeter
“Virtual” perimeter
Cloud Provider (EC2)Data centre cloud (VMware)
Physical data centre Cloud Provider (SFDC)
Cloud Provider (Mosso)
Outside world
Mark Masterson | http://jroller.com/MasterMark
Cloud Provider (Mosso)
Cloud Provider (EC2)
Cloud Provider (Flexiscale)
“Physical” perimeter
“Virtual” perimeter
Data centre cloud (VMware)
Physical data centre
Outside world
Marketplace / Broker / Orchestratror
Mark Masterson | http://jroller.com/MasterMark
Note that this is not about, and never will be about, eliminating
the internal data centre
Mark Masterson | http://jroller.com/MasterMark
Cloud Provider (Mosso)
Cloud Provider (EC2)
Cloud Provider (Flexiscale)
“Physical” perimeter
“Virtual” perimeter
Data centre cloud (VMware)
Physical data centre
Outside world
Marketplace / Broker / Orchestratror
Mark Masterson | http://jroller.com/MasterMark
Agenda
Mark Masterson | http://jroller.com/MasterMark
“Things to worry about” sub-agenda
Mark Masterson | http://jroller.com/MasterMark
Since we worked out, sometime in the early ‘90s, what the
architecture of a “client / server” system design looked like…
Mark Masterson | http://jroller.com/MasterMark
There's been a general consensus about a sort of a canonical
architecture for so-called “N-tier systems”
Mark Masterson | http://jroller.com/MasterMark
Presentation
Service Facáde
Application Logic
Data Persistence
Mark Masterson | http://jroller.com/MasterMark
What does the Cloud do to that?
Mark Masterson | http://jroller.com/MasterMark
In a nutshell: efficient horizontal scalability
Mark Masterson | http://jroller.com/MasterMark
And that means parallelism
Mark Masterson | http://jroller.com/MasterMark
Parallelism has significant consequences
Mark Masterson | http://jroller.com/MasterMark
It leads one to try to avoid stateful interactions
Mark Masterson | http://jroller.com/MasterMark
To prefer asynchronous communications (messages)…
Mark Masterson | http://jroller.com/MasterMark
One finds oneself on the front lines of the REST War ™ – the battle of
the RESTafarians vs. the established IT Universe
http://www.dehora.net/journal/2008/07/25/patterns-of-web-architecture/http://www.dehora.net/journal/2008/08/15/rest-as-an-engineering-discipline/
http://www.infoq.com/articles/webber-rest-workflow/http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven/http://www.redmonk.com/jgovernor/2009/02/12/the-rest-of-the-cloud/
http://delicious.com/mastermark/rest/
Mark Masterson | http://jroller.com/MasterMark
And it forces one to think strange things about optimal patterns of
storing and accessing data
Mark Masterson | http://jroller.com/MasterMark
Like sharding one’s data to meet resource demands
http://highscalability.com/unorthodox-approach-database-design-coming-shard/
Mark Masterson | http://jroller.com/MasterMark
Questions like “is two-phase commit a feature? Or a bug?”
begin to seem important
Mark Masterson | http://jroller.com/MasterMark
New terms, like CAP, Paxos and BASE creep into conversations about “eventual consistency”
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.1495http://en.wikipedia.org/wiki/Paxos_algorithmhttp://queue.acm.org/detail.cfm?id=1394128
http://www.allthingsdistributed.com/2008/12/eventually_consistent.html
Mark Masterson | http://jroller.com/MasterMark
This was happening anyway, driven by the clash of Web architecture with the established IT universe
Mark Masterson | http://jroller.com/MasterMark
Cloud computing’s possibilities are accelerating the process
Mark Masterson | http://jroller.com/MasterMark
In particular, we will need to address decomposition of our
systems in two dimensions: app logic, and data
Mark Masterson | http://jroller.com/MasterMark
There is an emerging consensus about what the consequences of
all this are for app logic (and overall system design)
Mark Masterson | http://jroller.com/MasterMark
“The canonical cloud architecture that has evolved revolves around
dynamically scalable CPUs consuming asynchronous,
persistently queued events.”
http://highscalability.com/canonical-cloud-architecture
Mark Masterson | http://jroller.com/MasterMark
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1632&categoryID=102
Mark Masterson | http://jroller.com/MasterMark
•Use scalable ingredients•Eg. Hadoop on EC2
•Keep ingredients loosely coupled•All communication via persistent messaging
•Assume constant failure•Design things to persist state, restart from last known good, and continue their own tasks even if all around them fail•Consider things like re-tries with exponential back-off•Build IN redundancy
•Learn about things like the POSA Blackboard pattern, tuplespaces, and Map / Reduce
Mark Masterson | http://jroller.com/MasterMark
http://www.amazon.com/How-Write-Parallel-Programs-Course/dp/026203171X/http://www.lindaspaces.com/book/
Read this book!
Mark Masterson | http://jroller.com/MasterMark
The impact on data design is much harder to articulate
Mark Masterson | http://jroller.com/MasterMark
Essentially, we optimize for the worst case, in typical current
system designs
Mark Masterson | http://jroller.com/MasterMark
“What’s the most strict, stringent requirement we have to fulfill?”
OK, make the entire system meet it. Store all data in that bucket.
Mark Masterson | http://jroller.com/MasterMark
This is very inefficient
Mark Masterson | http://jroller.com/MasterMark
Moving forward, we will have to think about how to slice and dice
our data for more efficiency
Mark Masterson | http://jroller.com/MasterMark
What data is subject to which rules? What impact does that have on what needs to be stored where,
in what fashion?
Mark Masterson | http://jroller.com/MasterMark
The goal will become: store the right data, in the optimal place.
Mark Masterson | http://jroller.com/MasterMark
“Things to worry about” sub-agenda
Mark Masterson | http://jroller.com/MasterMark
You will likely run into the following problems:
Mark Masterson | http://jroller.com/MasterMark
1) Static, manual processes to provision and manage VMs will probably not scale to demand.
Mark Masterson | http://jroller.com/MasterMark
You will find yourself wanting to archive (versioned) VMs, ensure VMs have specific attributes, and otherwise maintain governance.
Mark Masterson | http://jroller.com/MasterMark
But you will also need a way to maintain the “self-service” factor,
or risk torpedoing a significant part of the value proposition of the
Cloud.
Mark Masterson | http://jroller.com/MasterMark
Again, there are tools available and emerging that can address some of
these needs…
Mark Masterson | http://jroller.com/MasterMark
CohesiveFT ElsaticServer, rPath, Vmware, Enomalism, Elastra,
3Tera, many others
Mark Masterson | http://jroller.com/MasterMark
These tools have widely divergent solutions to these problems – choosing one involves many
tradeoffs
Mark Masterson | http://jroller.com/MasterMark
2) Static, manual configuration and management of your network and
security infrastructure will probably not scale with demand.
Mark Masterson | http://jroller.com/MasterMark
There are tools on the market, available now and emerging, to
meet this demand.
Mark Masterson | http://jroller.com/MasterMark
CohesiveFT VPN-Cubed, Cloudswitch, the next version of Cassatt, whatever vCloud and/or
Cisco’s “the InterCloud” turn out to be, etc.
Mark Masterson | http://jroller.com/MasterMark
But wait! You forgot security!
Mark Masterson | http://jroller.com/MasterMark
“Things to worry about” sub-agenda
Mark Masterson | http://jroller.com/MasterMark
“Physical” perimeter
“Virtual" perimeter
Cloud Provider (EC2)Data centre cloud (VMware)
Physical data centre
Virtual servers
Encrypted VLAN link
Virtual switch / router / messaging broker
Outside world
Mark Masterson | http://jroller.com/MasterMark
“Things to worry about” sub-agenda
Mark Masterson | http://jroller.com/MasterMark
http://www.flickr.com/photos/peterpearson/347124844/
Mark Masterson | http://jroller.com/MasterMark
http://www.flickr.com/photos/paszczak000/2564969200/
Mark Masterson | http://jroller.com/MasterMark
http://en.wikipedia.org/wiki/Kurt_Gödel
LOL!
Mark Masterson | http://jroller.com/MasterMark
http://www.flickr.com/photos/rachels_secret/220269351/
Mark Masterson | http://jroller.com/MasterMark
Mark Masterson | http://jroller.com/MasterMark
http://www.flickr.com/photos/euthman/2989437967/in/set-72057594114099781/
Mark Masterson | http://jroller.com/MasterMark
Get the slides:http://www.slideshare.net/mastermark/
Mark Masterson | http://jroller.com/MasterMark
Join the conversation:http://groups.google.com/group/cloud-computing/
http://groups.google.com/group/cloudforumhttp://tech.groups.yahoo.com/group/cloudcomputing-tech/
… and please come talk to us, as well …http://twitter.com/mastermark
http://www.jroller.com/MasterMark/
Thanks!