Automating Infrastructure Flashcards
What are the three stages to go through when you starting out automation on the network, and give an example of each one
RUN: read-only operations, list vlans, obtain inventory
WALK: Automate on-boarding, automate day to day tasks
FLY: Proactively manage users, complex automation
Why do we need automation?
Speed and agility
Scale operations
Risks of manually deployed managed networks (4)
Manual process time consuming
Subject to human error
Financial costs due to outages
Dependency on small components and many contributors
Infrastructure automation benefits (3)
Speed
Repeatability
Work at scale with reduced risk
Benefits of full-stack automation (4)
Self-Service
Scale on demand
Observability
Automated problem mitigation
As part of Automated problem mitigation, what should apps be engineered to do? (3)
Minimize blast radius - recognize issues quickly and re-route traffic
Self-heal - automatically re-deploy failed components
Monitor events - this allows fixes to be implemented
Benefits of cloud in automation
Self Service - quickly stand up whats needed
Close specifications, consistency, repeatability
Platform abstraction - the ability to containerize
Challenges of using cloud
Cloud platforms design, security may add new demands to applications
Permissions could be challenging
Unforeseen costs - resource on demand or “still running unused resource”
How should large scale app manage traffic, storage and compute
Provide good user experience
Be resilient, highly available and protect user data
Grow and shrink as per demand
Benefits of microservices
Scalability - can be scaled and load balanced across many servers
Infrastructure automation tools - EG Kubernetes can automate scaling
Challenges of microservices
Increased complexity - lots of moving parts
Automation is required - manual method is not realistic for coping
Whats the difference between Dev and Ops
Dev - were the developers that created apps
Ops - were the IT staff to make the apps work for users
Name some legacy bottlenecks
Project resourcing could take months
Limited resource
Setup and tear down not simple
When Dev and Ops fused, what did they need to do? (2)
Make coders responsible for deployment and maintenance
Treat virtualisation as code
What were the 3 key defining moments for DevOps evolution?
1: SRE
2: Debois - Agile infrastructure
3: Allspaw and Hammond - Best practice
What is the SRE approach based on? (6)
Shared responsibility Embrace of risk Acknowledgment of failure as normal Use automation to reduce toil Measurement of everything Qualifying success in terms of meeting quantitative service-level objectives
Name 3 best practice that Allspaw and Hammond presented
Automated infrastructure.
Shared version control.
Single-step builds and deployments.
Name 3 best practice for DevOps
Automation - reduce cost and reduce toil
Failure is normal - this should drive to build better systesm
Re-frame availability - SLO/SLI
Name two basic tools for scripting?
Bash
Python
Name 4 ways to make a script efficient
Standardising parameters, flags and errors
Create hierarchy and logically
Create high-level scripts for entire deployments and low-level for phases
Make code generic and re-usable as possible
What is idempotency
Any script to lead to the desired state regardless of what the state was.
Principles of idempotency
Look before you leap: if it aint broke don’t fix it
Get a good known state before making changes
Test for idempotency: ensure there are no side effects of automation
One bad apple spoils the bunch: all parts of the code need to be idempotent