SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
CASE STUDY:

SCHOOLBOX
SCALING & SUPPORTING
ON-PREMISES APPS
Created by Sam Bailey / @that_sam_guy
Infrastructure Coders meetup 2014-02-11
BUILT BY ALARESS
INCLUDING ME
SAM BAILEY
@that_sam_guy
sam.bailey@alaress.com.au
System Administrator at Alaress
DevOps wannabe
Packager for Mageia linux
Geek Dad
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
TLDR?
The school's online communication & learning space for
Students, Teachers & Parents.
FEATURES
(we have some)

News

Calendar

Timetables

Online Grading

Courses

Continuous Reporting

Homework submissions Resource Management
Forums

Wiki

Parent Directory

Live Chat

Groups

Surveys

Online Testing

Dynamic Homepages
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
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
NOT YOUR
GRANDMOTHER'S LAMP
STACK
Ubuntu LTS / CentOS
Apache
MySQL
PHP
Redis
RabbitMQ
WebSockets
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
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
JUNE 2012 -> NOW()
THE RESULTS SO FAR

Fewer regressions
Better deploys
Happier team
More clients (35+ across Aus & NZ)
Good times
WHERE WE ARE 

I'm here!
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
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!
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
THE END
CURRENTLY HIRING?
No.

But we will be at some stage ;)
QUESTIONS, SUGGESTIONS
& FEEDBACK?
Onsite vs Cloud
What's Next?
Pet Peeves
schoolbox.com.au
Sam Bailey / @that_sam_guy

Weitere Àhnliche Inhalte

Was ist angesagt?

IWMW 2003: Content Management - Buy or Build?
IWMW 2003: Content Management - Buy or Build?IWMW 2003: Content Management - Buy or Build?
IWMW 2003: Content Management - Buy or Build?IWMW
 
What is a good technology stack today?
What is a good technology stack today?What is a good technology stack today?
What is a good technology stack today?Netlight Consulting
 
NCompass Live: Integrate Those Desktop Skills with Online Classes
NCompass Live: Integrate Those Desktop Skills with Online ClassesNCompass Live: Integrate Those Desktop Skills with Online Classes
NCompass Live: Integrate Those Desktop Skills with Online ClassesNebraska Library Commission
 
Digital Writing Wiki Presentation
Digital Writing Wiki PresentationDigital Writing Wiki Presentation
Digital Writing Wiki PresentationDebbie Alcorn
 
Using MAMP for Web Development
Using MAMP for Web DevelopmentUsing MAMP for Web Development
Using MAMP for Web DevelopmentEric Greene
 
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...DataArt
 
How My Website Learned to Stop Worrying and Love the Cloud
How My Website Learned to Stop Worrying and Love the CloudHow My Website Learned to Stop Worrying and Love the Cloud
How My Website Learned to Stop Worrying and Love the CloudMike Richwalsky
 
Building WordPress sites with AngularJS and the RESTful plugin JSON API
Building WordPress sites with AngularJS and the RESTful plugin JSON APIBuilding WordPress sites with AngularJS and the RESTful plugin JSON API
Building WordPress sites with AngularJS and the RESTful plugin JSON APIEric Greene
 
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalBuilding modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalAlessandro Pilotti
 
Getting Started With Wordpress
Getting Started With WordpressGetting Started With Wordpress
Getting Started With Wordpressrobheller
 
DevconTLV 2014 (Jan) - DIY DevOps
DevconTLV 2014 (Jan) - DIY DevOpsDevconTLV 2014 (Jan) - DIY DevOps
DevconTLV 2014 (Jan) - DIY DevOpsLeonid Mirsky
 
PHP Web Frameworks Introduction
PHP Web Frameworks IntroductionPHP Web Frameworks Introduction
PHP Web Frameworks IntroductionAdam Englander
 
Mesos Introduction
Mesos IntroductionMesos Introduction
Mesos Introductionhaosdent huang
 
That one time in Basecamp
That one time in BasecampThat one time in Basecamp
That one time in BasecampTechSoup
 
Working in harmony
Working in harmonyWorking in harmony
Working in harmonyEdmund Turbin
 
OWASP WebGoat and PANTERA Web Assessment Studio Project.
OWASP WebGoat and PANTERA Web Assessment Studio Project.OWASP WebGoat and PANTERA Web Assessment Studio Project.
OWASP WebGoat and PANTERA Web Assessment Studio Project.Philippe Bogaerts
 
Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126Mike Hillwig
 
Building microservices with Node.js - part 2
Building microservices with Node.js - part 2Building microservices with Node.js - part 2
Building microservices with Node.js - part 2Ashley Davis
 
Go Mac or Go Home
Go Mac or Go HomeGo Mac or Go Home
Go Mac or Go Homestranjah21
 

Was ist angesagt? (20)

IWMW 2003: Content Management - Buy or Build?
IWMW 2003: Content Management - Buy or Build?IWMW 2003: Content Management - Buy or Build?
IWMW 2003: Content Management - Buy or Build?
 
