devops Flashcards

(13 cards)

1
Q

Typical software release process (initial launch)

A

plan
code
test
build
deploy
operate and monitor

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

Improvements:

A
  • Addition of features
    – Bug fix
    – Performance improvement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

dev <-> ops

A

development-code repo
operations: severs

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

Challenges in the release process

A
  1. Communication and collaboration between developers
    and operations
    • Developers don’t consider the deployment environment
    • Operations don’t know how the system works
  2. Conflict of interest
    • Developers want to finish implementing fas
    • Operations want to maintain stability
  3. Manual work
    • Manual testing
    • Manual release creation
    • Manual deployment environment configuration
    • Slow down the release process
    • Require too much effort
    • Error prone
    • Difficult knowledge sharing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

DevOps

A
  • DevOps is a combination of cultural philosophies, practices, and tools
  • It is about anything that makes the process of releasing software fast and with high quality
  • Devs and Ops should work together more often
  • Different companies implement DevOps in different ways
  • DevOps became a separate role: DevOps Engineer
  • There are many tools to help automating the processes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Benefits of DevOps

A
  • Faster deployment
  • Reduced risk
  • Faster repair
  • More productive teams
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Aspects of DevOps automation

A
  • Continuous integration
  • Continuous delivery
  • Continuous deployment
  • Infrastructure as code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Continuous integration

A

Each time a developer performs a change to the project’s core repository main branch, an executable version of the system is built and tested

  • Faster to find and fix bugs
  • Your changes are shared with the whole team
  • Might create a “quality culture” in the development team
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Continuous delivery:

A

A simulation of the product’s operating environment is created and the executable software version is tested

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

Continuous deployment

A

A new release of the system is made available to users every time a change is made to the project’s core repository main branch

  • Faster customer feedback
  • Faster problem solving
  • Reduced costs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Business reasons against deploying every change

A
  • Incomplete features, but the competitors shouldn’t know about it
  • Customers may get irritated by many changes
  • Synchronisation of releases with known business cycles
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Infrastructure as code

A
  • Infrastructure model written in a machine-processable
    language
  • Characteristics:
    • Visibility
    • Reproducibility
    • Reliability
    • Recovery
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Aspects of DevOps automation

A
  • Continuous integration
  • Continuous delivery
  • Continuous deployment
  • Infrastructure as code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly