SlideShare a Scribd company logo
1 of 19
Download to read offline
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

More Related Content

What's hot

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
 
That one time in Basecamp
That one time in BasecampThat one time in Basecamp
That one time in BasecampTechSoup
 
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
 

What's hot (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
 

Similar to 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
 
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!
 
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
 

Similar to 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
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
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...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

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