<story><title>Staging is dead: The rise of preview environments</title><url>https://www.withcoherence.com/post/staging-is-dead-the-rise-of-preview-environments</url></story><parent_chain><item><author>kypro</author><text>Maybe I&amp;#x27;m missing something here, but I haven&amp;#x27;t worked anywhere for years that&amp;#x27;s had a &amp;quot;staging&amp;quot; environment, as least not as this article describes it.&lt;p&gt;Everywhere I&amp;#x27;ve worked either has spin up environments, a developer issued test environment or various lower testing environments where we can deploy individual features for testing and QA.&lt;p&gt;But more to the point everywhere I&amp;#x27;ve worked has also combined these lower level testing environments with some kind of pre-production environment which features more data (typically a clone of prod). On this environment often a further layer of tests are ran and new features are manually reviewed one last time before being deployed to production.&lt;p&gt;Where does a &amp;quot;staging&amp;quot; environment fit in this? Unless I&amp;#x27;m miss understanding the article seems to suggest code goes, dev -&amp;gt; staging -&amp;gt; prod, but aside from one developer role I  had in the early 00s it&amp;#x27;s always been, dev -&amp;gt; test env -&amp;gt; pre-prod -&amp;gt; prod.&lt;p&gt;Is the article suggesting you can just do away with pre-prod environments for &amp;quot;preview&amp;quot; environments? And why would you even want to do that? As I understand it one of the features of a pre-prod environment is that is persists and isn&amp;#x27;t a clean slate each time. Any mess that can accumulate in prod can accumulate in a pre-prod environment.&lt;p&gt;I guess I&amp;#x27;m not following what this article is advocating for.</text></item></parent_chain><comment><author>ezekg</author><text>&amp;gt; But more to the point everywhere I&amp;#x27;ve worked has also combined these lower level testing environments with some kind of pre-production environment which features more data (typically a clone of prod). On this environment often a further layer of tests are ran and new features are manually reviewed one last time before being deployed to production.&lt;p&gt;Sounds like staging to me...</text></comment>
<story><title>Staging is dead: The rise of preview environments</title><url>https://www.withcoherence.com/post/staging-is-dead-the-rise-of-preview-environments</url></story><parent_chain><item><author>kypro</author><text>Maybe I&amp;#x27;m missing something here, but I haven&amp;#x27;t worked anywhere for years that&amp;#x27;s had a &amp;quot;staging&amp;quot; environment, as least not as this article describes it.&lt;p&gt;Everywhere I&amp;#x27;ve worked either has spin up environments, a developer issued test environment or various lower testing environments where we can deploy individual features for testing and QA.&lt;p&gt;But more to the point everywhere I&amp;#x27;ve worked has also combined these lower level testing environments with some kind of pre-production environment which features more data (typically a clone of prod). On this environment often a further layer of tests are ran and new features are manually reviewed one last time before being deployed to production.&lt;p&gt;Where does a &amp;quot;staging&amp;quot; environment fit in this? Unless I&amp;#x27;m miss understanding the article seems to suggest code goes, dev -&amp;gt; staging -&amp;gt; prod, but aside from one developer role I  had in the early 00s it&amp;#x27;s always been, dev -&amp;gt; test env -&amp;gt; pre-prod -&amp;gt; prod.&lt;p&gt;Is the article suggesting you can just do away with pre-prod environments for &amp;quot;preview&amp;quot; environments? And why would you even want to do that? As I understand it one of the features of a pre-prod environment is that is persists and isn&amp;#x27;t a clean slate each time. Any mess that can accumulate in prod can accumulate in a pre-prod environment.&lt;p&gt;I guess I&amp;#x27;m not following what this article is advocating for.</text></item></parent_chain><comment><author>pmontra</author><text>The article is about spinning up multiple staging servers, maybe one per branch&amp;#x2F;feature and possibly leaving them there for hours or days, to be inspected at each own URL until somebody confirms that the implementation is OK. All of this is automated (a git push?)&lt;p&gt;The usual staging and&amp;#x2F;or preproduction environments would be the preview of their own branches.&lt;p&gt;It sounds nice. The only problems I can see are:&lt;p&gt;1) The cost, because each one of those instances could have its own queues, databases, connections with third party APIs, etc.&lt;p&gt;2) Seeding the database with a meaningful amount of data. I often see preproduction database built by testers month by month after a minimal seeding. Each instance here has to be seeded with all data plus what&amp;#x27;s required to demo the new feature. That must be saved before destroying the database, reused for further branches, merged with the data for other features.</text></comment>