What is DevOps

Reference: [Inflearn] DevOps: Infrastructure as Code with Terraform and AWS Course by Song Juyoung

Background of DevOps

  • Started thinking that it is natural for planners and customers to be fickle about requirements, rather than expecting complete requirements to emerge

What is DevOps?

  • A development culture that strives to create an efficient environment for software development, operations, and services

    • A rapid service delivery form that can respond to consumer and user service requirements in the simplest and fastest way, and a software development culture that supports and maintains it

      • A combination of Development and Operations!

  • DevOps aims for fast, simple, and rapid service delivery

    • And aims for a software development culture that supports and maintains it

The 5 Philosophies of DevOps

1. Culture

: Building a culture through DevOps

  • People

    • Team, personnel, values, communication

  • Task

    • Process, methodology

  • Service

    • Value and nature of the service

  • Resources

    • H/W, S/W, technology, tools

  • Time

    • Schedule, possibility of change, resilience, prediction

2. Automation

: Aiming for efficiency and fast speed through automation

  • Infrastructure and security

    • Cloud, network, access control, encryption

  • Languages and tools

    • Programming and tools

  • Continuous Integration / Deployment

    • Considering CI/CD Pipeline configuration

  • Monitoring

    • Monitoring systems and incident response

3. Measurement

: Continuously improving by measuring metrics

  • Always measure when changes occur

  • Monitor application performance and development speed

  • Measure whether things are continuously improving or not

  • Eliminate guesswork in decision-making

4. Sharing

: Growing together through sharing

  • Transparent data accessible at any time

  • Knowledge sharing, open mind

  • Solving together when problems occur

  • Accelerating work

5. Filing up & Piling up

: Building assets by accumulating records

  • Efficiently achieving the 10,000-hour rule

So, What is DevOps?

Summary based on the 5 philosophies of DevOps above

  • To efficiently satisfy requirements,

    • Automate work

    • Measure change metrics,

    • Share them,

    • And continuously accumulate all these results

  • A philosophy, methodology, and technology for building this culture

Why DevOps is Needed

: Speed and efficiency

  • Modern services (S/W) are extremely complex

    • In an era of rapid technological advancement, it is quite important to have development speed that can keep up

      • The development speed mentioned here does not simply mean programming fast

        • The speed of all processes that occur in product development (conception, operations, development, design, launch, etc.) are all important

    • All these processes must be done at fast speed and in efficient ways to stay ahead of others

      • From this perspective, most companies need DevOps!

  • We can solve numerous complex problems with DevOps philosophy and methodology!

Advantages of DevOps

  1. Aims for an environment where development and operations are possible with a minimum number of people

  2. Service deployment and operations are flexible, and services operate very quickly and rapidly

  3. Development deployment is automated, aiming for high-quality services accordingly

Main Purpose of DevOps

  • Performing frequent deployments, carrying out frequent releases, and

  • The main purpose is to equalize risks downward through frequent releases!

    • Goes well with Agile

Key Principles of DevOps

Can be seen as the actions and procedures that are strived for to realize DevOps!

  1. Are you focusing on key features?

  2. Are you striving to internalize quality?

  3. Are you approaching scientifically to create knowledge needed for development?

  4. Are you prioritizing collaboration and spending on communication costs rather than the cost of creating perfect specifications?

  5. Are you attempting to develop as fast as possible?

  6. Are you building a developer culture that respects people?

  7. Are you not sparing meetings or discussions for optimization strategies, and investing generously in them?

Last updated