cloudy ajax 08 10
TRANSCRIPT
Cloudy AjaxChristopher Keene
2
Agenda
● What isn’t a cloud?● What issues does cloud raise for Ajax developer?● Example: building and deploying Ajax app on EC2
3
Cloud – What Is It?
● Data center with an API● Next generation of hosting● Logical extension to
virtualization● Way for Gartner to sell
more reports● Sure fire VC fundraising
pitch ;-)
4
There are Clouds…
● No setup● No up front costs● IT as nature intended
5
And Then There Are Clouds
● Insecure● Proprietary● Dude, where’d my
data go?
6
What Isn’t A Cloud? 5 Tests
1. Wallet test: can you buy it with a credit card?2. ATM test: do you have to talk to a person to get it?3. Kick test: do you own “thing” you could trip over?4. Supersize me test: can you get 10x as much of it
whenever you want?5. Roach motel test: can you take your app + data
somewhere else whenever you want?
7
Components of the Cloud Stack
*Source: McKinsey & Co, 2008
Cloud - Based DevelopmentEnvironment
Common Services(provision, monitor, manage)
Runtime Environment
On-Demand Infrastructure
WaveMaker, Coghead
RightScale, Elastra
Amazon EC2
Amazon EC2, S3, SQS
“We expect new vendors to offer powerful cloud-based IDEs that includetraditional programming languages and tools for mashup development.”
- McKinsey & Company, “Emerging SaaS Platform Wars”, 2008
Cloud Application Stack
8
Why Cloud Matters: For Business
● Sandbox: A place to experiment● Fewer restrictions● Try first, justify to IT later● Release from the data center straightjacket● Business success drives IT investment
9
Why Cloud Matters: For ISVs
● Sell to business, not IT● Lower cost of sales● Easy to roll out new versions● Ability to create ecosystem around the platform
(e.g., SalesForce AppExchange)
10
Cloud Market Opportunity
● Cloud democratizes application deployment –don’t need a data center to deploy a web app
● Platform adoption is driven by tools – needopen source IDEs for the cloud
● Enterprise adoption requires flexibility –appsshould be deployable on site or on demand
11
Agenda
● What isn’t a cloud?● What issues does cloud raise for Ajax developer?● Example: building and deploying Ajax app on EC2
12
How Does The Cloud Change Ajax?
● Planning: persistent data, failover, email● Developing: tools, source code control● Staging: keeping versions/builds in sync● Deploying: can’t manage what you can’t see
13
Cloud Architecture
DB Master
DB Slave
App Server
App Server
Load Balancer
LoadBalancer
MySQL
Tomcat/Spring
Tomcat/Balancer
● Redundant loadbalancer
● Two applicationservers
● Master/slavedatabase
Dojo
14
Cloud Costs
● 6 small instances(EC2)
● Need persistentstorage too (S3)
● 720 hours/month =$72/server
● Also need systemsmanagement
15
What Would Google Do?
● Cloud apps have different architectural concerns:– Multi-tenant– Extensible– Self-service– Collaborative
WW D?
16
Components of the SaaS Stack
*Source: McKinsey & Co, 2008
Cloud - Based DevelopmentEnvironment
Common Services(provision, monitor, manage)
Runtime Environment
On-Demand Infrastructure
WaveMaker
RightScale, Elastra
Amazon EC2
Amazon EC2, S3, SQS
“We expect new vendors to offer powerful cloud-based IDEs that includetraditional programming languages and tools for mashup development.”
- McKinsey & Company, “Emerging SaaS Platform Wars”, 2008
SaaS Applications
17
Cloud Gotchas
● Testing (solution: SaaS testing service likeSOASTA)
● Scaling (solution: SaaS management service likeRightScale)
● Web integration (solution: WOA using REST,SOAP)
● Data integration (solution: VPN or SaaSintegration platform like Boomi)
● Email from “cloud” IP addresses goes to spam(solution: use web service email like gmail)
18
Why Cloud-Based Tools?
● Easy to try: nothing to download/install
● Easy to collaborate: project in the sky
● Easy to deploy/scale
● Easy to maintain: nothing to get lost
19
Comparing Cloud-Based Tools
● Language
● Architecture
● Hosting
● Licensing
Java, Python,Ruby, JavascriptSpring, RoR, Django,Dojo, Ext, jQuery
On demand (EC2)or on premisesOpen source(AGPL)
Open Closed
Proprietary
Proprietary
Proprietary
Proprietary
20
Agenda
● What isn’t a cloud?● What issues does cloud raise for Ajax developer?● Example: building and deploying Ajax app on EC2
21
Sign Up For Amazon EC2
● Use credit card● 5 minutes max● Funky security
(key pairs, 508certs, etc)
22
Sign Up for Rightscale (Free Version)
23
Build Ajax Application
DojoWidgetPalette
Open SourceCloud IDE
Connectwidgets todata
Create WARfile based onDojo, Spring,Hibernate
Drag&DropDesigner
Import data orservices
24
WaveMaker Deployment Architecture
Dojo 1.0● AJAX Widgets used to
assemble applications
JSON RPC● Messaging from browser
to server
Spring / Hibernate● Basic container and
data access
JaxWS / Acegi● Web services and security
Tomcat, JBoss, WLS and WAS
Runs on Cloud
25
Open And Extensible
● Extensible client - drop into JavaScript code● Extensible server - drop into Java code● Extensible widgets – import or write your own● RAD without the black box – extend WAR files in
Eclipse or your favorite coding tool
26
Live Demo
● Let’s Hope This Works!
27
Questions?