The ability to dynamically create resources like ELBs, Security Groups, Lambda functions, S3 assets, etc has been a common ask for a while. The OSS community did the bulk of this work, and our engineer Paul just put the finishing touches on it to make it available to everyone.
There are at least two use cases where we believe this will be helpful:
Use Case 1: Testing a Feature Branch
- Engineer works on a new feature in a feature branch
- Engineer wants to test the feature in a new environment or stack. (A stack is a name given to an independent set of components)
- Engineer kicks off a Spinnaker pipeline that stands up a new environment dynamically (ELBs, Security Groups, and EC2 instances) and runs integration tests against the new feature
- Once the feature has been validated on this new stack, the Engineer issues PR to merge code into master or release branch.
Using Spinnaker's ELB Stage the output of each step in the above workflow becomes an input of the next stage so you can dynamically create stacks. The value of this workflow is that you gain confidence that a feature has been tested before merging into a common branch. Otherwise the branch could maintain a feature that has critical errors blocking progression of the code to production.
This new workflow will allow your teams to deliver features quicker to your customers with added confidence.
Use Case 2: Adding Automation to your Pipelines
If you are standing up an environment in one of your existing Spinnaker pipelines, you still need a way to create static resources, so you are either doing them manually, or automating them with a script or Jenkins job. By using the new ELB stage in Spinnaker, there is now first class support for creating them dynamically.
Here's a 3-minute video of one of our engineers, Paul, demo'ing the ELB stage.
Spinnaker ELB Stage Screenshots
New “Create Load Balancers” stage in the dropdown:
Define the load balancers:
Select your account, region, subnet, security groups, etc. The load balancer will not be created until this stage executes.
The load balancer configuration should now appear on the screen:
If the create/update succeeds, the pipeline execution should look something like this:
Here's a list of new stages we're planning on creating:
1. Security Groups
2. Lambda functions
5. Cloud Formation