Software Engineering - Cloud-Native¶
Why¶
- Axiom: Cloud-Native brings value
- Corollary: Value is best represented as money
Contributing Factors¶
Increase in number of internet-connected people¶
Increase in computing power to serve customers¶
Cloud-Native solves a scaling problem
An Exploration of Value¶
Code¶
- Clean code
- Refactoring
- Gardener over architect
Architecture¶
- Domain Driven Design
- Service Oriented Architecture
- Microservices
Testing¶
- Continuous Integration (CI)
- Contract-Driven Testing
Delivery¶
- Iterative development (Agile)
- Continuous Delivery (CD)
Security¶
- Shift-Left
- Zero-Trust
Infrastructure¶
- Infrastructure-as-Code
Operations¶
- Rolling deployments
- Canary deployments
- System observability
- Testing in production
Culture¶
- Psychological safety
- Dev(Sec?)Ops
Things in the Cloud¶
An Experience¶
Some Measurements¶
Further Reading¶
Web Resources¶
Paperbacks¶
- The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations by Gene Kim, Jez Humble, Patrick Debois, John Willis
- Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications by Bilgin Ibryam, Roland Huss D
- The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win by Gene Kim, Kevin Behr, George Spafford