A Dark and Stormy Night
Imagine it’s late Saturday night and your cell phone is ringing. You answer the call. It’s your boss and she’s very upset that the website is not working. Do you know what you are going to do? How are you going to respond, quickly?
Without question, one day you are going to have a problem with your website. You need to be as prepared as possible for that day. A little bit of time spent in preparation can make all the difference between a 15-minute outage and a 6-hour (or worse) outage.
This series of articles will help to prepare you for that day. We are Support Engineers here at Acquia. We spend every day assisting clients with websites in crisis. We would like to share what we have learned.
- Before anything goes wrong, determine who you will call for help?
- Do you have developers you can contact during off-hours?
- Are any of your co-workers available to call?
- Do you have third-party consultants?
- Do you have everyone’s phone numbers and/or email addresses available for you to use quickly?
- Do you know how to file a support ticket?
- You don’t want to lose precious time, looking for phone numbers, emails or websites.
Account Names, Passwords, SSH Keys, Oh My!
- Could you, right now, open a terminal application and SSH into your server without having to look things up?
- How quickly can you get that information? (At 1:30 a.m., you don’t want to waste 30 minutes looking for your credentials, uploading SSH keys, or setting up software.)
- Do you know, and have access to, your account logins?
- Website logins?
- Hosting company account logins?
- Are you using a CDN (content delivery network)? Can you log into that account?
- Do you know who manages your DNS? Can you log into that console to manage your domains?
- Do you have access to the e-mail account that is used for all your site's e-mail? If you are processing payments on your site, do you have login information to the payment provider?
- Are you using version control? Is this installed? Can you connect and pull down your repository?
- If you are using FTP/SFTP software, is this setup and ready to go?
Do You Have a Basic Understanding of your Stack?
If your business depends on this website, then you are responsible for the site. It does not matter who you are, even if you are just a manager, or if you've hired other people to handle the website.
You should have an overall basic understanding of the "flow" of transactions. If your not "technical", this basic understanding will help you figure out who can help.
Take a look at the diagram below.
There are different types and levels of Web hosting available today. You could be on a very simple plan where everything is on one box (left), or you could have very complex hosting with a database server separated from several Web servers (right). Those servers could be sitting behind a load balancer and Varnish. You could also be using a CDN (content delivery network).
It makes a difference!
A more complex site has more points of failure. Having an understanding of your Web stack, and the flow of requests, will make it easier to troubleshoot.
We will discuss this in more detail in a later column.
Do We Even Need to Say This? Backups…
- Do you have backups of all the things?
- Do you know where your backups are located -- your database, code and files?
- Are you aware of the procedure on how to restore any backups in the event of an emergency?
- Do you follow recommended best practices on backing up your database before code changes, such enabling a module, making any configuration changes, etc?
- Remember to always backup, backup, and then backup again!
Summary
If it isn't obvious enough, most of what we've mentioned here isn't technical at all. These items are more clerical in nature and tend to be ignored because, honestly, they just aren't fun. They are time consuming and borderline boring. But the importance of these tasks outweigh all the reasons why you might put them off.
Got that? Good, because now that we have all these out of the way, we can proceed to the more technical issues in our next article.