Coding Challenge #78 - Uptime Monitoring Service
John Crickett
Helping you become a better software engineer by building real-world applications.
This challenge is to build your own uptime monitoring service. There are many such services and if you work for a company that runs an Internet facing property your company probably uses one of the well known ones such as Pingdom, pusetic, Uptime or Uptime Robot.
Essentially they will monitor your website / API endpoint and provide alerts when it is down so your on-call engineers can restore it ASAP. Some also offer alerts if the latency exceeds a threshold and can monitor it’s availability from multiple geographical locations.
Many will provide historic records of uptime, latency and alerts - useful for tracking your SLIs and SLAs.
But first…
The Coding Challenges Black Friday Sale Is Now On!
The Coding Challenges Black Friday sale is now on?and ends on?Monday December 2nd.?During this period,?paid subscribers to Coding Challenges can get?40% off all Coding Challenges courses. Check out the paid subscriber benefits page for the coupon code!
Free subscribers can get 20% off all the courses use code?BLACKFRIDAY?at the checkout:
And Maven have gone even further offering 25% off:
领英推荐
This is the biggest discount Coding Challenges does, so if you have been considering a course, this will be the best opportunity you get until next Black Friday.
The Challenge - Building An Uptime Monitoring Service
For this coding challenge we will be building an uptime monitoring service. It will allow one or more users to:
You could build this as a simple command line tool, just for your own use or you could build a full blown web based service hosted in the cloud. If so don’t forget AWS offer a free tier, Azure offers a similar set of services that are free (with limits) for 12 months and Google Cloud offers 20+ free products for all customers (with limits) and $300 in free credits (at the time of writing). Other cloud providers are also available.
Step Zero
In this step you decide which programming language and IDE you’re going to use and you get yourself setup with a nice new project for your uptime monitor. You might like to mix a couple of programming languages for this coding challenge, one for the backend and monitoring functionality and another for the user interface.
Step 1
In this step your goal is to allow the user to enter one or more URLs to be monitored and to set a frequency for monitoring. You will then need to store this in a database.
Depending on the solution you decide to build that could be as simple as a flat file or as complex as a cloud hosted SQL/NoSQL database. You could use any of those, but they will all have trade-offs.
Continued...
You can find the rest of this coding challenge on the Coding Challenges Substack or on the Coding Challenges website.
Software Engineer
3 个月What are the rules for doing a challenge? Are we suppose to use an inbuilt library or third party or every thing from scratch?
Tech Director @ Amazon Payment Services | I help professionals lead with impact and fast-track their careers through the power of mentorship | #1 LinkedIn Arab World Creator in Management & Leadership
3 个月Appreciate the challenges you share John Crickett to help others uplevel.
Apprenticeship | MERN Stack Web Developer
3 个月John Crickett, These both links are not showing rest of details for this challenge.
Microsoft MVP | Helping 25K+ .NET Engineers Advance Careers to Senior/Architect roles | Technical Lead
3 个月Build own Git Client and IDE to create an URL shortener, deploy it using own command line tools. Write posts on LinkedIn and provide links to your website and blogs using this URL Shortener. You have something to build for at least the whole decade. You'll thank me later ??