3. Rethinking system architecture
• Review different patterns
• Examples through ELMS: LN
• This doesn’t place blame, these are just
different examples
5. 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?
10. 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
11. 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
12. 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
13. 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 to
segment their clients
19. 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
20. 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
27. Organic architecture
• System is a fractal of other systems
• Cloning
• REST and SSH handshakes to unify / self-distribute
• DNA
• Networks then can replicate, peel off, morph to scale
• Evolution
• Automation applied to single instance to replicate
• Gene Splicing
• Virtual Networks of networks
• Gene pool
36. 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
37. 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)