cloudy ajax 08 10

27
Cloudy Ajax Christopher Keene

Upload: rajivmordani

Post on 13-May-2015

701 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Cloudy Ajax 08 10

Cloudy AjaxChristopher Keene

Page 2: Cloudy Ajax 08 10

2

Agenda

● What isn’t a cloud?● What issues does cloud raise for Ajax developer?● Example: building and deploying Ajax app on EC2

Page 3: Cloudy Ajax 08 10

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 ;-)

Page 4: Cloudy Ajax 08 10

4

There are Clouds…

● No setup● No up front costs● IT as nature intended

Page 5: Cloudy Ajax 08 10

5

And Then There Are Clouds

● Insecure● Proprietary● Dude, where’d my

data go?

Page 6: Cloudy Ajax 08 10

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?

Page 7: Cloudy Ajax 08 10

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

Page 8: Cloudy Ajax 08 10

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

Page 9: Cloudy Ajax 08 10

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)

Page 10: Cloudy Ajax 08 10

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

Page 11: Cloudy Ajax 08 10

11

Agenda

● What isn’t a cloud?● What issues does cloud raise for Ajax developer?● Example: building and deploying Ajax app on EC2

Page 12: Cloudy Ajax 08 10

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

Page 13: Cloudy Ajax 08 10

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

Page 14: Cloudy Ajax 08 10

14

Cloud Costs

● 6 small instances(EC2)

● Need persistentstorage too (S3)

● 720 hours/month =$72/server

● Also need systemsmanagement

Page 15: Cloudy Ajax 08 10

15

What Would Google Do?

● Cloud apps have different architectural concerns:– Multi-tenant– Extensible– Self-service– Collaborative

WW D?

Page 16: Cloudy Ajax 08 10

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

Page 17: Cloudy Ajax 08 10

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)

Page 18: Cloudy Ajax 08 10

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

Page 19: Cloudy Ajax 08 10

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

Page 20: Cloudy Ajax 08 10

20

Agenda

● What isn’t a cloud?● What issues does cloud raise for Ajax developer?● Example: building and deploying Ajax app on EC2

Page 21: Cloudy Ajax 08 10

21

Sign Up For Amazon EC2

● Use credit card● 5 minutes max● Funky security

(key pairs, 508certs, etc)

Page 22: Cloudy Ajax 08 10

22

Sign Up for Rightscale (Free Version)

Page 23: Cloudy Ajax 08 10

23

Build Ajax Application

DojoWidgetPalette

Open SourceCloud IDE

Connectwidgets todata

Create WARfile based onDojo, Spring,Hibernate

Drag&DropDesigner

Import data orservices

Page 24: Cloudy Ajax 08 10

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

Page 25: Cloudy Ajax 08 10

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

Page 26: Cloudy Ajax 08 10

26

Live Demo

● Let’s Hope This Works!

Page 27: Cloudy Ajax 08 10

27

Questions?