Does Your Website have a Staging Environment?
My experiences as an IT Auditor and Information Security Consultant working for a Big 4 firm has always been useful.
An IT and Business Perspective
Those professional experiences continue to help me understand technology from a different viewpoint.
As IT Security consultant, one of the frequent questions I asked the client was:
- Where are your servers physically located?
- Do you have a separate development and production environments?
Then my team and I would have to test and see if what they claimed was true.
Not only was it an issue of the environments not existing or not being setup, but most developers also did not use these settings.
The Software & Web Development dilemma usually ignored
It was pretty standard for us (Auditors) to identify the problems. Usually, they went ignored, and that company would end up having a major issue.
For example, their systems would crash, and they would not be able to continue operating.
No more Finger Pointing Finding a Solution
Some of these problems came with heavy losses on the financial side. There was always finger pointing, and no one was accountable because no one knew who was to blame.
Asking a Lot of Questions
At Limonade when we onboard a client we ask a lot of questions. We usually start 90% of our relationships with a website assessment.
It's common for our new client not to understand the correct terminology, and it's our job to educate them. Some might not understand what Development, Staging, and Production environment are when it comes to their website.
We observe what they have been doing and how they have operated. Then we start educating the client on the importance of global Information Technology Controls. It's important they understand the value in having Development, Staging, and Production Environments.
We rarely use our development Environment
We rarely use our development environment. We do most of our development on Open Source platforms. Our partners have created quality and tested frameworks used by tens of thousands of people. At Limonade, we use the Staging Environment often.
Since we moved our clients to WP Engine we are more disciplined in making minor website changes in the Staging Environment. If we are adding a new plugin, the staging environment is the best place to test it before adding it to the live website.
What is a Staging Environment?
According to Wikipedia:
Staging (STAGE) is a pre-production environment, for final testing immediately prior to deploying to production. It seeks to mirror the actual production environment as closely as possible, and may connect to other production services and data, such as databases.
For me, a Staging Environment has turned into a Pseudo-Live Environment. A place where I can quickly implement a change and be able to show my client with visual proof what I am suggesting.
If the customer does not agree, we roll it back. The live website which is facing our client's audiences is not impacted.
The Staging server is a mirror of your current production environment.
In plain language for anyone with a website, it's the twin of your existing live website.
Staging Environment is our Life Saver
Before joining WP Engine, we use to create changes on a development server. Once the change was ready, we had to push them through to live production.
Not Burning the Midnight Oil Again
I would have to wake up extremely early or stay-up-late at night to choose a time when our client's website traffic was slow. I didn't want to impact users, and I needed time to recover any errors before the website required being available for our client's customers.
Now I put the changes through some tests at any time of the day. I make sure its stable before moving it to the production server. I work with less stress and never transfer unnecessary stress to a client who is worried because their site is down.
No More Cowboy Coding
Whether we're working as consultants, or with our white labeling partners, we get to collaborate with other developers on their projects We've noticed that some developers like to take shortcuts and code directly into the production server.
Cowboy coding is a term referring to developers who code directly into the production server without testing changes. The same individuals who Cowboy Code usually don't document changes. When something goes wrong, it's harder to identify what created the issue.
Why do you need a Staging Environment?
As Chris Lema also states in his blog post on “Why do I need a staging environment? Let me tell you.”
Each of this issues can be solved with a staging environment:
- A staging environment protects you from poor performance being a surprise
- A staging environment protects you from poor performance being a surprise
- A staging environment protects you from finger pointing between hosts and developers
- A staging environment protects you from making fixes in your production environment
- A staging environment protects you from code that doesn’t work with that particular host
Where is the Staging Environment?
Your Developers laptop or old Office desktop is not considered a real staging environment.
A staging environment for me is:
- One that is available on a server accessible to the complete team.
- It should be mirroring all the features of the production server.
- It should be backed up.
- Comply with the same General IT Controls as your production server.
That way it will be easier to test a change. It will also mitigate the probability of an issue not showing up in staging and then appearing in the production and live website.
How Much does Staging Environment Cost?
WP Engine provides the Staging Environment as part of their regular hosting. Our clients who have their websites hosted on WP Engine will have this feature. This is just one of the many reasons we decided to have WP Engine as our only hosting provider.
We're able to guarantee our clients that their website is secure, backed up, and always running.
We can do that thanks to the great tools WP Engine provides us to serve our clients.
The Most Reliable Hosting Provider
You could be working with the same quality tools at WP Engine if you host your website with them. For me, WP Engine is the most reliable hosting company I have done business with since I started building websites two decades ago.
Does your website have a staging environment?
How often do you make changes and run into issues with it?
Feel free to comment below or let us know how we can help?