There are three different environments that you'll probably deal with at some point. Each environment has its own properties and uses and it's important to use them accordingly. Once you know what the environments are used for it'll make since why we have so many of them.

The main three environments are: development, stage, and production.

Development

This is the environment that's on your computer. Here is where you'll do all of your code updates. It's where all of your commits and branches live along with those of your co-workers. The development environment is usually configured differently from the environment that users work in.

It'll be connected to some local database or a dummy database so that you can write your code without messing up the real data. Since there will be multiple people working in the development environment, you'll also handle any branch merging.

Nothing you do in the development environment affects what users currently see when they pull up the website. This is just for you and the other web devs to see how new features will work and to try out improvements.

A lot of preliminary testing will happen in this environment. You don't want to release your code before you make sure it works locally at least. Go through your code as thoroughly as you can so that you limit the bugs that squeak through to the next environment.

Stage(类似于预发环境)

The stage environment is as similar to the production environment as it can be. You'll have all of the code on a server this time instead of a local machine. It'll connect to as many services as it can without touching the production environment.

All of the hard core testing happens here. Any database migrations will be tested here and so will any configuration changes. When you have to do major version updates, the stage environment helps you find and fix any issues that come up too.

If you have a client, this is when you would be able to give them a demo of how things work and look. They will be able to see how things will work when they make it live and they will be able to give you any feedback you need. Think of the stage environment as the place you do the last checks and you polish things up.

Production

Every time you talk about making your project live, this is the environment you are talking about. The production environment is where users access the final code after all of the updates and testing. Of all the environments, this one is the most important.

This is where companies make their money so you can't have any crippling mistakes here. That's why you have to go through the other two environments with all of the testing first. Once you're in production, any bugs or errors that remain will be found by a user and you can only hope it's something minor.

Some people like to do roll-outs to the production environment. That means they release changes to a few users and gradually roll them out the everyone. Not all of your updates have to be released into the production environment at the same time.

In some cases, you might roll out your changes on a schedule to handle load issues or to make sure that there aren't any major issues sneaking through. You can release changes to the production environment without going through the stage environment if there's an emergency although it's not something you want to do regularly.

Different organizations will deal with these environments in their own ways. Some of them have different names or there may be more environments than these. Regardless, you know what you need to in order to make the best use of each of them.

As a side note, I know the stage environment can be a pain sometimes. It takes so much work to set up this fake production environment and write all of the tests for it. Although it is worth the time. It's better to go ahead and get this step over with because it'll save your butt more than you'll ever know.

Production Environment Difference Between Development, Stage, And Production的更多相关文章

  1. [转]The Production Environment at Google (part 2)

    How the production environment at Google fits together for networking, monitoring and finishing with ...

  2. [转]The Production Environment at Google

    A brief tour of some of the important components of a Google Datacenter.   A photo of the interior o ...

  3. 【asp.net core】Publish to a Linux-Ubuntu 14.04 Server Production Environment

    Submary 又升级了,目录结构有变化了 . project.json and Visual Studio 2015 with .NET Core On March 7, 2017, the .NE ...

  4. Implement a deployment tool such as Ansible, Chef, Puppet, or Salt to automate deployment and management of the production environment

    Implement a deployment tool such as Ansible, Chef, Puppet, or Salt to automate deployment and manage ...

  5. Publish to a Linux Production Environment

    Publish to a Linux Production Environment By Sourabh Shirhatti In this guide, we will cover setting ...

  6. EF中三大开发模式之DB First,Model First,Code First以及在Production Environment中的抉择

    一:ef中的三种开发方式 1. db first... db放在第一位,在我们开发之前必须要有完整的database,实际开发中用到最多的... <1> DBset集合的单复数... db ...

  7. 什么是staging server

    原文链接:http://blog.csdn.net/blade2001/article/details/7194895 软件应用开发的经典模型有这样几个环境:开发环境(development).集成环 ...

  8. Elasticsearch 异常处理

    cluster_block_exception https://stackoverflow.com/questions/50609417/elasticsearch-error-cluster-blo ...

  9. aps.net cored 新概念

    Tag Helpers The EnvironmentTagHelper can be used to include different scripts in your views (for exa ...

  10. zend framework2 下载及安装

    1.安装XAMPP 2.安装zend studio 3.在GITHUB上下载一个zendframework模板,插入到IDE中 4.将下载的zend framework2文件夹解压放在vendor文件 ...

随机推荐

  1. Doris写入数据异常提示actual column number in csv file is less than schema column number

    版本信息: Flink 1.17.1 Doris 1.2.3 Flink Doris Connector 1.4.0 写入方式 采用 String 数据流,依照社区网站的样例代码,在sink之前将数据 ...

  2. Django-4.2博客开发教程:需求分析并确定数据表(四)

    前三步已经完成了一个初步流程,从创建项目>应用>数据迁移>访问首页.以下是我整理的基本流程,接下来一步一步完成整个项目. 1.我们的需求: 博客的功能主要分为:网站首页.文章分类.文 ...

  3. PDF转换OFD(Java实用版)

    前言: 在项目中用到了,就写一下哈 OFD简介 百度百科:https://baike.baidu.com/item/OFD/56227163?fr=aladdin OFD(Open Fixed-lay ...

  4. 编码技巧 --- 使用dynamic简化反射

    引言 dynamic 是 Framework 4.0 就出现特性,它的出现让 C# 具有了弱语言类型的特性.编译器在编译的时候不再对类型进行检查,默认 dynamic 对象支持开发者想要的任何特性. ...

  5. 代码随想录算法训练营第二天| LeetCode 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

    977.有序数组的平方 题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 文章讲解:https://programmercarl ...

  6. HBase Compaction 原理与线上调优实践

    作者:vivo 互联网存储技术团队- Hang Zhengbo 本文对 HBase Compaction 的原理.流程以及限流的策略进行了详细的介绍,列举了几个线上进行调优的案例,最后对 Compac ...

  7. AttributeError: 'EmailUse' object has no attribute 'SendMail'

    错误原因:函数名与模块名重复 解决方案:不要将函数名与模块名重复

  8. PLE-实践小结-2308-cnblogs

    某场景介绍 前状:三模型,权重融合 解决问题:融合目标行为,充分利用样本信息,节省资源开销. 当前效果 主场景人均真实曝光+0.26%,不显著:子场景人均真实曝光+0.35%,不显著 千曝互动+2.6 ...

  9. OpenUSD联盟:塑造元宇宙的3D未来

    一.引言 近日,美国3D内容行业的五家主要公司苹果.英伟达.皮克斯.Adobe和Autodesk联合成立了OpenUSD联盟(AOUSD).这一联盟的成立标志着元宇宙领域的一次重要合作,旨在制定元宇宙 ...

  10. 从 HTTP/1.1 到 HTTP/3

    从 HTTP/1.1 到 HTTP/3,解决了一些旧协议的问题,引入了好用的新功能. HTTP/1.1 HTTP/1.1 通过在传输层和应用层之间增加 SSL/TSL 解决数据不安全的问题,但它本身还 ...