What is a good technology stack today?
What is a good technology stack today?What is a good technology stack today?
What is a good technology stack today?
 
NCompass Live: Integrate Those Desktop Skills with Online Classes
NCompass Live: Integrate Those Desktop Skills with Online ClassesNCompass Live: Integrate Those Desktop Skills with Online Classes
NCompass Live: Integrate Those Desktop Skills with Online Classes
 
Digital Writing Wiki Presentation
Digital Writing Wiki PresentationDigital Writing Wiki Presentation
Digital Writing Wiki Presentation
 
Using MAMP for Web Development
Using MAMP for Web DevelopmentUsing MAMP for Web Development
Using MAMP for Web Development
 
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
 
How My Website Learned to Stop Worrying and Love the Cloud
How My Website Learned to Stop Worrying and Love the CloudHow My Website Learned to Stop Worrying and Love the Cloud
How My Website Learned to Stop Worrying and Love the Cloud
 
Building WordPress sites with AngularJS and the RESTful plugin JSON API
Building WordPress sites with AngularJS and the RESTful plugin JSON APIBuilding WordPress sites with AngularJS and the RESTful plugin JSON API
Building WordPress sites with AngularJS and the RESTful plugin JSON API
 
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalBuilding modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
 
Getting Started With Wordpress
Getting Started With WordpressGetting Started With Wordpress
Getting Started With Wordpress
 
DevconTLV 2014 (Jan) - DIY DevOps
DevconTLV 2014 (Jan) - DIY DevOpsDevconTLV 2014 (Jan) - DIY DevOps
DevconTLV 2014 (Jan) - DIY DevOps
 
PHP Web Frameworks Introduction
PHP Web Frameworks IntroductionPHP Web Frameworks Introduction
PHP Web Frameworks Introduction
 
Mesos Introduction
Mesos IntroductionMesos Introduction
Mesos Introduction
 
That one time in Basecamp
That one time in BasecampThat one time in Basecamp
That one time in Basecamp
 
Working in harmony
Working in harmonyWorking in harmony
Working in harmony
 
OWASP WebGoat and PANTERA Web Assessment Studio Project.
OWASP WebGoat and PANTERA Web Assessment Studio Project.OWASP WebGoat and PANTERA Web Assessment Studio Project.
OWASP WebGoat and PANTERA Web Assessment Studio Project.
 
Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126
 
Building microservices with Node.js - part 2
Building microservices with Node.js - part 2Building microservices with Node.js - part 2
Building microservices with Node.js - part 2
 
Wiki101
Wiki101Wiki101
Wiki101
 
Go Mac or Go Home
Go Mac or Go HomeGo Mac or Go Home
Go Mac or Go Home
 

Ähnlich wie Case study: Schoolbox - Scaling & supporting on-premises apps

Business model driven cloud adoption - what NI is doing in the cloud
Business model driven cloud adoption -  what  NI is doing in the cloudBusiness model driven cloud adoption -  what  NI is doing in the cloud
Business model driven cloud adoption - what NI is doing in the cloudErnest Mueller
 
DevOps by examples - Azure Meetup Frankfurt 06-2017
DevOps by examples - Azure Meetup Frankfurt 06-2017DevOps by examples - Azure Meetup Frankfurt 06-2017
DevOps by examples - Azure Meetup Frankfurt 06-2017Giulio Vian
 
Testing apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceTesting apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceKevin DeRudder
 
Deploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsDeploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsMassTLC
 
Cloud Migration journey
Cloud Migration journeyCloud Migration journey
Cloud Migration journeyPaul Birkbeck
 
Dean Hagen
Dean HagenDean Hagen
Dean HagenDean Hagen
 
DevOps by examples - Continuous Lifecycle London 2017
DevOps by examples - Continuous Lifecycle London 2017DevOps by examples - Continuous Lifecycle London 2017
DevOps by examples - Continuous Lifecycle London 2017Giulio Vian
 
Intalio create and cloudfoudry - short
Intalio create and cloudfoudry - shortIntalio create and cloudfoudry - short
Intalio create and cloudfoudry - shorthmalphettes
 
Enterprise software needs a PaaS
Enterprise software needs a PaaSEnterprise software needs a PaaS
Enterprise software needs a PaaShmalphettes
 
DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15Edureka!
 
Hadoop cluster using_vesper
Hadoop cluster using_vesperHadoop cluster using_vesper
Hadoop cluster using_vesperVengadessin Perumal
 
Migrating a Vignette Website to Drupal: Story of Multnomah County
Migrating a Vignette Website to Drupal: Story of Multnomah CountyMigrating a Vignette Website to Drupal: Story of Multnomah County
Migrating a Vignette Website to Drupal: Story of Multnomah CountyAcquia
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal infoSynapseindiappsdevelopment
 
Using rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranetsUsing rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranetsInnoTech
 
