The woes of developing, deploying and maintaining projects vital to your business are manifold. They are also the reason you need a staging environment for your WordPress site. In this article we are going to discuss:
- how these problems are solved by having a staging environment.
- How you can use your Pressidium Staging to cut costs, test correctly and deploy safely, without breaking anything.
What's wrong with not having one?
Well, there are a couple of points:
- You need to fix something on your site, and when you do, 3 more things break. Downtime frustrates customers. Processes don't go through, and you don't get paid.
- You have a weird bug on your production that you can't replicate on your development server for some reason.
- You pushed a "harmless" set of changes to your production and caused it to break silently. On Friday night.
- You've been developing a client's site locally for months while hosting it on your own server. It was working fine, until the hand-off site migration. After that, some parts are not quite right, some are dead-broken, the pages render differently for some reason, and the whole site looks kind of... weird, due to integration issues.
Deploying straight to production is risky, and can introduce stalling and technical errors which in the end, raise costs.
So what's a staging environment?
A staging environment is an environment where you can test new software before shipping them to production. It is identical to the production site and it sits between that and your development server, acting as a 'stage' before live deployment. It has a copy of the production code, the production data, and everything else the production site uses. A staging environment can be used to test new code, replicate bugs in production, dry-run deployments and stress-test certain functions. It gives you the confidence before each product ship or critical operation, to push the button and know that it will all work.
What do I need to know before I get one?
The first thing you need to make sure when investing in a staging environment is similarity. A staging environment needs to be completely identical with the production one. This means, the web servers need to be from the same vendor (no mixing apache2 and IIS for example), the system and WordPress configuration need to be exactly the same. The operating system needs to be of the same vendor, distribution, version and configuration. Ideally, even the hardware used should not differ to a substantial extent, otherwise you might experience inconsistencies in performance.
Then, there is the database which needs to have live data used in production. This sounds simple, but you need to make sure your staging environment doesn't accidentally cause transactions to occur using real data.
How do I use it?
First you need to create one. Staging environments need to be simple in their setting up. Your hosting provider will usually provide you with one, however, make sure to get clarifications on the points we raised earlier, or you will experience headaches later.
- Visit the staging URL.
- Pull a fresh copy from the production.
- Access the staging site's database.
- Push the changes to staging, in order to test them.
- When all tests pass, you green-light it for production.
Having a fully functional staging environment is a nice way of introducing principles from Continuous Integration to your workflow. But we will talk about that some other time.
Pressidium's One-click Staging enables you!
At Pressidium we believe that the fundamentals behind everything, need to be got correct from the start. In order to be able to say that we provide the world's most reliable and secure managed WordPress hosting, we need to deliver. And we cannot be dishonest about that. Every staging site is 100% identical to the production one. Everything is built on top of Pinnacle, so the server hardware, the high availability cluster configuration, the operating system, the web stack, and the data are identical. We can't give less than that, if we truly believe we provide Enterprise-level services. And neither should you accept anything less.
Pressidium's Staging eliminates broken deployments, allows you to test correctly and cuts costs.