• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

질문있습니다!

20.10.29 09:22 작성 조회수 594

1

DevOps 준비하는 학생인데 궁금한점이 있어 두가지 질문드립니다.

1.포트폴리오 제작을 위해 현재 팀프로젝트를 통하여 제작하려고 하는데요. 프론트엔드, 백엔드, 그리고 저 DevOps 까지 총 세명으로 구성되어있는데 일단 제작에 앞서 저의 역할로서 계획은 백엔드가 이용한 어플 및 서비스 버전에 맞추어 모놀리식 구축, 마이크로서비스의 도커, 쿠버네티스를 이용하여 구축하고 세가지 형태로 제작하려고 합니다.

세가지의 공통점인 부분은 팀 사정상 JSP의 war file을 이용해야되서 Nginx -> Tomcat -> Mariadb 로 설계를 하였구요. 물론 백엔드의 버전에 맞추어 구축을 하려고합니다. 물론 테라폼을 이용하여 클라우드(AWS, GCP-GKE, NCP)를 통해 구축하여 배포한 뒤에 모니터링까지 그 배포한 과정들을 PDF문서로 통해 제작하려고 하는데 이 부분에서 선생님의 견해와 피드백을 듣고 싶구요.

2. 위 과정들이 DevOps 역할이 맞는건지 아니면 인프라 엔지니어인지 가끔 혼동이 옵니다. 위와 같이 포트폴리오 제작하는게 옳은건지 그리고 위와같이 제작한다면 어느 부분을 강조해야 DevOps의 포트폴리오로서 퍼포먼스가 확실히 강조되는 포인트가 있는지 궁금합니다.

답변 2

·

답변을 작성해보세요.

1

HaniBrown님의 프로필

HaniBrown

질문자

2020.10.30

감사합니다!! 선생님 덕분에 방향성을 바로 잡았습니다.  궁금한점 또 있으면 질문하겠습니다!

1

안녕하세요.

데브옵스 엔지니어 송주영입니다.

1. 현재 프로젝트의 형태.

일단 팀프로젝트가 학교의 프로젝트인지, 개인의 프로젝트인지 정확히 몰라 현업기준으로 답변을 드립니다.

보통 현업에서도 프론트엔드, 백엔드, DevOps(시스템엔지니어) 로 팀이 구성이 되는건 맞고,

언급한 것들을 데브옵스 엔지니어가 하는게 맞습니다. 그리고 전체적으로 문제가 있어보이지는 않습니다.

Nginx, Tomcat, DB 등도 기본적으로 알고 있어야 합니다. ( DB 는 깊이가 있어서 DBA 직군이 따로 있죠 )

일단 인프라와 도구들을 어떻게 구성했는지도 중요하지만, 가장 중요한 것은 무엇을 만들었느냐가 가장 중요할 것 같습니다.

그리고 그 결과물을 위해,

왜 NginX 를 사용했는지, AWS ALB 같은걸 이용했으면 필요가 없었던 아니었는지,

Tomcat 은 설치는 어떻게 했고, 설정은 어떻게 했는지, 기본적 튜닝은 어떻게 했는지,

MariaDB의 선택 이유는, 마이크로 서비스라면 Application 과 DB 설계는 어떻게 했는지 등

결과물을 위해서 어떤 도구등을 사용했는지가 중요한 포인트일 것 같습니다.

다시 말씀드리면 학생이시라면, 프로젝트를 하나 설정하고 일단 결과를 만들어보는게 가장 중요합니다.

그리고 그 결과물을 효율적으로 만들기 위해서, 쉽게 만들기 위해서 도구를 선정하는게 순서입니다.

클라우드를 아는게 중요하기 때문에, 클라우드의 메인 서비스들도 정확히 공부하세요.

그리고 쿠버네티스, 마이크로서비스 같은건 굉장히 고도화된 주제입니다.

단순히 아는 것보다 깊이있게 아는게 중요하기 때문에, 꾸준히 공부하고 업데이트 되는 내용을 공부하는게 중요합니다.

2. DevOps 의 역할과 인프라 엔지니어의 역할

두 Role 의 차이는 없다고 보셔도 됩니다.

1강에서 언급했던것처럼 DevOps 의 개념 자체가 큰 개념에 가깝습니다.

인프라 엔지니어링의 기술을 가지고, DevOps 개념을 실천하면 DevOps 엔지니어입니다. ㅎㅎ

보통 현업에서 DevOps 엔지니어라 하면 인프라 엔지니어들이 하는 일들을 합니다.

그리고 인프라엔지니어라 하면 보통 시스템 엔지니어를 칭하기도 합니다.

조금 더 클라우드(AWS,GCP,Azure) 에 친숙한 표현이 DevOps 입니다.

중요한건, 불려지는 이름은 중요하지 않고 하는 일들이 무엇인지에 더 집중하세요~

DevOps 의 포트폴리오로 좋은건, 아래와 같은 것들이 있습니다.

1. 어떤 문제를 잘 인지하고, 자동화로 해결한 사례

2. 다양한 오픈소스 ( k8s, nginx, tomcat 등등)의 경험 

3. 시스템 장애, 버그 등을 해결한 사례

4. 만들어진 Application 을 모니터링, 튜닝등을 하는 사례

5. 자동화 개발 능력, 스크립팅 능력

이렇게 표현을 했지만 막상 와닿지 않는다면 다양한 기업의 채용조건 등을 살펴보세요.

Linked in 같은 것을 이용하면 쉽게 채용조건등을 살펴볼 수 있고, 해당되는 기술을 알고 있는지로 쉽게 판단할 수 있습니다.

더 궁금한게 있으면 언제든 또 질문해주세요~

그리고 공부를 하면서 질문을 범용적인 질문에서 조금 더 디테일한 질문을 할 수 있게되면 더 성장해나가실 수 있습니다~