Power Your Directory with openSUSE and Samba
Power Your Directory with openSUSE and SambaPower Your Directory with openSUSE and Samba
Power Your Directory with openSUSE and SambaDon Vosburg
 
Building for the Cloud | NC CSDN Cloud Conference 2012
Building for the Cloud | NC CSDN Cloud Conference 2012Building for the Cloud | NC CSDN Cloud Conference 2012
Building for the Cloud | NC CSDN Cloud Conference 2012ChinaNetCloud
 
Modern infrastructure for business data lake
Modern infrastructure for business data lakeModern infrastructure for business data lake
Modern infrastructure for business data lakeEMC
 
Wpd09 Sydney
Wpd09 SydneyWpd09 Sydney
Wpd09 Sydneyvirginiachoy
 

Ähnlich wie Case study: Schoolbox - Scaling & supporting on-premises apps (20)

Business model driven cloud adoption - what NI is doing in the cloud
Business model driven cloud adoption -  what  NI is doing in the cloudBusiness model driven cloud adoption -  what  NI is doing in the cloud
Business model driven cloud adoption - what NI is doing in the cloud
 
DevOps by examples - Azure Meetup Frankfurt 06-2017
DevOps by examples - Azure Meetup Frankfurt 06-2017DevOps by examples - Azure Meetup Frankfurt 06-2017
DevOps by examples - Azure Meetup Frankfurt 06-2017
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
 
Testing apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceTesting apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation Service
 
Deploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsDeploying systems using AWS DevOps tools
Deploying systems using AWS DevOps tools
 
Cloud Migration journey
Cloud Migration journeyCloud Migration journey
Cloud Migration journey
 
Dean Hagen
Dean HagenDean Hagen
Dean Hagen
 
DevOps by examples - Continuous Lifecycle London 2017
DevOps by examples - Continuous Lifecycle London 2017DevOps by examples - Continuous Lifecycle London 2017
DevOps by examples - Continuous Lifecycle London 2017
 
Intalio create and cloudfoudry - short
Intalio create and cloudfoudry - shortIntalio create and cloudfoudry - short
Intalio create and cloudfoudry - short
 
Enterprise software needs a PaaS
Enterprise software needs a PaaSEnterprise software needs a PaaS
Enterprise software needs a PaaS
 
DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15
 
Hadoop cluster using_vesper
Hadoop cluster using_vesperHadoop cluster using_vesper
Hadoop cluster using_vesper
 
Migrating a Vignette Website to Drupal: Story of Multnomah County
Migrating a Vignette Website to Drupal: Story of Multnomah CountyMigrating a Vignette Website to Drupal: Story of Multnomah County
Migrating a Vignette Website to Drupal: Story of Multnomah County
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
Using rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranetsUsing rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranets
 
Power Your Directory with openSUSE and Samba
Power Your Directory with openSUSE and SambaPower Your Directory with openSUSE and Samba
Power Your Directory with openSUSE and Samba
 
Expo - Zero to App.pptx
Expo - Zero to App.pptxExpo - Zero to App.pptx
Expo - Zero to App.pptx
 
Building for the Cloud | NC CSDN Cloud Conference 2012
Building for the Cloud | NC CSDN Cloud Conference 2012Building for the Cloud | NC CSDN Cloud Conference 2012
Building for the Cloud | NC CSDN Cloud Conference 2012
 
Modern infrastructure for business data lake
Modern infrastructure for business data lakeModern infrastructure for business data lake
Modern infrastructure for business data lake
 
Wpd09 Sydney
Wpd09 SydneyWpd09 Sydney
Wpd09 Sydney
 

KĂŒrzlich hochgeladen

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂșjo
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

KĂŒrzlich hochgeladen (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Case study: Schoolbox - Scaling & supporting on-premises apps

  • 1. CASE STUDY: SCHOOLBOX SCALING & SUPPORTING ON-PREMISES APPS Created by Sam Bailey / @that_sam_guy Infrastructure Coders meetup 2014-02-11
  • 3. INCLUDING ME SAM BAILEY @that_sam_guy sam.bailey@alaress.com.au System Administrator at Alaress DevOps wannabe Packager for Mageia linux Geek Dad
  • 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
  • 5. TLDR? The school's online communication & learning space for Students, Teachers & Parents.
  • 6. FEATURES (we have some) News Calendar Timetables Online Grading Courses Continuous Reporting Homework submissions Resource Management Forums Wiki Parent Directory Live Chat Groups Surveys Online Testing Dynamic Homepages
  • 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
  • 9. NOT YOUR GRANDMOTHER'S LAMP STACK Ubuntu LTS / CentOS Apache MySQL PHP Redis RabbitMQ WebSockets
  • 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
  • 13. WHERE WE ARE 
 I'm here!
  • 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
  • 18. CURRENTLY HIRING? No. But we will be at some stage ;)
  • 19. QUESTIONS, SUGGESTIONS & FEEDBACK? Onsite vs Cloud What's Next? Pet Peeves schoolbox.com.au Sam Bailey / @that_sam_guy