기술면접을 준비해보자<DevOps-Curriculum.Q00>

이선재·2022년 11월 20일
0

기술면접

목록 보기
1/4

지식습득을 위해 다음과 같은 커리큘럼 Knowre-Dev를 활용하여 진행합니다! Topic에 대하여 잘 학습하고 Checklist를 활용하여 자문자답을 진행하고 결과물을 만들고 추가적인 공부를 진행하는 형식으로 진행합니다.

Quest 00. 데브옵스란 무엇인가

커리큘럼에 따라 이번 퀘스트에서는 데브옵스가 무엇인지, 이러한 개념이 왜 나오게 되었는지 등에 대해 다룰 예정입니다.

Checklist

  1. 만약 비개발자에게 데브옵스가 무엇인지 설명하게 된다면 어떻게 설명할 수 있을까요?

    생각해보면 기존의 개발 문화는 개발팀과 운영팀 간의 불꽃튀는 전쟁이라고 볼 수 있는데 앙숙인 이런 둘을 한 곳에 모아둔 것이라고 볼 수 있다.
    개발(Dev)과 운영(Ops)을 함께하여 코드 전송 등의 불필요한 시간을 줄이고 많은 협업과 커뮤니케이션을 통해 기존 조직 보다 더 나은 기술을 개발하는 것이다.

  2. 데브옵스라는 개념 이전의 소프트웨어 개발은 어땠을까요? 어떤 요구사항을 충족하기 위해 데브옵스라는 개념이 생겼을까요?

    위에서 말했듯이 개발과 운영팀간의 간극을 좁히는 것이 문제였는데, 이러한 간극을 협업을 통해 줄이기 위해 여러 도구, 방식을 통하여 더 나은 애플리케이션을 만들기 위해 생겨나게 되었다고 생각된다.

  1. 데브옵스 엔지니어가 따로 존재하는 조직과 따로 존재하지 않는 조직은 각각 어떤 장단점을 가지고 있을까요?

    조금 더 혁신적인 애플리케이션이 나올 수 있다고 생각한다. 개발 혹은 운영 부분에 치우져서 한 쪽에 특화된 애플리케이션 개발을 할 수 있을 것이라 생각된다. 하지만, DevOps 문화는 반대로 한 쪽에 편중되지 않고 중심을 잘 지킬 수 있다는 장점이 있을 것 같다.

  2. SRE(Site Reliability Engineering)는 어떤 개념일까요?

    DevOps에서 사용되는 여러 방식들을 사용하여 IT 인프라 작업을 자동화하는 관행이다. 이때 SRE를 사용하여 빈번한 업데이트에도 안정성을 유지, 균형을 잡아주는 것이다.


    사이트 신뢰성 엔지니어링으로 개발자들(속도)과 운영팀(안정성) 사이에서 간극이 생기게 되며 생겨난 개념으로 장애에 대한 책임을 모두 공유하는 개념 누군가를 질타하는 것이 아닌 공동책임으로 다시금 장애가 나지않게 방법을 찾는 개념이다. 즉, 간단히 보면 평등한 개발 문화라고 볼 수 있다.


    개발자가 셀프 서비스를 운영하기 위해 플랫폼 자동화를 시키는데 사이트 신뢰성 엔지니어들은 이러한 플랫폼을 개발한다. 이러한 플랫폼 위에서 개발자들이 스스로 배포, 운영을 할 수 있는 것이다.


    DevOps는 조직문화에 대한 방법론이자 방향성이고, SRE는 적용하기 위한 구체적인 가이드 인 것이다.


    이때 Error Budget이라는 개념을 도입하여 error 허용 시간을 설정(1H == Error Budget 1)한다. error 발생 시 마다 숫자를 차감하여 0에 수렴하게 되면 신규 기능 배포를 멈추고 시스템 안정성을 올리는데 초점을 마추는데 사용한다.

  3. 미래의 데브옵스 직무는 어떻게 변화할까요? 여러 가지 미래를 상상해 봅시다!

    DevSecOps와 DevOps 문화에 보안이 추가된 것 처럼 요구사항 분석, 설계, 구현, 테스팅, 운영이 같이 협력하는 식의 개발 문화가 진행 될 것이라고 생각된다. 하지만 사공이 많으면 배가 산으로 간다고 개발 과정의 오버헤드가 점차 늘어지고 늘어나 SRE를 지키게 될 것이다.

profile
지적을 환영하는 인프라 냠냠을 시도하는 취준생

0개의 댓글