2. Agenda
● What isn’t a cloud?
● What issues does cloud raise for Ajax developer?
● Example: building and deploying Ajax app on EC2
2
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 ;-)
3
4. There are Clouds…
● No setup
● No up front costs
● IT as nature intended
4
5. And Then There Are Clouds
● Insecure
● Proprietary
● Dude, where’d my
data go?
5
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?
6
7. Components of the Cloud Stack
Cloud Application Stack
Cloud - Based Development WaveMaker, Coghead
Environment
Common Services RightScale, Elastra
(provision, monitor, manage)
Runtime Environment Amazon EC2
On-Demand Infrastructure Amazon EC2, S3, SQS
“We expect new vendors to offer powerful cloud-based IDEs that include
traditional programming languages and tools for mashup development.”
- McKinsey & Company, “Emerging SaaS Platform Wars”, 2008
*Source: McKinsey & Co, 2008
7
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
8
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)
9
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 – need
open source IDEs for the cloud
● Enterprise adoption requires flexibility –apps
should be deployable on site or on demand
10
11. Agenda
● What isn’t a cloud?
● What issues does cloud raise for Ajax developer?
● Example: building and deploying Ajax app on EC2
11
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
12
13. Cloud Architecture
Dojo
● Redundant load
balancer
● Two application
servers
Load
Balancer
Load
Balancer
Tomcat/Balancer ● Master/slave
database
App App
Tomcat/Spring
Server Server
DB DB MySQL
Master Slave
13
14. Cloud Costs
● 6 small instances
(EC2)
● Need persistent
storage too (S3)
● 720 hours/month =
$72/server
● Also need systems
management
14
15. What Would Google Do?
● Cloud apps have different architectural concerns:
– Multi-tenant
– Extensible
– Self-service
– Collaborative
WW D?
15
16. Components of the SaaS Stack
SaaS Applications
Cloud - Based Development WaveMaker
Environment
Common Services RightScale, Elastra
(provision, monitor, manage)
Runtime Environment Amazon EC2
On-Demand Infrastructure Amazon EC2, S3, SQS
“We expect new vendors to offer powerful cloud-based IDEs that include
traditional programming languages and tools for mashup development.”
- McKinsey & Company, “Emerging SaaS Platform Wars”, 2008
*Source: McKinsey & Co, 2008
16
17. Cloud Gotchas
● Testing (solution: SaaS testing service like
SOASTA)
● Scaling (solution: SaaS management service like
RightScale)
● Web integration (solution: WOA using REST,
SOAP)
● Data integration (solution: VPN or SaaS
integration platform like Boomi)
● Email from “cloud” IP addresses goes to spam
(solution: use web service email like gmail)
17
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
18
19. Comparing Cloud-Based Tools
Open Closed
Java, Python,
● Language Ruby, Javascript
Proprietary
Spring, RoR, Django,
● Architecture Dojo, Ext, jQuery
Proprietary
● Hosting On demand (EC2)
or on premises
Proprietary
Open source
● Licensing (AGPL)
Proprietary
19
20. Agenda
● What isn’t a cloud?
● What issues does cloud raise for Ajax developer?
● Example: building and deploying Ajax app on EC2
20
21. Sign Up For Amazon EC2
● Use credit card
● 5 minutes max
● Funky security
(key pairs, 508
certs, etc)
21
23. Build Ajax Application
Open Source Import data or
Cloud IDE services
Drag&Drop Connect
Designer widgets to
data
Dojo
Create WAR
Widget
file based on
Palette
Dojo, Spring,
Hibernate
23
24. WaveMaker Deployment Architecture
Runs on Cloud
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
24
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
25