Dr. Gunnar Wrobel discusses deploying applications to unlimited environments on a per-branch basis using cloud infrastructure as code. By deploying infrastructure and applications for each branch through tools like GitLab CI and CloudFormation, it allows for easy testing, demonstration, and experimentation without impacting production. While there may be some operational overhead in managing many environments, it facilitates collaboration and learning at low cost. Resources like databases and functions are configured specifically for each stage through template parameters and conditions.
9. https://softwareengineering.stackexchange.com/questions/362072/in-github-flow-why-is-it-important-to-deploy-after-push-to-master
… This is a very lightweight process, so it is assumed that you do not have to
perform extensive QA before release. Your deployment process should perform
automated tests, and once the feature is live you are supposed to validate it in
production. If there's a problem, you just re-deploy the current state of the master
branch.
In my opinion this process is so lightweight that it is almost meaningless. It seems
to be most suitable for small teams working on early-stage products where
failures in production are acceptable. …
10. What if ...
… you could get an environment per branch?
ENTER THE CLOUD
….
17. Orchestration - template.yaml: Deriving the stage name from the branch
...
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
JobMatchMe Backend
The full API of the JobMatchMe GmbH
Parameters:
Stage:
Type: String
Description: The stage that is being deployed to
...
20. Disadvantages / Advantages
● Lack of pressure to automate QA
● Lots of environments dangling
around
● Lots of AWS parts dangling around
● Easy testing, playing around,
learning, discussing, designing,
demonstrating
● No feature toggles
● Amazingly low cost
21. Thanks!
Dr. Gunnar Wrobel, JobMatchMe GmbH
https://twitter.com/gunnarwrobel
https://www.linkedin.com/in/gunnarwrobel/
https://jobmatch.me