Continuous Delivery Flashcards

(21 cards)

1
Q

What does Continuous Delivery (CD) do?

A

Automatically moves a software product from a source code repository through to the staging environment, and at the press of a ‘release’ button, it can be moved to production.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does Continuous Deployment (CD) do?

A

Automatically moves a software product from a source code repository to the production environment, without the need to press a ‘release’ button.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the reason for the first principle: Create a Repeatable Process?

A

A repeated process quickly becomes a routine one.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the reason for the second principle: Automate Almost Everything?

A
  • No mistakes if automation is correct
  • Cheaper
  • Faster
  • Can record logs (which are usually better than humans)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the reason for the third principle: Version Control For Everything?

A
  • If something breaks, you can return to the exact previous working state
  • Any team member should be able to build any version of the application, on demand
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the reason for the fourth principle: If It Hurts, Do It More Frequently?

A
  • Building frequently improves the process
  • Eventually, it won’t be painful
  • Smaller changes are easier to manage
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the reason for the fifth principle: Build Quality In?

A
  • It is expensive to require lots of communication between Development and Staging
  • Testing should be obsessive: defects caught early are cheaper to fix.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the reason for the sixth principle: Done Means Released?

A
  • A feature should only be considered ‘done’ once it has been released to a production-like environment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the reason for the seventh principle: Everyone Is Responsible?

A
  • The team succeeds or fails as a unit, not as individuals.
  • Collaboration prevents blame-shifting (which is not progress)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the reason for the eighth principle: Continuous Improvement?

A
  • Teams should reflect on successes and failures to improve processes and prevent future errors.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the 8 principles of Continuous Delivery?

A
  1. Create a repeatable process
  2. Automate almost everything
  3. Version control for everything
  4. If it hurts, do it more frequently
  5. Build quality in
  6. Done means released
  7. Everyone is responsible
  8. Continuous Improvement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is A/B Testing?

A

Occurs in the production environment:
1. A small percentage of customer traffic is sent to a new working interface.
2. If (after some time) customers are unhappy, the traffic is sent back to the old interface.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Canary Testing?

A

Occurs in the production environment:
1. A small percentage of customer traffic is sent to a new maybe-working version.
2. If (after some time) customers are unhappy, the traffic is sent back to the old version.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is Blue/Green Testing?

A

Occurs in the production environment:
1. The production environment (blue) is swapped with the staging environment (green)
2. If customers are unhappy, the swap is reversed (else it is made permanent)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How can we achieve continuous delivery?

A

Through fast, automated feedback on the production readiness of your applications, every time there is a change

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What condition should software always be in?

A

Production ready, or releasable

17
Q

How does continuous delivery help avoid the biggest source of waste in software development?

A

Because it’s much easier to get new, experimental features into production

18
Q

When should testing be done?

A

All the time, not just once the software has been developed

19
Q

Who is responsible for quality?

20
Q

What is more important than delivering functionality?

A

Keeping the system working and in a good state

21
Q

How does continuous delivery reduce the risk of release?

A

Releasing a small, extensively tested, change (and being able to revert immediately) is not a risky thing to do