DevOps 짧은 후기

HYEONG HWAN, MUN/ 10월 6, 2022/ 미분류/ 1 comments

https://blog.lael.be/post/11472

DevOps 란?

일반적으로는 Build, Test, Deploy 하는것을 데브옵스라고 한다.
막상 해보면 별거 없다. 모두 자동으로 동작하고, test를 제외하고는 규정이 정해져있기 때문에 머리 쓸 일도 많지 않다.

 

나는 Deploy 및 Deploy 후의 Ops 부분의 업무만 하려고 이것저것 해봤는데, Infrastructure 라는게 Dev가 뒷받침 되어 있어야 하더라.

즉!! Ops를 하려면 Dev도 잘 알아야함.

 

개발을 모르는 기획자와 일하면 일이 많이 힘들다.

개발을 모르는 디자이너와 일하면 일이 많이 힘들다.

인프라스트럭쳐 관리자도 개발을 알아야 하더라.

 

A와 B서버가 서로 통신하는 이유를 알려면, Ops 인원이 코드를 직접 봐야하고 분석해야 한다.

이미 잘 돌아가는 대충 만들어진 소프트웨어의 인프라를 개선할때에는 생각보다 엄청 고생해야 한다.

 

예시

소프트웨어에, 링크 주소를 입력하면 해당페이지의 meta 데이터를 읽어와서 표시해주는 기능이 있다.
이 기능 때문에 서버의 outbound 443, 80 이 열려있다. 그리고 outbound 에 대해서 internet-facing 되어 있다. (물론 NAT 사용하지만.)

ISMS-P (https://isms.kisa.or.kr/main/ispims/intro/) 감사를 받았는데 이 부분이 걸리더라. (서버가 왜 외부와 통신해야 하나요? 제한할 수 없나요?)

 

그 후의 내부 대화

기획팀 : 기능 필요해요 꼭 넣어주세요.
: 외부와 통신하면 안됩니다.
개발팀 : 그러면 어떻게 구현합니까?

이 경우에는 내부망(private subnet)에 metadata fetch 가능한 서비스를 만들고, 그 서비스 서버만 외부 통신이 가능하게 만들어야 한다.
이 metadata fetch 서비스는 내가 만들어서 제공하거나, 개발팀에서 하나의 프로젝트로써 개발하거나 해야한다.
누군가 귀찮은 업무를 해야만 문제가 해결된다. 그리고 하나의 node가 추가되는것이라 관리이슈도 추가된다.

 

--

추가적으로 운영중인 시스템을 점검하거나, 과부하나 운영 이슈발생시 원인 파악 및 조치(mitigation) 하기 위해서도, 인프라운영자가 개발(Dev)을 알아야한다.

 

 

Ops는 Dev를 알아야만 문제를 해결 할 수 있다. 그래서 DevOps 라고 부르는 것인가 싶더라. (Dev는 Ops를 몰라도 되지만 Ops를 아는 Dev가 되는것이 좋다)

그리고 같은 DevOps 라고 하더라도, Dev에 치우친 DevOps(Build Test Deploy)와, Ops에 치우친 DevOps(Deploy Monitoring Security LogManaging)으로 나뉠 것이다.

 

한줄 요약 : 개발은 항상 알아야 함. 하지만 알아야하는 깊이는 파트에 따라 다르다.

ps: 난 우리회사 기획팀이 컴포넌트라는 개념을 배웠으면 좋겠음.

1 Comment

  1. 역시 멋지십니다

Leave a Comment

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*