Building a Web Platform: Javaâ„¢ Technology at Ning

Preview:

Citation preview

2007 JavaOneSM Conference | Session TS-6039 |

TS-6039

Building a Web Platform: Java™ Technology at NingDiego DovalBrian McCallisterMartin Traverso

Ning, Inc.http://www.ning.com/

2007 JavaOneSM Conference | Session TS-6039 | 2

(nĭng) noun

1. a web platform for creating social networks

Ning Definition

2007 JavaOneSM Conference | Session TS-6039 | 3

Freedom

Creativity

2007 JavaOneSM Conference | Session TS-6039 | 4

2007 JavaOneSM Conference | Session TS-6039 | 5

• Individual copies of applications• Customization and control

• All the way down to the source code• Everything is an API• Backwards compatibility• Scale

• … and do it on the cheap. We’re a startup!

Our Platform Requirements

Our Platform Requirements

2007 JavaOneSM Conference | Session TS-6039 | 6

Conceptual Design

Conceptual Design

2007 JavaOneSM Conference | Session TS-6039 | 7

JIT architecture

Just-In-Time Architecture

2007 JavaOneSM Conference | Session TS-6039 | 8

Spin Cycle

Codename: Spin Cycle

Goals• Launch service• Prove the concept• Start evolving the

architecture immediately

2007 JavaOneSM Conference | Session TS-6039 | 9

Spin Cycle Architecture

Spin Cycle Architecture

2007 JavaOneSM Conference | Session TS-6039 | 10

Lessons for Spin Cycle

Spin Cycle Lessons • One Tomcat can handle a lot!• Monolithic architecture a good start• Planned obsolescence works

2007 JavaOneSM Conference | Session TS-6039 | 11

Spin Cycle

Codename: Rebar

Goals• Scale, scale,

scale• Lots of

applications• Granular

scalability

2007 JavaOneSM Conference | Session TS-6039 | 12

Rebar Architecture

Rebar Architecture

2007 JavaOneSM Conference | Session TS-6039 | 13

Rebar Architecture: A Close Up

Rebar Closeup

2007 JavaOneSM Conference | Session TS-6039 | 14

Rebar Lessons

Rebar Lessons • Don’t fear radical change• Components can scale independently• Operations factors into design• Planned obsolescence works!

2007 JavaOneSM Conference | Session TS-6039 | 15

Rocky

Codename: Rocky

Goals• Huge applications• Solve large scale

concurrent writes• Maximize

availability

2007 JavaOneSM Conference | Session TS-6039 | 16

Rocky Diagram

Rocky Architecture

2007 JavaOneSM Conference | Session TS-6039 | 17

Rocky Architecture: A Close Up

Rocky Closeup

2007 JavaOneSM Conference | Session TS-6039 | 18

Rocky Lessons Learned

Rocky Lessons • HTTP-based APIs = Good• Embrace the tools you use • Planned obsolescence works!

2007 JavaOneSM Conference | Session TS-6039 | 19

Today

Today• Over a dozen Core types• Multiple internal clusters• Hundreds of servers and Solaris™ Zones

2007 JavaOneSM Conference | Session TS-6039 | 20

Java, Really

Java Technology Is Good

• Small Team / Huge System• Performance• Stability

2007 JavaOneSM Conference | Session TS-6039 | 21

HTTP Is Good

GET / HTTP/1.1Host: javaone.ning.comConnection: close

2007 JavaOneSM Conference | Session TS-6039 | 22

Atom API

The Atom API

2007 JavaOneSM Conference | Session TS-6039 | 23

Embrace Open Source

Embrace Open Source

• It is Different• Use the Source

• Understand it• Find the bugs• Optimize It

2007 JavaOneSM Conference | Session TS-6039 | 24

Managing Geometric Growth

Managing Geometric Growth

2007 JavaOneSM Conference | Session TS-6039 | 25

JIT Architecture

Just-In-Time Architecture

… + Java Technology

2007 JavaOneSM Conference | Session TS-6039 | 26

Freedom

Creativity

Goals, redux

2007 JavaOneSM Conference | Session TS-6039 | 27

Results, redux

2007 JavaOneSM Conference | Session TS-6039 | 28

Q&A

2007 JavaOneSM Conference | Session TS-6039 |

TS-6039

Building a Web Platform: Java Technology at NingDiego DovalBrian McCallisterMartin Traverso

Ning, Inc.http://www.ning.com/

Recommended