
Sign up to save your podcasts
Or
To release software to your customers, you'll probably need several development environments. To allow a team to make changes to software without disrupting paying customers, we need a way to isolate them.
Software developers and engineers working on an agile software development team need an environment where they can make changes under development. The development environment might be a copy of a website, database, or API on their computer. This is sufficient for a product with a minimal footprint. In a larger and more complex software product, cloud or server resources in a datacenter may be needed to support development environments.
In addition to a development environment, most teams need somewhere separate from development and production to do additional testing. This can be known as the "test", "user acceptance" (UAT), or "staging" environment and allows the team to more closely inspect a version of the software slated to release.
The final environment that is always required is production itself - or the place where your paying customers use the software.
In addition to a development, test, and production environment - there are two other environments that can be fairly common.
One of these is a demo environment, who's purpose is to provide a playground or sandbox where a limited audience can "kick the tires" of the software without disrupting the development team.
The other common environment is a capacity test environment, who's purpose is to determine whether a potential release of the software will stand up to a real load. Capacity test environments should have the same hardware or cloud processing power as production, to provide testing results that are representative of real traffic on the same computing power.
Regardless of which environments your company or team uses to release software, you'll need configuration management to automate releases through these environments. I'll talk about configuration management tomorrow, and how you can use it to make sure releases of the software in a given environment don't accidentally point to the wrong environment's resources.
Join my Patreon: https://thrivingtechnologist.com/patreon
Learn about one-on-one career coaching with me: https://thrivingtechnologist.com/coaching
TechRolepedia, a wiki about the top 25 roles in tech: https://thrivingtechnologist.com/techroles
The Thriving Technologist career guide: https://thrivingtechnologist.com/guide
You can also watch this episode on YouTube.
Visit me at thrivingtechnologist.com
4.8
2323 ratings
To release software to your customers, you'll probably need several development environments. To allow a team to make changes to software without disrupting paying customers, we need a way to isolate them.
Software developers and engineers working on an agile software development team need an environment where they can make changes under development. The development environment might be a copy of a website, database, or API on their computer. This is sufficient for a product with a minimal footprint. In a larger and more complex software product, cloud or server resources in a datacenter may be needed to support development environments.
In addition to a development environment, most teams need somewhere separate from development and production to do additional testing. This can be known as the "test", "user acceptance" (UAT), or "staging" environment and allows the team to more closely inspect a version of the software slated to release.
The final environment that is always required is production itself - or the place where your paying customers use the software.
In addition to a development, test, and production environment - there are two other environments that can be fairly common.
One of these is a demo environment, who's purpose is to provide a playground or sandbox where a limited audience can "kick the tires" of the software without disrupting the development team.
The other common environment is a capacity test environment, who's purpose is to determine whether a potential release of the software will stand up to a real load. Capacity test environments should have the same hardware or cloud processing power as production, to provide testing results that are representative of real traffic on the same computing power.
Regardless of which environments your company or team uses to release software, you'll need configuration management to automate releases through these environments. I'll talk about configuration management tomorrow, and how you can use it to make sure releases of the software in a given environment don't accidentally point to the wrong environment's resources.
Join my Patreon: https://thrivingtechnologist.com/patreon
Learn about one-on-one career coaching with me: https://thrivingtechnologist.com/coaching
TechRolepedia, a wiki about the top 25 roles in tech: https://thrivingtechnologist.com/techroles
The Thriving Technologist career guide: https://thrivingtechnologist.com/guide
You can also watch this episode on YouTube.
Visit me at thrivingtechnologist.com
4,070 Listeners
225,447 Listeners
32,002 Listeners
55 Listeners
153,525 Listeners
269 Listeners
982 Listeners
211 Listeners
6,911 Listeners
7,865 Listeners
97 Listeners
7 Listeners
33 Listeners
8,922 Listeners
333 Listeners