Post on 16-Sep-2014
description
transcript
Delivery StrategiesFrom idea to delivery:apps don’t deploy themselves
Thursday, June 17, 2010
So you have a new app.
Thursday, June 17, 2010
Julien Smith, Bitnorth09Thursday, June 17, 2010
It’s going to make everything better.
http
://w
ww
.flic
kr.c
om/p
hoto
s/pa
gedo
oley
/281
1157
950/
Thursday, June 17, 2010
You’ll collaborate!
http://www.flickr.com/photos/adamkr/4650637393/Thursday, June 17, 2010
You’ll be more productive, leaping over obstacles easily.
http://www.flickr.com/photos/joleson/1215644931/Thursday, June 17, 2010
The road ahead will be clear; you’ll make better decisions.
Photo by Alan Cleaver from his Flicker Freestock set. Thanks, Alan!http://www.flickr.com/photos/alancleaver/2638883650/
Thursday, June 17, 2010
You’ll save money!
http://www.flickr.com/photos/ashevillein/2421648773/Thursday, June 17, 2010
Revenues will soar!
Thursday, June 17, 2010
...so why are you so nervous?
What we’ll cover
The democratization of IT
Understanding your constraints and goals
Possible delivery strategies
Thursday, June 17, 2010
1950 1960 1970 1980 1990 2000 2010
Government
Military
Business
Hobbyist
Consumer Internet
Media
Consumer lifestyle
Thursday, June 17, 2010
Think about the evolution of computing.
1970:The righthardware
1980:The right
application
1990:The right
integration
2000:The right adoption
Client-server architectures
Vendor dominance Web, SaaS, XML
Enterprise application adoption is
the new frontier
Where’s the risk?
Thursday, June 17, 2010
Why this happenedDisruption and the democratization of IT
Thursday, June 17, 2010
http://www.flickr.com/photos/harshlight/3235469361Thursday, June 17, 2010
Once, IT was a monopoly.
http://www.flickr.com/photos/theclevelandkid24/4251408727/Thursday, June 17, 2010
Today, it’s a free market. The line of business has tremendous choice in what it owns, runs, and uses.
http://www.flickr.com/photos/hyku/2039448524/Thursday, June 17, 2010
The boardroom loves this: instead of managing machines, they manage services.
http://www.flickr.com/photos/ukanda/4455286483/Thursday, June 17, 2010
But enterprise IT doesn’t like it much, because it forces them to compete, and puts them side-by-side with organizations that spend their entire day doing detailed usage and billing.
http://en.wikipedia.org/wiki/Adam_SmithThursday, June 17, 2010
It’s not all bad, though. There’s a lot to be learned from a transition from monopoly to a free market.
Two reasons.
Thursday, June 17, 2010
There were a couple of reasons IT was a monopoly for so long.
http
://w
ww
.flic
kr.c
om/p
hoto
s/br
ewbo
oks/
3319
7303
27/
(16MB)Thursday, June 17, 2010
First, the machines were expensive. That meant they were a scarce resource, and someone had to control what we could do with them.
http
://w
ww
.flic
kr.c
om/p
hoto
s/ar
gonn
e/45
6339
4851
/
Thursday, June 17, 2010
Second, they were complicated. It took a very strange sect of experts to understand them. AVIDAC, Argonne's first digital computer, began operation in January 1953. It was built by the Physics Division for $250,000. Pictured is pioneer Argonne computer scientist Jean F. Hall.
AVIDAC stands for "Argonne Version of the Institute's Digital Automatic Computer" and was based on the IAS architecture developed by John von Neumann.
http://www.flickr.com/photos/ebeam/3586287989/Thursday, June 17, 2010
This was also a result of scarcity. When computers and humans interact, they need to meet each other halfway. But it takes a lot of computing power to make something that’s easy to use;
http://www.flickr.com/photos/ecastro/3053916892/Thursday, June 17, 2010
in the early days of computing, humans were cheap and machines weren’t
http://www.flickr.com/photos/binaryape/458758810/Thursday, June 17, 2010
So we used punched cards,
http://50ans.imag.fr/images/galerie/Source/IBM-1130-1.jpgThursday, June 17, 2010
and switches,
http
://h
oney
net.o
nofri
.org
/sca
ns/s
can2
2/so
l/sub
mis
sion
/rev
erse
.jpg
Thursday, June 17, 2010
and esoteric programming languages like assembler.
http://www.flickr.com/photos/flem007_uk/4211743886/Thursday, June 17, 2010
Think about what a monopoly means.
http
://w
ww
.flic
kr.c
om/p
hoto
s/ca
vem
an_9
2223
/353
1128
799/
Thursday, June 17, 2010
A monopoly was once awarded for a big project beyond the scope of any one organization, but needed for the public good.
http://www.flickr.com/photos/athomeinscottsdale/2850893998/Thursday, June 17, 2010
Sometimes, nobody wants the monopoly—like building the roads.
Thursday, June 17, 2010
For the most part, governments have a monopoly on roadwork, because it’s something we need, but the benefits are hard to quantify or charge back for.
http://www.flickr.com/photos/leokoivulehto/2257818167/Thursday, June 17, 2010
(IT’s been handed many of these thankless tasks over the years, and the business has never complained.)
http://www.flickr.com/photos/crobj/4148482980/Thursday, June 17, 2010
The only time we can charge back for roads are when the resource is specific and billable: a toll highway, a bridge.
http://en.wikipedia.org/wiki/File:Bell_System_hires_1900_logo.PNG
Thursday, June 17, 2010
Sometimes, we form a company with a monopoly, or allow one to operate, in order to build something or allow an inventor to recoup investment. This is how we got the telephone system, or railways.
For much of its history, AT&T and its Bell System functioned as a legally sanctioned, regulated monopoly.
The US accepted this principle, initially in a 1913 agreement known as the Kingsbury Commitment.
Anti-trust suit filed in 1949 led in 1956 to a consent decree whereby AT&T agreed to restrict its activities to the regulated business of the national telephone system and government work.
Changes in telecommunications led to a U.S. government antitrust suit in 1974.
In 1982 when AT&T agreed to divest itself of the wholly owned Bell operating companies that provided local exchange service.
In 1984 Bell was dead. In its place was a new AT&T and seven regional Bell operating companies (collectively, the RBOCs.)
http://www.corp.att.com/history/history3.htmlThursday, June 17, 2010
When monopolies are created with a specific purpose, that’s good. But when they start to stagnate and restrict competition, we break them apart.
http://www.flickr.com/photos/ktylerconk/4096965228/Thursday, June 17, 2010
In fact, there’s a lot of antitrust regulation that prevents companies from controlling too much of something because they can stifle innovation and charge whatever they want. That’s one of the things the DOJ does.
First: Monopoly good.
Thursday, June 17, 2010
In other words, early on monopolies are good because they let us undertake hugely beneficial, but largely unbillable, tasks.
Then: Monopoly bad.
Thursday, June 17, 2010
Later, however, they’re bad because they reduce the level of creativity and experimentation.
http://www.flickr.com/photos/wikidave/2867257631/
Thursday, June 17, 2010
Today, computing is cheap. We can buy many times the compute power of the Apollo missions with a swipe of a credit card.
http://www.flickr.com/photos/mbrubeck/4460320021/
Thursday, June 17, 2010
It’s also not complicated. Everyone can use a computer. Because today, the computer is cheap and the human’s expensive we spend so much time on user interfaces, from GUIs to augmented reality to touchscreens to voice control to geopresence.
http://www.flickr.com/photos/raneko/4203965136/Thursday, June 17, 2010
What used to take a long time to procure, configure, and deploy is now a mouseclick.
http://www.flickr.com/photos/flem007_uk/4211743434/
Thursday, June 17, 2010
The lesson of monopolies is an important one. When a monopoly set out to build a railroad, it didn’t spend a lot of time asking potential travelers what they wanted.
http://ww
w.flickr.com
/photos/dok1/4547024596/
Thursday, June 17, 2010
When you’re building something huge and expensive, you build what you want, and expect people to be grateful for it.
http://www.flickr.com/photos/mmbrown/3102707594/Thursday, June 17, 2010
But today’s IT user is driving IT requirements.
Thursday, June 17, 2010
They can shop around—choosing SaaS, clouds, and internal IT according to their business requirements.
http://www.codeproject.com/KB/miscctrl/ScriptStudio.aspx Wufoo.com
Thursday, June 17, 2010
They’re increasingly able to build the applications themselves, but expect IT to deliver smooth, fast platforms on which to experiment.
HARDWARE
PLATFORMS
APPS
USERS
Thursday, June 17, 2010
It’s an inversion of the traditional IT “pyramid”, where the hardware dictates the platforms, which in turn dictates, the apps, which dictates what users can do.
HARDWARE
PLATFORMS
APPS
USERS
Thursday, June 17, 2010
Today, what users want to do drives the apps they use, which drives the platforms and the hardware.
Three really big changes.
Thursday, June 17, 2010
We’ve had big changes since that time. The first was client-server computing: the idea that not everything lived in a mainframe, and some things worked well on the desktop. Software like Visicalc—the first spreadsheet—were useful for businesses, even those who couldn’t afford a mainframe.
http://www.flickr.com/photos/scriptingnews/3471500626/Thursday, June 17, 2010
We’ve had big changes since that time. The first was client-server computing: the idea that not everything lived in a mainframe, and some things worked well on the desktop. Software like Visicalc—the first spreadsheet—were useful for businesses, even those who couldn’t afford a mainframe.
http://en.wikipedia.org/wiki/File:NCSA_Mosaic.PNGThursday, June 17, 2010
A second big change was the Web. This browser-based model made computing accessible to the masses. As a result, it became part of society, and everyone knew how to work it. These days, you don’t have to teach a new hire how to use a web browser: they know what links do; what the back button is; and so on.
!"#$%%&&&'()*+,'*-.%#!-/-0%#)1234566)*/%789:;7<=>%?Thursday, June 17, 2010
A third change is the move to mobility. This has been bigger overseas, where the mobile phone is the dominant way of accessing the Internet, but it’s still a shift to the always-connected, always-on lifestyles we lead today.
Now here come clouds
Thursday, June 17, 2010
We’ve had big changes since that time. The first was client-server computing: the idea that not everything lived in a mainframe, and some things worked well on the desktop. Software like Visicalc—the first spreadsheet—were useful for businesses, even those who couldn’t afford a mainframe.
http://www.flickr.com/photos/jamesjordan/2751393381/Thursday, June 17, 2010
Cloud computing is an approach to computing that’s more flexible and lets organizations focus on their core business by insulating them from much of the underlying IT work.
http://www.flickr.com/photos/juniorvelo/3577399832/Thursday, June 17, 2010
At its most basic, it’s computing as a utility – pay for what you need, when you need it, rather than paying for it all up front.
Picking a delivery strategyIdentifying your constraints
Thursday, June 17, 2010
Square pegsDoes how your app will be used match the goals you have for it?
Thursday, June 17, 2010
http://www.scottpargettphotography.com/images/photos/crowd.jpg
One to one One to many
http://exzanian.blogspot.com/2009/04/zuma-news-only-blip-on-world-radar.html
Thursday, June 17, 2010
First, think about the flow of communication and process. Is your intended use one-to-one, or one-to-many?
!
Simple Detailed
Thursday, June 17, 2010
Then think about message complexity. Are you sending quick, brief information; or very detailed data?
Detailed
Simple
One to one One to many
IM
Blogcomment
Linkedinprofilechange
IRC
Facebookstatusupdate
Googlegroup
Privatewiki
Blogpost
Forumcomment
Forumpost
Article
Com
plex
ity
Community
Thursday, June 17, 2010
Form follows function: The dimensions of enterprise software. The reality is that every kind of interaction is unique. Some are private, one-to-one; others are open to everyone. Some are brief snippets; others, detailed prose. Different apps are better for different kinds of interaction; others won’t feel natural.
Operational constraintsWhat are the rules and limitations to consider?
Thursday, June 17, 2010
Is performance acceptable?
Thursday, June 17, 2010
(1981) A. J. Thadhani, IBM Systems Journal, Volume 20, number 4
Figure 3 Interactive user productivity versus computer response time for human-intensive
interactions for system A
E 600 3
-
T
7
w
z
E 500 -
U
E w
E - >
> - -
400 - 3 n
F2
300 -
200 -
100 -
0 -
0
-" INTERACTIVE USER PRODUCTIVITY (IUP)
- HUMAN-INTENSIVE COMPONENT OF IUP
A MEASURED DATA (HUMAN-INTENSIVE " COMPONENT)
0
0
0
0
I 1 I I I 1 2 3 4 5
COMPUTER RESPONSE TIME (SI
The human-intensive component of IUP is computed by using completed period 1 interactions, instead of all TSO interactions in Equation 1.
When the number of logged-on users on the system is small, it is possible for a few users to have an inordinately large effect on the aggregate user work, and hence bias the results. To minimize bias, all data with fewer than twenty-five logged-on users were excluded from the analysis. Furthermore, to minimize the effect of changes in the aggregate user work at different times of the month, the data collected were separated into groups of six to eight consecutive days and analyzed separately. One repre-
sentative sample is used for IUP for each system, with least squares fitted third-order negative exponent polynomial for IUP.
Results and their interpretation
The data summarized in Figures 3 and 4 show that interactive user productivity and the computer response time (CRT) for
412 THADHANI IBM SYST J 0 VOL 20 0 NO 4 0 1981
Thursday, June 17, 2010
There’s a study from IBM in 1981 that shows strong evidence of the relationship between performance and productivity. As systems get faster, users get EXPONENTIALLY more productive.
http
://w
ww
.flic
kr.c
om/p
hoto
s/bi
llsel
ak/3
6669
2332
/
Thursday, June 17, 2010
How fast can you afford? Sure, instantaneous is good, but it also costs an infinite amount.
Customization
Thursday, June 17, 2010
How many people want to customize their word processor?
http://www.codeproject.com/KB/miscctrl/ScriptStudio.aspx Wufoo.com
Thursday, June 17, 2010
Remember those drag-and-drop, parametric screens?
Thursday, June 17, 2010
Many SaaS providers are adding customization and scripting that blurs the lines of what’s a cloud, and what’s an app, and what’s a programming language. Now that you can write code for Google Apps -- as in this example of a script that sends custom driving directions to everyone in a spreadsheet -- the distinction is less and less clear.
The turnkey/tuning tradeoff.
Thursday, June 17, 2010
Standardized
Tailored
Slow, inefficient
Fast/lean, witheconomies of scale
Easy
Easy
Impossible
Sloppy
Thursday, June 17, 2010
Unfortunately, there’s a tradeoff here -- everyone wants fast, cheap, and customized. You can only have two. The more tailored your IT systems are, the more you’ll be paying for them and the slower they’ll be. At the same time, if you use the same applications and processes as everyone else you may sacrifice important differentiators.
http://www.flickr.com/photos/andrewparnell/2738598951/Thursday, June 17, 2010
An increasingly important criteria is the ability to connect existing systems to new ones. Whether this is legacy applications (for authentication, data exchange, or single sign-on); or to third-party customers and partners, the ability to link your systems to others is a huge deal.
Thursday, June 17, 2010
This is one of the reasons a thriving ecosystem around a platform is so important -- because it’s an indicator of ability to develop to the platform, as well as a starting point for integration and extension.
http://www.flickr.com/photos/oobrien/7597395/Thursday, June 17, 2010
Then there’s compliance and security. This may include geographic and legislative issues (where you can put your data) as well as auditing and logging (some industries require physical collection by a separate system.)
Security is a...
http://www.thewhir.com/web-hosting-news/102309_IT_Firms_Skeptical_About_Cloud_PEER_1_Study
Reason to avoid clouds23%
No opinion34%
Reason to move to clouds43%
Thursday, June 17, 2010
This isn’t just about avoiding on-demand systems. The odds are good that many cloud providers are better at security than you are.
Budget & operating constraintsWhat can you afford to take on?
Thursday, June 17, 2010
Airfare
DNS
Cloud
Publictransit
Importantresearch
Hotel
Thursday, June 17, 2010
Affordability
Time (years)
Mon
ey s
pent Point at which
it’s cheaper to buy than rent
Thursday, June 17, 2010
The economics of renting versus buying apply here, too, since the investment is approaching zero. The traditional way of looking at this is to compare an upfront investment to the rental model of a lesser investment (integration, training) and a pay-as-you-go cost.
Time (years)
Mon
ey s
pent
Cheaper to rent for longer
Thursday, June 17, 2010
Several things have changed in recent years in this respect. First, the upfront investment of a pay-as-you-go model has dropped: everyone knows how to use a browser; everyone can access things remotely; vendors have trial models; and so on. So it takes longer to get to the point where it’s cheaper to run your own thing.
Time (years)
Mon
ey s
pent
Unforeseen costs of owning
Thursday, June 17, 2010
There’s also the impact of owning things. Often, IT is a distraction; we make decisions based on existing investments, which means we don’t change things when we can, which means we become less agile.
Time (years)
Mon
ey s
pent
Efficiencies from economies of
scale passed on to customers
Thursday, June 17, 2010
There’s also the impact of owning things. Often, IT is a distraction; we make decisions based on existing investments, which means we don’t change things when we can, which means we become less agile.
Time (years)
Mon
ey s
pent
5 year planning horizon
6 months
Payoff time
Thursday, June 17, 2010
But even if you ignore all of these, here’s why pay-as-you-go wins more and more often: Your time horizon isn’t what it used to be. By the time you’ve paid off your in-house investment, your business will have changed in order to adapt, and you’ll be after something else.
Ease of adoptionHow readily will your users take to it?
Thursday, June 17, 2010
Thursday, June 17, 2010
Existing standards: why do you know what to do here?
Thursday, June 17, 2010
Learning curve is okay; in fact, it’s recommended. Think what it would be like to have to use a wizard every time you wanted to do something.
Thursday, June 17, 2010
Consider Excel: most beginners can grasp it easily; but it’s designed to allow experts to be more productive. This is essential when evaluating how readily your user base will adopt something -- not just on day one, but on day fifty, when they’re expected to be fast and error-free.
http
://w
ww
.flic
kr.c
om/p
hoto
s/fa
rhan
nasi
r/45
7750
8824
/
Thursday, June 17, 2010
Also consider the impact of mobility, and new platforms. Will your users be able to adopt the application in all the places they work?
App/usage fit: Does app function match planned use?
Is the flow of information the right degree of open?Do users work at the right degree of information detail?
Operational constraints
Will it perform fast enough to make users productive?Can I customize it to my business without making it suck?Can I connect it to myself and my partners?Does it comply with legal, privacy, security requirements?
Budget & operating constraints
How does it embody new payment models (freemium, etc.)?Do I understand the ROI & TCO of my chosen approach?
Ease of adoption
Does it use existing standards & conventions my users know?Can first-timers use it, but experts be fast & efficient?Will it work in mobile, disconnected, touch UI, etc.?
Thursday, June 17, 2010
Here’s a quick recap of the criteria we just saw.
Possible delivery strategiesPlatforms & business models to choose from.
Thursday, June 17, 2010
Okay, now let’s look at some of the platforms and business models you can use for this.
Dedicatedhardware
On-premiseprivate clouds
Virtualprivate clouds
Third-partypublic clouds
Thursday, June 17, 2010
There’s a spectrum of platforms out there on which you can run an application.
Bare metal(this is your computer)
Thursday, June 17, 2010
First, there’s bare metal.
http://techyshit.com/15-computer-ads-from-the-past-1950-1980/
Thursday, June 17, 2010
It’s pretty cheap. The vast majority of costs -- sometimes as much as five times the cost of the hardware -- come from operating it, powering it, cooling it, and so on.
Virtual machinesStill yours...
Thursday, June 17, 2010
Then there’s virtualization.
http://www.flickr.com/photos/mynameisharsha/4092086880/Thursday, June 17, 2010
The step-‐func7on nature of bare-‐metal dedicated machines doesn’t distribute workload very efficiently.
http
://w
ww
.flic
kr.c
om/p
hoto
s/h4
ck/2
4135
6210
8/
Thursday, June 17, 2010
Virtualization lets us put many workloads on a single machine
http://www.flickr.com/photos/stawarz/3538910787/Thursday, June 17, 2010
Once workloads are virtualized, several things happen. First, they’re portable
http://www.flickr.com/photos/swimparallel/3391592144/Thursday, June 17, 2010
Second, they’re ephemeral. That is, they’re short-‐lived: Once people realize that they don’t have to hoard machines, they spin them up and down a lot more.
http://www.flickr.com/photos/genewolf/147722350Thursday, June 17, 2010Which inevitably leads to automa3on and scrip3ng: We need to spin up and down machines, and move them from place to place. This is hard, error-‐prone work for humans, but perfect for automa3on now that rack-‐and-‐stack has been replaced by point-‐and-‐click
http://www.flickr.com/photos/pinkmoose/3278324276/Thursday, June 17, 2010
Automa7on, once in place, can have a front end put on it. That leads to self service.
Virtualization divorces the app from the machine.
Physicalmachine
Physicalmachine
Physicalmachine
Physicalmachine
Physicalmachine
Physicalmachine
Virtual machine
One on many
Physical machine
Virtual machine
Virtual machine
Virtual machine
Virtual machine
Virtual machine
Virtual machine
Many on one(or)
Thursday, June 17, 2010
Okay, so these things mean we have applications that run “virtually” – that is, they’re divorced from the underlying hardware. One machine can do ten things; ten machines can do one thing.
“Cloudy” tech.Thursday, June 17, 2010
These are the founda7ons on which new IT is being built. Taken together, they’re a big part of the movement towards cloud compu7ng, whether that’s in house or on-‐demand. If you do all these things, you’re running what many people call a “private cloud”
Virtual private clouds(feels like yours)
Thursday, June 17, 2010
If you like the virtualization, but don’t like having to carry a screwdriver around, virtual private clouds may be right for you.
http://nature.wallpaperme.com/Nature-Historical-Buildings/Fairy+Tale+Fantasy_+Neuschwanstein+Castle_+Bavaria_+Germany.jpg.html?g2_imageViewsIndex=1
Thursday, June 17, 2010
In this approach, you have a machine that feels like it’s your own -- complete with a private IP address and so on. If you want to connect it to the Internet, you do so yourself; it’s just like virtual infrastructure, but someone else is running it.
Infrastructure as a ServiceAmazon EC2, Rackspace Cloud, Terremark, Gogrid, Joyent (and nearly every private cloud built on Zenserver or VMWare.)
Thursday, June 17, 2010
When IT people talk about cloud computing, they usually mean something called IaaS.
http://aws.amazon.com/ec2/pricing/Thursday, June 17, 2010
These are really just virtual machines I can use for just an hour, already connected to the Internet. Here’s Amazon’s “menu” of machines.
•60 seconds per page
•200 machine instances
•1,407 hours of virtual machine time
•Searchable database available 26 hours later
•$144.62 total cost
Desktop EC2
Pages 17,481 17,481
Minutes/page 1 1
# of machines 1 200
Total minutes 17,481
Total hours 291.4 26.0
Total days 12.1 1.1
Thursday, June 17, 2010
A great example of these clouds in action is what the Washington Post did with Hillarly Clinton’s diaries during her campaign. They needed to get all 17,481 pages of Hillary Clinton’s White House schedule scanned and searchable quickly. Using 200 machines, the Post was able to get the data to reporters in only 26 hours. In fact, the experiment is even more compelling: Desktop OCR took about 30 minutes per page to properly scan, read, resize, and format each page – which means that it would have taken nearly a year, and cost $123 in power, to do the work on a single machine.
Web server
Machine instance
MachineImage
Thursday, June 17, 2010
In an IaaS model, you’re getting computers as a utility. The unit of the transaction is a virtual machine. It’s still up to you to install an operating system, and software, or at least to choose it from a list. You don’t really have a machine -- you have an image of one, and when you stop the machine, it vanishes.
App Server
Machine instance
Web server
Machine instance
DBserver
Machine instance
Storage
MachineImage
MachineImage
MachineImage
Thursday, June 17, 2010
Most applications consist of several machines -- web, app, and database, for example. Each is created from an image, and some, like databases, may use other services from the cloud to store and retrieve data from a disk
App Server
Machine instance
Web server
Machine instance
DBserver
Machine instance
StorageDB
server
Biggermachineinstance
Thursday, June 17, 2010
If you run out of capacity, you can upgrade to a bigger machine (which is called “scaling vertically.”)
App Server
Machine instance
Web server
Machine instance
DBserver
Machine instance
Storage
App Server
Machine instance
Web server
Machine instance
DBserver
Machine instance
LoadbalancerMachine instance
Thursday, June 17, 2010
Or you can create several machines at each tier, and use a load balancer to share traffic between them. These kinds of scalable, redundant architectures are common -- nay, recommended -- in a cloud computing world where everything is uncertain.
Platform as a ServiceGoogle App Engine, Salesforce Force.com, Rackspace Cloud Sites, Joyent Smart Platform, (and nearly every enterprise mainframe.)
Thursday, June 17, 2010
The second kind of cloud is called Platform as a Service. In this model, you don’t think about the individual machines—instead, you just copy your code to a cloud, and run it. You never see the machines. In a PaaS cloud, things are very different.
Processing platformData API
Storage
Yourcode
Others’code
Others’code
Others’code
Others’code
Others’code
Auth API
Userdatabase
Image API
Image functions
Blob API
Big objects
...
Governor Console Schedule
Shared components
Thursday, June 17, 2010
- You write your code; often it needs some customization.- That code runs on a share processing platform- Along with other people’s code- The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN- To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn’t use up all the resources) as well as a console.
http://code.google.com/appengine/articles/load_test_screenshot.jpgThursday, June 17, 2010
Here’s a shot of some code running in Google App Engine. I only know that I’m paying by CPU-hour, or for units like bandwidth, email, or storage. This could be one machine whose CPU was used 8%, or a hundred, or a thousand. I don’t know.
http://code.google.com/appengine/articles/logs_admin.pngThursday, June 17, 2010
I can see the logs for my application. But these aren’t for a single machine -- they’re for the application itself, everywhere.
http://googleappengine.blogspot.com/2010/03/easy-performance-profiling-with.htmlThursday, June 17, 2010
I can even find out what parts of my code are consuming the most CPU, across all machines.
Thursday, June 17, 2010
And even their latency when served to people.
http://ww
w.com
puterhok.nl/JSP
Wiki/attach/G
oogleAppE
ngine/GA
EQ
uota.png
Thursday, June 17, 2010
It’s a true, pure utility because you pay for what you use.
http://www.flickr.com/photos/olitaillon/3354855989/Thursday, June 17, 2010
This is a very different model from IaaS. On the one hand, it’s more liberating, because you don’t have to worry about managing the machines. On the other hand, it’s more restrictive, because you can only do what the PaaS lets you.
IaaS and PaaS differences
IaaS
Any operating system you want
Limited by capacity of virtual machine
Scale by adding more machines
Many storage options (file system, object, key-value)
PaaS
Use only selected languages and built-in APIs
Limited by governors to avoid overloading
Scaling is automatic
Use built-in storage (Bigtable, etc.)
Thursday, June 17, 2010
In the case of Google’s App Engine, you have to use their functions and store things in the way they want you to. You get great performance from doing so, but it probably means rewriting your code a bit.
Quota LimitApps per developer 10Time per request 30sBlobstore (total file size) 1GBMaximum HTTP response size 10MBDatastore item size 1MBApplication code size 150MB
Emails per day 1,500Bandwidth in per day 1 GBBandwidth out per day 1GBCPU time per day 6.5hHTTP requests per day 1,300,000Datastore API calls per day 10,000,000URLFetch API calls per day 657,084
Governor(usage cap)
Daily cap(free quota)
http://en.wikipedia.org/wiki/Google_App_EngineThursday, June 17, 2010
PaaS platforms impose usage caps and billing tiers. Here’s Google App Engine’s set of quotas and free caps.
http://wiki.developerforce.com/index.php/Apex_Code:_The_World%27s_First_On-Demand_Programming_LanguageThursday, June 17, 2010
In the case of Salesforce’s Force.com, you have to use an entirely new programming language, called Apex.
Software as a ServiceSalesforce.com, Google Apps, Microsoft Office Live, pretty much any ISV still around today.
Thursday, June 17, 2010
The third kind of “cloud” app is really just a new software delivery model; I hesitate to call them clouds at all, actually. It’s SaaS. And it’s what most people outside of IT think of as “cloud computing.”
Thursday, June 17, 2010
The third kind of cloud is called Software as a Service, or SaaS. Some people argue that this isn’t a cloud at all, just a new way of delivering software. But it’s also what the masses—the non-technologists—think cloud computing means. The problem is that SaaS is pretty much synonymous with “dynamic website” or “the Internet” these days. Nevertheless, if an ISV is shipping software on discs still, their days are numbered.
How you pay for itLots of business models
Thursday, June 17, 2010
DIYYou can always write your own stuff.
Thursday, June 17, 2010
Open sourceStanding on the shoulders of giants
Thursday, June 17, 2010
Gith
ub a
naly
sis
by F
ranc
k C
uny:
htt
p://
ww
w.fl
ickr
.com
/pho
tos/
franc
k_/s
ets/
7215
7623
4478
5740
5/
Thursday, June 17, 2010
Github is a great example of how social coding has transformed and revitalized the open source world, particularly for high-level languages like Rails and Python.
Thursday, June 17, 2010
One last thought about building your own, rather than building it as part of a bigger platform: Adoption is what matters. There’s a build-your-own dilemma: If you create a new environment, you need to change users’ patterns.
Licensed softwareOh, how quaint.
http://www.penneydesign.com/folio_IM_retrogamesmodernthemes.html
Thursday, June 17, 2010
FreemiumAnd other sad, bad portmanteaux
Thursday, June 17, 2010
Collaborativebusinessmodel
Transactionalbusiness
modelUser creates content
Content remains private
Paid
Content becomes part of template
library
Free
Eventualconversion
Engagement, SEO ranking
Revenues
Thursday, June 17, 2010
New freemium models for SaaS blend transactional and collaborative revenue approaches. In this model, “free” users help build the corpus of templates, contributing to SEO ranking and the richness of the offering; while paying users can keep their work private.
Composed applicationStitching together loosely coupled pieces
Thursday, June 17, 2010
Thursday, June 17, 2010
Thursday, June 17, 2010
SaaSPay as you go.
Thursday, June 17, 2010
Thursday, June 17, 2010
Whether it’s PaaS, SaaS, or IaaS, the model is the same: Sell IT on demand, rather than as software or machines.
AdoptionThe real risk when the app is a utility
Thursday, June 17, 2010
Thursday, June 17, 2010
The whole reason you deploy apps is so that you can focus on the things you do best: whatever adds the most value to your business.
Thursday, June 17, 2010
You also deploy apps to handle processes you didn’t want to do yourself anyway.
“What information consumes is rather
obvious: it consumes the attention of its
recipients. Hence, a wealth of information
creates a poverty of attention and a need
to allocate that attention efficiently among
the overabundance of information sources
that might consume it.”
Herbert Simon
Thursday, June 17, 2010
The problem isn’t delivery: we have plenty of options for that. It’s adoption.
http://www.flickr.com/photos/gideon/6582069/Thursday, June 17, 2010
But your users might well not adopt the app despite your best efforts, because they don’t like it, or don’t notice it, or aren’t adopting it in the way you’d hoped.
http://www.flickr.com/photos/roebot/4271975019/Thursday, June 17, 2010
At the same time, you’re seeing what tools and processes are getting adopted -- what’s working? what’s popular? -- and doubling down on those things.
How do you fix this?
Thursday, June 17, 2010
Analytics.
Thursday, June 17, 2010
NEWVISITORS
GROWTH
BOUNCERATE
LOSS
CONVERSIONRATE
GOALVALUE
xTIMEON
SITE
PAGESPERVISIT
NUMBEROF VISITS
SEARCHES
TWEETS
MENTIONS
ADS SEEN
ATTENTION ENGAGEMENT CONVERSION
Thursday, June 17, 2010
Here’s the simplest possible analytics model.
For transactional sites
Can people buy things?
Thursday, June 17, 2010
Remember the four kinds of sites? You need to analyze and optimize the app you’re delivering in the same way.
A site that wants visitors to complete a transaction—normally a purchase—is transactional. There’s an “ideal path” through the site that its designers intended, resulting in a goal or outcome of some kind. The goal isn’t always a purchase; it can also be enrollment (signing up for email) or lead generation (asking salespeople to contact them), and can happen either online or off. For e-commerce, that’s whatever your transaction consists of.
For media sites
Are ads loading quickly and successfully clicked through?
Is content loading fast enough for visitors?
Thursday, June 17, 2010
These sites offer content that attracts and retains an audience. They make money from that content through sponsorship, advertising, or affiliate referrals. Search engines, Adwords-backed sites, newspapers, and well-known bloggers are media properties. For media sites, that’s making money from ads.
For collaboration sites
Can visitors contribute (posting content, voting?)
Is bad content being mitigated (trolling, spam)?
Thursday, June 17, 2010
On these sites, visitors generate the content themselves. Wikis, news aggregators, user groups, classified ad listings, and other web properties in which the value of the site is largely derived from things created by others are all collaborative.
For collaboration, that’s creating and curating content.
For SaaS sites
Are your end users productive?
Are they making fewer mistakes?
Is the site working during customers’ business hours?
Thursday, June 17, 2010
These sites are hosted versions of software someone might buy. SaaS subscribers expect reliability and may pay a monthly per-seat fee for employees to use the service. Revenues come from subscriptions, and a single subscriber may have many user accounts. On some SaaS sites, users are logged in for hours every day.
For SaaS sites, that’s productivity and an error-free experience.
Helpdeskescalation
SLAviolation
Renewal, upsell,reference
Performance
End user (employee)
SaaS site
Churn $
Refund $
6
2
Enterprise subscriber
1
5
3
4
Good Bad
Usability
Good Bad
Productivity
Good Bad
7
Supportcosts $
Impact on site
NegativePositive $$
$
$
Thursday, June 17, 2010
The closest your app will be to one of the four “public” websites is a SaaS site. Here’s the business model for a SaaS site.
(Insert your app here)
Are they adopting the app at the rate you expect?
Are they abandoning the old ways?
What are they using most or neglecting?
How productive are they?
Where are they making mistakes?
?
Thursday, June 17, 2010
What does your adoption and usage map look like?
The cycle of optimization
Metrics & strategy
Collection
Reporting
Institutionalizing the results
Link to KPI/ROI
Optimization & change
Thursday, June 17, 2010
Optimization involves a constant cycle of collection, reporting, communicating and sharing the data, tying it to business processes, changing the system, and repeating.
The good news:you can experiment easily
We stop worrying about ROI when I is zero.
Thursday, June 17, 2010
http://www.flickr.com/photos/steven_wong/2440355239/Thursday, June 17, 2010
They’re not dictating and restricting; rather, they’re regulating usage to ensure a good balance of risk and experimentation
Beyond adoption: outcomes
Deployment Awareness AdoptionBusinessoutcomes
Thursday, June 17, 2010
Once you’ve got adoption, you’re not done: the same tools will let you measure the outcomes:- More productivity- Abandonment of old/bad methods- More leads- Lower cost- Fewer errors- Etc.
One final thoughtPaving the cowpaths
Thursday, June 17, 2010
http://www.flickr.com/photos/jelles/2902422030/Thursday, June 17, 2010
One approach is to “pave the cowpaths.”
http://www.flickr.com/photos/32314864@N02/3253051215/Thursday, June 17, 2010
This is an old civil engineering trick: Watch where people walk, then put paths there.
The next 3 daysThe inside-out organization: Connecting to customers and markets
Mobile Platforms and Enterprise Agility
The Politics of Delivery: Compliance and Governance
Platform Options in the New IT Landscape
Social Behavior, Usage Patterns, and Adoption
Can IT Lead the Social Business Strategy Formulation Process?
Delivery Strategies: The Road Ahead
Tues
day
Wed
nesd
ayTh
ursd
ay
Thursday, June 17, 2010
Thanks!@acrollalistair@bitcurrent.com
Thursday, June 17, 2010