Describes how we can deploy self-healing, self-bootstrapping Pipelines across multiple AWS accounts
Size: 827.95 KB
Language: en
Added: Feb 22, 2019
Slides: 14 pages
Slide Content
Multi-Account, Self-Healing, Self-Bootstrapping DevOps Pipelines Stephen Wilding – Cambridge User Group – February 2019
Aims Demonstrate how to manage tooling deployment using pipelines across a multi-account, multi- organisational environment Demonstrate how tooling can be self-healing
What Problem Are We Trying To Solve? As an engineer I need to ensure that all AWS are bootstrapped with my tools installed As an engineer I need to ensure that I can deploy updates to my tooling across ALL (i.e. potentially 100’s) of accounts via a single action As an engineer I need to ensure my tooling is self-healing
Desired Outcomes Tooling is automatically deployed Tooling can self-heal Tooling can be updated via agility and scalability that the cloud demands
Context I manage a single production account SEC
Context I need to deploy my tooling to all other accounts!!! SEC client client client client client client client client client
Requirements Tooling should be deployed at account bootstrap time No tooling = Account is not ready for use Tooling should be deployed via a pipeline Code repository is Microsoft VSTS (Git) Tooling should be deployed to ALL AWS accounts NB: From multiple AWS organisations Potentially using multiple provisioning mechanisms
How Should This Look (Logically)
Design Principles Must support CI/CD Must support full automation Should be serverless Should ideally be self-healing Should ideally be native (i.e. AWS or Microsoft) Should support agility
OK – How Should This Look (Physically) Ingredients A little bit of Lambda A dash of AWS Config (Rules)……(or Cloudwatch events) A sprinkling of S3 A smattering of Cloudformation A drop of DynamoDb , IAM & SNS And finished off with a sprig of Azure DevOps Pipelines MIX IT TOGETHER AND………
DEMO
Considerations and Next Steps? PoC end to end including more failure scenarios Need to test for multi-region and at high scale How will the pipeline perform? Config Rules can work out expensive Option to replace with Cloudwatch Events plus Lambda?? How do we handle initial artifact deployment (roles/SNS etc )? Key to the whole bootstrap What about updates? Over-time build in more self-healing granularity