Environments in Software Development

In Development, we have various environments we deploy to

Steven Curtis
Feb 12, 2020 · 3 min read

When we deploy software, you will be told to put in on Prod or Dev. What do these things mean, and why is it important?

Read the following article and find out!

Photo by Alexander Dummer on Unsplash

Difficulty: Beginner | Easy | Normal | Challenging

Terminology

Here are some of the definitions and what they can mean

Deployment: All the activities that make software available for use

Development Environment: The environment you use when you create software

Environment: The Operating System, API calls and databases used by software

Production Environment: The environment used by the end user of your software

Staging Environment: An environment somewhere between Development and Production

Why is there a need?

Why do we need different places to deploy our code to. Now imagine you work for a bank, and want to test a feature where a customer can withdraw £1000 from their account (or Mickey Dollars, whatever monetary or bartering system units you use).

You seriously don’t want your developers to withdraw money every time they load up the App. Actually, you don’t even want to do it once. What we want is to have some sort of development environment where you can (in this case) withdraw money without it changing the balance of real customers.

Many organisations overcome this by having a development and a production environment that uses different backing databases for the two.

[ProdPreprod] Image.

The development of software entails that you will have an Environment to run the software inside.

Please keep in mind that these can have different names in organisations depending on who works there and the context of any particular organisation.

The Environments

Development / DEV

Here we generally would want some logging for developers to see what isn’t working correctly. You don’t (usually) want development environments to use the same database, logging or analytics systems as a production environment.

· Usually uses test databases

· API calls may be directed to a test backend

· Debug symbols may be turned on, which makes applications run slower than in production

· Analytics disabled

· Push actions from a server (websockets, mobile notifications, Forced updates) only apply to DEV software

QUALIF — Qualification / TEST / Staging / Pre-prod / UAT / Quality

Usually used for human testing (although dev may be used for this purpose).

The idea is that the environment is similar to Dev in that the system uses test databases, but is also similar to Prod in that the speed of the execution should be the same as the production version.

· Uses test databases

· Most of the environment is the same as Prod

Production / PROD

In production everything is “real”, or at least should be as this is the environment that your users are going to use. However, when you use a Prod app and (for example) charge a credit card, that credit card will be charged. That is, be careful.

· Uses real databases

· No debugging

Demo

A production App that may have certain features disabled, so the application may be demonstrated but (for example) the saving and use of credit cards can be disabled.

Conclusion:

Your organisation may use different names for anEnvironment to communicate to software developers and the business.

In a sense, it doesn’t matter. Broadly speaking you need a place to develop your software that doesn’t interact with yourProduction Environment to avoid (say) debiting your credit card while you develop software.

I hope this rather short article gives you some idea of the meaning of Environment and why this actually matters.

Thank you for reading!

Extend your knowledge

The Twitter contact:

Any questions? You can get in touch with me here

The Startup

Get smarter at building your thing. Join The Startup’s +793K followers.

Sign up for Top 10 Stories

By The Startup

Get smarter at building your thing. Subscribe to receive The Startup's top 10 most read stories — delivered straight into your inbox, once a week. Take a look.

By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more information about our privacy practices.

Check your inbox
Medium sent you an email at to complete your subscription.

Steven Curtis

Written by

stevecurtis.me

The Startup

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +793K followers.

Steven Curtis

Written by

stevecurtis.me

The Startup

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +793K followers.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store