My infrastructure coders talk from 2014-02-11 on how we scaled our business using improved our workflows and infrastructure. Also looks at the challenges of supporting on-premisis hosted systems remotely.
4. SCHOOLBOX IS …
web based
hosted on-premises
a learning management system
an intranet/portal
designed for Prep to Year 12 schools
accessible from anywhere* on desktop/tablet/mobile
* well almost - with internet access and a supported browser**
** we even support IE… well 9+ anyway
7. WHERE WE WERE …
Started in 2001 with Melbourne Grammar School
12 schools by June 2012 (when I joined)
Begin pivot whole company to Schoolbox
Looking to scale quickly
8. WHAT WE HAD …
Used SVN (poorly)
Single instance for development shared between all
developers
Prod servers:
4 different versions of Ubuntu
1 version of CentOS
Deploy with tarball & complex bash scripts
Frequent regressions with minor releases
Poor testing & demonstration data
10. ALL YOUR DATA
ARE BELONG TO US
We connect to & pull data from many other onsite and
offsite services.
MSSQL
IBM DB2
Active Directory
Novell eDirectory
SharePoint
WebDav on IIS
SAML
Kerberos
Google Calendar
Microsoft Exchange
Twitter
RSS
11. JUNE 2012 -> NOW()
STARTING TO SCALE
Migrated to Git & GitHub
Implemented peer review via Pull Request
Significantly improved demo & testing data
Moved all prod to Ubuntu LTS or CentOS
Deploy via Puppet with deb/RPM packages (one
master)
Team uses prod-like Vagrant boxes for development
12. JUNE 2012 -> NOW()
THE RESULTS SO FAR…
Fewer regressions
Better deploys
Happier team
More clients (35+ across Aus & NZ)
Good times
14. ONSITE VS CLOUD
We operate and manage each server under an SLA
Things we can't control:
Network
Power (the electricity thing)
Hardware
Internet Connectivity
Firewall/s (!!!)
Proxy
DNS
Skill level of onsite technical personnel
Internal or outsourced IT Support
15. WHAT'S NEXT?
Automate testing (and writing more tests)
Dashboards
Better internal Puppet modules and coverage
More DevOps*
Cloud based hosted edition
? Hipchat/Robots
* DevOps is a culture not a team!
16. PET PEEVES
Unreliable Ubuntu mirrors
Manual signing of packages/repositories
Automating upgrades of OS packages
Puppet the Puppet Master
Prod is all pets, not cattle