Here is one lesson I had to learn the hard way: Everyone needs a status page. Senior Lamb Data Analyst. (Original photo by on ) Robin Vet Stocksnap Yesterday my app went down. My PaaS provider had decided to update their platform late that evening. This caused an obscure bug which kept my Docker containers from spinning up again. The consequence was devastating: My was offline for hours. I had no way of fixing a bug over which I had no control. app I could only email everyone and apologize in person. Worse yet: I had no good way of letting my users know what was going on. Why Monitoring Is Not Enough Here’s an email you don’t want to get at 11:24 PM Of course I had set up automatic monitoring of my app’s web page and API endpoints. But it’s not enough if know that your server is down — unless you’re the only one using it! If anyone else is depending on your service, you you need to have a communication channel (not if!) something goes wrong. when A status page can be an important element in your relationship with your users. It helps you achieve the following goals: Be open about what’s gone wrong and what you’re doing to fix it Transparency Publish information and updates about service interruptions right as they happen Fast crisis response Being transparent and responsive is the best way to show your users that they can trust you. They see that they can rely on your service even when things go bad. Building user trust Why Set Up Your Own Page There are plenty of status-page-as-a-service providers around. One prominent example is which powers the status pages of sites like , or . Similarly well-known is which is behind the status pages of , and . Other commercial alternatives include , and . Atlassian Statuspage Vimeo Dropbox Reddit Status.io Twitter Docker Let’s Encrypt Sorry Statusy AdminLabs None of them come cheap; Statuspage’s smallest plan (which doesn’t include SMS notifications) comes in at USD 348/year; Status.io’s Basic plan (again, no SMS notifications, and this time even without HTTPS encryption) is available for no less than USD 948/year. This is why I decided to set up my own status page. I’m sure this pricing makes perfect sense for VC-backed Silicon Valley companies — but not for bootstrapped startups or freelancers like myself. What Do We Want? There are really three boxes that a good status page needs to check: ☐ The status page needs to be able to display monitoring and/or performance data from external sources Automatic updates from monitoring services ☐ The main purpose of a status page: Communicating the availability of your services to your users Communication of current status and planned maintenance ☐ Well, obviously! It needs to look good The Solution? Fortunately, there is an open-source (Apache-2.0-licensed) status page that fulfills all my requirements: . . LambStatus LambStatus is a status page you can install on AWS with one click The LambStatus website Even though its name evokes cuddly, woolly sheep babies, LambStatus is actually named for Amazon’s platform . LambStatus is essentially a bunch of node.js functions, glued together by some configuration. The functions are stored in AWS Lambda and only executed on request. This means: Other than a few additional resources (such as a handful of files on S3), How low are the operating costs? Here’s an estimate from the LambStatus website: serverless AWS Lambda AWS there are almost no operating costs for running LambStatus. A status page only occasionally gets huge traffic. The system takes $1 per 30,000 visitors and almost $0 if no visitors. Let’s recap our requirements: ☑ Automatic updates from monitoring services LambStatus can display data from AWS CloudWatch which automatically monitors many AWS resources. It can also receive data from via an API. external monitoring services On top of that, you can also set up your own monitoring for custom HTTP(S) endpoints. I’ve written an guide about that here: _Could this be the easiest, cheapest, most reliable way to monitor websites and API endpoints?_medium.com Serverless Monitoring of Apps & Websites with AWS Lambda ☑ Communication of current status and planned maintenance With LambStatus, your users can subscribe to incidents via RSS or email. You can announce planned maintenances and provide updates for incidents as they happen. ☑ It needs to look good You can take a look at the minimalist beauty of LambStatus on the and the . Or just take it from this screenshot: demo status page demo admin page Clean, clear, minimalist. What more can you want from a status page? Getting Started with LambStatus I’m planning to write a step-by-step guide with some personal tips for setting up LambStatus. Make sure to subscribe to my newsletter so you don’t miss the next article! Are you interested in best practices for application deployment? Make sure to subscribe to my newsletter! If you don’t want to wait: Getting started with LambStatus is really simple. The only think you need is an AWS account. Thanks to LambStatus’ CloudFormation template, you can set it up in a matter of only a few clicks. Take a look at the official ! Getting Started guide
Share Your Thoughts