container-solutions.com [email protected] ... · Containers - Docker. ... Advanced...
Transcript of container-solutions.com [email protected] ... · Containers - Docker. ... Advanced...
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
What is Cloud Native?
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Containers - Docker
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Fast / Customer-Centric
Sa
fe a
nd
Re
liab
le
LIMITS SPEED, SAFETY AND COMPLEXITY
ACHIEVE QUALITY THROUGH SPEED
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Dynamic Scheduling - Kubernetes
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
It is not the strongest of the species that survive,
but the most adaptable
Charles Darwin
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
What do companies want?
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
● System Thinking: A business can be seen as a system that processes resources to deliver value to its customers with an emphasis on the performances of the entire system versus local optimization
System Thinking
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
● Feedback loops enable knowledge of the system to flow back from the customer to the business and allow for better informed decisions
Feedback Loops
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
● Continual experimentation enables improvements at every level of the system and the emergence of new business initiatives
Continual Experimentation
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
CUSTOMER CENTRIC BY GOING FAST
WITHOUT BREAKING THINGS
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
What do we find
when we go out into the field?
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Value Stream Map
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Why is this actually
happening?
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
1. Agile
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
CLOUD NATIVE
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
2. DevOps
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
CLOUD NATIVE
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
5. Automation and CI/CD
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
6. Organisation and culture
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Experimental culture
JournalOutput & conclusionsDecide: kill or continue
Experiment
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
What will be the impact on the
testing?
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Decentralization and local freedom over central control
"organizations which design systems ... are constrained to
produce designs which are copies of the communication
structures of these organizations."
— M. Conway
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Infrastructure provisioning
Manual operations create bottlenecks
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Testers
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Testers
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Full test automation according to test pyramid
Microservices and CI/CD demand full automation
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Testing is not finished when software is deployed
Developers need to build testability into the applications to
allow continuous testing
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Data driven diagnosis and testing in production
Lots of opportunities to collect data due to automation.
Alert at near misses and other non-events
Employ advanced protection techniques such as circuit
breakers
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Advanced deployment strategies
Canary releases, A/B testing and more
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
https://thenewstack.io/deployment-strategies/
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Blameless postmortems
When blame is assigned, organisation stops learning
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Complex systems fail in complex ways
Some issues will only happen in production. Large scale
exposes a failure that was built into the design and hidden by
safety measures. But erosion of the safety measures,
eventually leads to series of events build up until something
trips the systems into a failure
Adrian Cockcroft
container-solutions.com [email protected] Testing Cloud Native Applications @pini42
Questions?
container-solutions.com [email protected] Testing Cloud Native Applications @pini42