ELMSLN: Rethinking System Architecture

38
Rethinking system design elmsln.org @btopro Come get a sticker like this one In dribs and drabs we will change the world

Transcript of ELMSLN: Rethinking System Architecture

Page 1: ELMSLN: Rethinking System Architecture

Rethinking system design

elmsln.org

@btopro

Come get a sticker like this one

In dribs and drabswe will change the world

Page 2: ELMSLN: Rethinking System Architecture

Project LeadELMS Initiative

Instructional Systems ArchitectE-Learning InstituteCollege of Arts & ArchitecturePenn State University

@btopro (aka Bryan Ollendyke)

Page 3: ELMSLN: Rethinking System Architecture

Rethinking system architecture

• Review of today

• Issues with today

• Design patterns

• Examples through ELMS: LN

Page 4: ELMSLN: Rethinking System Architecture

https://github.com/elmsln/elmslnhttps://elmsln.org

Star, Follow and Fork!

Page 5: ELMSLN: Rethinking System Architecture

ELMSLN is a series of networked Drupal sites per course.Automation / DevOps keep the process manageable

New fully configured Drupal-based RESTful networks are built on demand.Networks are formed of Services (per course) and Authorities (per learning

network)

New idea New Distribution New domain New tool

What is it?

=

Page 6: ELMSLN: Rethinking System Architecture

Today

Page 7: ELMSLN: Rethinking System Architecture

Today…and the last 10 years

Page 8: ELMSLN: Rethinking System Architecture

Build / Buy things doing too much

Page 9: ELMSLN: Rethinking System Architecture

Build / Buy things doing too much*cough* LMS *cough*

Page 10: ELMSLN: Rethinking System Architecture

Today: Buy• Pros:

• Single system / address• Easy to promote / point to• Pay the bill, be done• Uniformity

• Cons:• Lack of control• $$$$$$$$$$$$• Customization difficult• Lengthy contracts (years at time)• Direction set by vendor (Mediacore’s great!)

• Institutional concepts wrapped into system design

Page 11: ELMSLN: Rethinking System Architecture

Today: Build• Pros:

• Easy to promote / point to• Easy to put out fire (one location)• Easier to support• Uniformity

• Cons:• Lack of flexibility• People / $$$$$$• Uniformity

• Building institutional concepts into system design

Page 12: ELMSLN: Rethinking System Architecture

Building institutional concepts• Replicated in every system purchased or created

• Hierarchy• Institution, College, Department

• Roles• Student, faculty, staff, instructional designer, etc

• Concepts• Course, Section, Offering, Semesters

Page 13: ELMSLN: Rethinking System Architecture

How many employees did ____ hire?• To support our institution, how many employees do they hire when

we buy in?

• zero or close to zero

• A sales person probably clicks a button,fills out our “tokens” and “deploys” to a new domain

• Deployment architecture taken into account tosegment their clients

Page 14: ELMSLN: Rethinking System Architecture

Deployments of today

Page 15: ELMSLN: Rethinking System Architecture

Deployment architecture• Tokenize criteria

• Replicate applying tokens 1,000s of times

• Scale capacity 1,000s of times through replication

Page 16: ELMSLN: Rethinking System Architecture

Deployments of today

Page 17: ELMSLN: Rethinking System Architecture

Middleware approach

collegeD.url.com

url.com

collegeE.url.com

collegeF.url.com

collegeC.url.com

collegeB.url.com

collegeA.url.com

Page 18: ELMSLN: Rethinking System Architecture

Characteristics• Load / risk distributed across servers mirroring institutional concept

• Possibility for local control / contribution / resource sharing in process

• Central IT can still push out standardized security, design, as needed

• Vanity URLs now possible

• Simplified user management (1 less structure to account for)

• Robots / automation keep it from chaos

• More options / flexibility

Page 19: ELMSLN: Rethinking System Architecture

Pattern based system automation• Abstraction at upper layers can always be applied deeper

• Just ask Docker community

• Break system goal into discrete functions

• Utilize REST and automation to unify experience

• Deploy as multiple pieces

Page 20: ELMSLN: Rethinking System Architecture

ELMSLN Deployments

sciences.psu.edu

elmsln.psu.edu

smeal.psu.edu

hhd.psu.edu

aanda.psu.edu

ag.psu.edu

stem-researchethics.org

Page 21: ELMSLN: Rethinking System Architecture

One of those deployments

media.site.com

courses.site.com

blog.site.com

analytics.site.com

studio.site.comonline.site.com

interact.site.com

Page 22: ELMSLN: Rethinking System Architecture

Deployment 2

media.site.com

courses.site.com

blog.site.com

studio.site.comonline.site.com

Page 23: ELMSLN: Rethinking System Architecture

Deployment 3

media.site.com

courses.site.com

analytics.site.com

online.site.com

interact.site.com

Page 24: ELMSLN: Rethinking System Architecture

Buttercups UK Med Training

Page 25: ELMSLN: Rethinking System Architecture

The day after tomorrow

Page 26: ELMSLN: Rethinking System Architecture

Organic architecture• System is a fractal of other systems

• Cloning• REST and SSH handshakes to unify / self-distribute

• DNA• Networks then can replicate, peal off, morph to scale

• Evolution• Automation applied to single instance to replicate

• Gene Splicing• Virtual Networks of in networks

• Gene pool

Page 27: ELMSLN: Rethinking System Architecture

Simple Life

Page 28: ELMSLN: Rethinking System Architecture

DNA

Page 29: ELMSLN: Rethinking System Architecture

Simple to simple

Page 30: ELMSLN: Rethinking System Architecture

Simple to simple to simple

Page 31: ELMSLN: Rethinking System Architecture

Cool idea + 1

Page 32: ELMSLN: Rethinking System Architecture

Graduated Cool idea

Page 33: ELMSLN: Rethinking System Architecture

Complexity from simplicity

Page 34: ELMSLN: Rethinking System Architecture

Future proofing w/o sacrifice

Page 35: ELMSLN: Rethinking System Architecture

Characteristics• Start deployments small, scale out as they grow

• Deployment architecture matches needs of area deploying

• Possibility for local control / contribution / resource sharing in process

• Central IT can still push out standardized security, design, as needed

• Robots / automation keep it from chaos

• More options / flexibility

Page 36: ELMSLN: Rethinking System Architecture

The future

Page 37: ELMSLN: Rethinking System Architecture

ELMS:LN current runs on

• Cloud Servers (Digital Ocean, AWS EC2)

• TravisCI (cloud based test bed)

• VMHost Servers (7 at PSU)

• Laptops (via Vagrant, same as

• Soon ChromeBit (anything w/ 2 gigs of ram)

Page 38: ELMSLN: Rethinking System Architecture

Questions

@btopro

elmsln.org