GLASS: A Share Everything Architecture for Seaside

21
Copyright © 2008, GemStone Systems Inc. All Rights Reserved. e GLASS: A Share Everything Architecture for Seaside Dale Henrichs 8/28/2008

description

GLASS: A Share Everything Architecture for Seaside. ESUG 2008, Amsterdam

Transcript of GLASS: A Share Everything Architecture for Seaside

Page 1: GLASS: A Share Everything Architecture for Seaside

Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

e

GLASS: A Share Everything Architecture for Seaside

Dale Henrichs8/28/2008

Page 2: GLASS: A Share Everything Architecture for Seaside

2 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

What is GLASS?

GemStone, Linux, Apache, Seaside, Smalltalk Persistence and scalability for Seaside

applications FREE for commercial use

• http://seaside.gemstone.com/downloads.html

Page 3: GLASS: A Share Everything Architecture for Seaside

3 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

What is GLASS?

GLASS self-contained development environment

for GemStone/S• Monticello for source code control• OminiBrowser-based development tools

Easy to move apps from Squeak to GLASS FREE for commercial use

Page 4: GLASS: A Share Everything Architecture for Seaside

4 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

What is GLASS?

Appliance VMWare running an instance of GLASS

• 3 Seaside VMs • 1 Maintenance VM• 1 (or more) development Vms connected to

Squeak

FREE for commercial use

Page 5: GLASS: A Share Everything Architecture for Seaside

5 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Share Nothing Architecture

Scaling Story Every time you need data, you hit the data

base Distributed computing and distributed data

• add additional resources to meet demand

Well suited to stateless web servers and uncomplicated data models

Page 6: GLASS: A Share Everything Architecture for Seaside

6 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Share Nothing Architecture

Drawbacks Scaling limited by available electricity distributed data constrains model

complexity

Page 7: GLASS: A Share Everything Architecture for Seaside

7 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Share Nothing Architecture

Smalltalk is not Share Nothing

Page 8: GLASS: A Share Everything Architecture for Seaside

8 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Share Everything

Smalltalk is Share Everything inside the image Share Nothing outside the image

Page 9: GLASS: A Share Everything Architecture for Seaside

9 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

GemStone/S

GemStone/S is designed for very large images shared between multiple VMs running on multiple computers

GemStone/S is the perfect vehicle for doing Share Everything with Share Nothing scalability

Page 10: GLASS: A Share Everything Architecture for Seaside

10 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Seaside Scalability Options

Persistent Session StateOptional _s and _kOne Session per VM

Page 11: GLASS: A Share Everything Architecture for Seaside

11 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Scalability – Persistent Session State

Scaling Story store/share Seaside session state in

repository deploy any number of VMs round robin requests without session

affinity

Page 12: GLASS: A Share Everything Architecture for Seaside

12 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Scalability – Persistent Session State

Drawbacks request rate limited by commit rate

• depending upon hardware limit kicks in at about 10-100 commits/second

scaling requires investment in more sophisticated hardware

• NOT commodity hardware

Page 13: GLASS: A Share Everything Architecture for Seaside

13 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Scalability – Optional _k _s

Scaling Story Avoid saving 'unnecessary' session state

• reduce commit rate

Performance Potential• 7K requests/second • 128 VMs • 72 CPUs • 7 machines

Page 14: GLASS: A Share Everything Architecture for Seaside

14 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Scalability – Optional _k _s

Drawbacks application must be changed (RESTful)

Page 15: GLASS: A Share Everything Architecture for Seaside

15 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Scalability – One Session per VM

Scaling Story session state in temporary memory VM dedicated to session for its lifetime performance similar to Optional _k _s

Page 16: GLASS: A Share Everything Architecture for Seaside

16 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Scalability – One Session per VM

Drawbacks need more characterization work swap/real memory limitiations

• need to characterize tradeoffs

Page 17: GLASS: A Share Everything Architecture for Seaside

17 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

GLASS

A Seaside application written to run in Squeak can be ported to GLASS 'without modification' Transparent Persistence Transparent Scalability

• persistent session state• one session per vm

Page 18: GLASS: A Share Everything Architecture for Seaside

18 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Transparent Development

Multi-image development support auto commit object log debugging

• breakpoints

profiling

Page 19: GLASS: A Share Everything Architecture for Seaside

19 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Demo

Page 20: GLASS: A Share Everything Architecture for Seaside

20 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Futures

GemStone 3.0 non-Tranlogged objects Native code generation Improved Exception Handling Foreign Function Interface

...and Beyond? sharding for GemStone/S

Page 21: GLASS: A Share Everything Architecture for Seaside

21 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.

Questions?

http://seaside.sthttp://seaside.gemstone.comhttp://gemstonesoup.wordpress.com