Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Server Check.in
Case Study by Jeff Geerling
Jeff Geerling
• jeffgeerling.com / geerlingguy
• Senior Application Developer, Mercy
• Owner, Midwestern Mac, LLC
Agenda
• About the service
• How Drupal is used
• How Node.js is used
• Notes on Hosting and Marketing
• Q&A
Why build another uptime monitor?
Server Check.in
• Dogfood project
• Simple, cheap, reliable service
• Notify me when my servers are down
• Launched Decemb...
Demo
External Services
• Twilio
• Stripe
• Disqus
External Services
• Twilio
• Stripe
• Disqus
(for sms notifications)
External Services
• Twilio
• Stripe
• Disqus
(for sms notifications)
(for payment processing)
External Services
• Twilio
• Stripe
• Disqus
(for sms notifications)
(for payment processing)
(for comments)
External Code/Libraries
• Flot (jQuery graphing library)
!
!
• MailChimp email templates
!
And, of course…
And, of course…
Drupal Notes
• Custom theme (with parent “MM base” theme)
• Four custom modules:
• base
• billing
• notifications
• check s...
Modules
• Views
• Elysia Cron
• Disqus
• Boost
• Honeypot
Modules
• Views
• Elysia Cron
• Disqus
• Boost
• Honeypot
(for content listings)
Modules
• Views
• Elysia Cron
• Disqus
• Boost
• Honeypot
(for content listings)
(for periodic tasks and scalability)
Modules
• Views
• Elysia Cron
• Disqus
• Boost
• Honeypot
(for content listings)
(for periodic tasks and scalability)
(for...
Modules
• Views
• Elysia Cron
• Disqus
• Boost
• Honeypot
(for content listings)
(for periodic tasks and scalability)
(for...
Modules
• Views
• Elysia Cron
• Disqus
• Boost
• Honeypot
(for content listings)
(for periodic tasks and scalability)
(for...
Server Checking
• Originally: Drupal’s Queue API + cron batch
• Problems:
• Wasn’t scaling with growth
• Servers were bein...
Server Checking
Source: https://servercheck.in/blog/moving-functionality-nodejs-increased-server
Server Checking
• Now: External Node.js application
• Allows:
• Scalability, geographically-diverse checking
• Servers are...
Hosting on the Cheap
• Cheap “Low End Box” servers (~$15/year VPS)
• Infrastructure managed with Ansible
• (aside: check o...
Launch / Marketing
• Some things I’ve tried:
• Drupal.org case study
• Hacker News post
• Sponsoring blogs
• Blogging (ser...
Summary
• Drupal is great for user-centric apps (and
integrates with almost anything)
• Sometimes, Drupal/PHP gets in the ...
Questions
(Use coupon code STL14 for 20% off!)
Server Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.js
Upcoming SlideShare
Loading in …5
×

Server Check.in case study - Drupal and Node.js

3,657 views

Published on

Server Check.in is a simple, inexpensive website and server monitor. See how Server Check.in was built, and how it uses Drupal and Node.js together to build an easy-to-use and powerful web application. See more at https://servercheck.in/

Published in: Technology
  • Be the first to comment

Server Check.in case study - Drupal and Node.js

  1. 1. Server Check.in Case Study by Jeff Geerling
  2. 2. Jeff Geerling • jeffgeerling.com / geerlingguy • Senior Application Developer, Mercy • Owner, Midwestern Mac, LLC
  3. 3. Agenda • About the service • How Drupal is used • How Node.js is used • Notes on Hosting and Marketing • Q&A
  4. 4. Why build another uptime monitor?
  5. 5. Server Check.in • Dogfood project • Simple, cheap, reliable service • Notify me when my servers are down • Launched December, 2012 https://servercheck.in @servercheckin
  6. 6. Demo
  7. 7. External Services • Twilio • Stripe • Disqus
  8. 8. External Services • Twilio • Stripe • Disqus (for sms notifications)
  9. 9. External Services • Twilio • Stripe • Disqus (for sms notifications) (for payment processing)
  10. 10. External Services • Twilio • Stripe • Disqus (for sms notifications) (for payment processing) (for comments)
  11. 11. External Code/Libraries • Flot (jQuery graphing library) ! ! • MailChimp email templates !
  12. 12. And, of course…
  13. 13. And, of course…
  14. 14. Drupal Notes • Custom theme (with parent “MM base” theme) • Four custom modules: • base • billing • notifications • check server management
  15. 15. Modules • Views • Elysia Cron • Disqus • Boost • Honeypot
  16. 16. Modules • Views • Elysia Cron • Disqus • Boost • Honeypot (for content listings)
  17. 17. Modules • Views • Elysia Cron • Disqus • Boost • Honeypot (for content listings) (for periodic tasks and scalability)
  18. 18. Modules • Views • Elysia Cron • Disqus • Boost • Honeypot (for content listings) (for periodic tasks and scalability) (for easy comment moderation)
  19. 19. Modules • Views • Elysia Cron • Disqus • Boost • Honeypot (for content listings) (for periodic tasks and scalability) (for easy comment moderation) (for scalability)
  20. 20. Modules • Views • Elysia Cron • Disqus • Boost • Honeypot (for content listings) (for periodic tasks and scalability) (for easy comment moderation) (for scalability) (because I hate spam)
  21. 21. Server Checking • Originally: Drupal’s Queue API + cron batch • Problems: • Wasn’t scaling with growth • Servers were being checked one by one • 10 min interval maximum
  22. 22. Server Checking Source: https://servercheck.in/blog/moving-functionality-nodejs-increased-server
  23. 23. Server Checking • Now: External Node.js application • Allows: • Scalability, geographically-diverse checking • Servers are checked asynchronously • 1 minute check intervals for everyone (yay!)
  24. 24. Hosting on the Cheap • Cheap “Low End Box” servers (~$15/year VPS) • Infrastructure managed with Ansible • (aside: check out Ansible for DevOps) • Cheap service + cheap servers + frequent changes == 99.9% uptime? • (testing + automation == reliability)
  25. 25. Launch / Marketing • Some things I’ve tried: • Drupal.org case study • Hacker News post • Sponsoring blogs • Blogging (servercheck.in/blog) • Keep trying new things!
  26. 26. Summary • Drupal is great for user-centric apps (and integrates with almost anything) • Sometimes, Drupal/PHP gets in the way (use the right tool for the job) • You can do a lot with a little (hosting and marketing)
  27. 27. Questions (Use coupon code STL14 for 20% off!)

×