본문 바로가기
DevOps

[패스트캠퍼스|AWS강의] 오리엔테이션과 시작하기

by DEV Lee 2021. 2. 17.

수강 클립

Ch01. 오리엔테이션과 시작하기 - 01. devOps의 필요성

Ch01. 오리엔테이션과 시작하기 - 02. JiraConfluence 설명

Ch01. 오리엔테이션과 시작하기 - 03. AWS와 Docker의 필요성


DevOps의 필요성

DevOps란?

먼저 데브옵스(DevOps)란, Development(개발) + Operations(운영) 의 합성어 이다. 

  • 애자일 컨퍼런스에서 앤드루 클레이쉐이퍼와 패트릭 드부가 "에자일 인프라스트럭처"에 대해 논의하며 처음으로 사용.
  • 개발과 운영이 상호의존적으로 대응해야 한다는 의미
  • 개발과 운영사이에서 어떻게 하면 더 빠르게, 효율적으로 업무를 수행할 수 있을지에 대한 고민. 개발과 운영 사이 역할 담당함.
  • 개발자로서, 실무자로서 다양한 이해가 필요한 역할.

 이처럼 DevOps는 개발과 운영 사이에서 개발자 간 소통 및 협업을 원활하게 하여 업무를 효율적으로 처리하는 것을 목적으로 한다. 업무를 효율적으로 하기 위해 다음과 같은 몇 가지 툴을 사용한다. 

 

툴 체인

  • Jira, Confluence, Bitbucket등...
    • 위 세 개는 모두 Atlatian 제품군이다.

 

업무환경(클라우드)

  • 여러 기업에서 클라우드 서비스로 전환하고 있음.
  • AWS의 EC2, S3, RDS 와 Docker 등을 활용함.

 

Jira Confluence 설명

DevOps를 도입한다고 무조건 효율적인 것은 아니다. 다음과 같은 간단한 개발 프로세스를 지킬 필요가 있다.

  1. 코드 : 기획과 디자인이 충분히 논의를 거쳐 나온 업무 지시서를 바탕으로 개발 코드 작성한 뒤 병합하고 관리함.
  2. 빌드 : 빌드 프로세스를 통해 소스 컴파일. 각각의 언어에 따라 오류 없다면 컴파일 완료
  3. 테스트 : 다양한 테스트 도구 사용해서 코드 품질과 해당 동작 이상유무 검증.
  4. 패키지 : 해당 코드 묶음. Java의 경우는jar 파일이 이에 해당
  5. 릴리즈 : 검증되면 릴리즈 프로세스 거침. 회사마다 천차만별. 직접 파일 옮기는 경우도 있고 툴을 사용하는 경우도 있음.
  6. 모니터링 : 로그 파일이나 다양한 분석도구 활용해서 실제로 소스 잘 반영되었는지, 운영 서비스 잘 운영되는지 확인.
  7. 구성(IaC) : 별개의 스트럭쳐들의 Infra Structure들을 구성하고 관리하는 단계. 인프라 구축 단계는 개발과 무관하다고 생각할 수도 있다고 생각할 수도 있지만, 초기 개발 시 보안 비롯해 장애나 보안에 대한 대비를 하기 때문에 또 하나의 개발 단계라고 볼 수도 있음

 이러한 단계를 생략하면, 서버 장애가 나도 제대로 대응을 할 수가 없고, 소스가 정상적으로 운영시스템에 반영되지 않는다.

 또한 테스트 과정이 없으면 오류가 난 것도 모른 채 서비스가 올라가게 된다.

 

개발 프로세스를 활성화 하여 운영 관리 전략차에 다양한 방식을 도입하게 된다. 몇 가지 툴을 사용하여 업무를 자동화 시켜주는데,  운영 관리에 도움을 주는 몇 가지 툴을 소개해보고자 한다.

 

Jira

엑셀, 구글독스는 병합 체크가 힘들고 누락이 발생하기도 한다. 이를 방지하기 위해 Jira 협업도구 툴을 사용한다.

  • 협업도구
  • 보드를 통해 업무 관리
  • 업무 배정, 처리, 해당 업무 소스 볼 수 있음

 

Jira Confluence

Slack과 같은 업무를 위한 채팅이 생기긴 했지만, 여전히 업무를 모아 확인하기는 힘들다. 이를 위해 요즘은 Notion같은 앱이 나오기도 했다. Jira는 업무 자료 정리를 위한 강력한 툴이다.

  • 업무 자료 정리에 강력함
  • Wiki 기능에 업무 협업하는 유저들 태깅 가능
  • 문자, 메일, 알람 등 다양한 기능을 활용하여 업무에 활용 가능

Bitbucket

  • 개인과 조직의 역량을 뛰어 넘어 업무 스타일을 관리하는 방향으로 전문성이 확대되었다.
  • 개인의 작업으로 끝나는 것이 아니라, 소스 작성한 뒤 해당 소스를 살펴보기 위해 서로 소스를 점검하는 시간이 필요하다.
  • Bitbucket를 사용하여 동시에 함께 코드를 보며 동시에 코드를 수정할 수 있다.
  • 공동 저장소에 있는 소스와 로컬 컴퓨터에 있는 개인 소스를 비교하며 어떻게 다른 사람이 소스를 변경하였는지 살펴볼 수 있다.

 

Jenkins

  • Bitbucket 소스를 가져와서 네이븐이나 그레들이라는 빌드툴로 빌드 할 수 있다.
  • 이런 과정들을 파이프라인으로 묶어 패키지화 하여 배포 가능하다

 

 

AWS와 Doker의 필요성

 

 

 

 

AWS/Docker 실전 클라우드 서버 구축 올인원 패키지 Online. | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

www.fastcampus.co.kr

수강인증사진

댓글