수강 클립
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를 도입한다고 무조건 효율적인 것은 아니다. 다음과 같은 간단한 개발 프로세스를 지킬 필요가 있다.
- 코드 : 기획과 디자인이 충분히 논의를 거쳐 나온 업무 지시서를 바탕으로 개발 코드 작성한 뒤 병합하고 관리함.
- 빌드 : 빌드 프로세스를 통해 소스 컴파일. 각각의 언어에 따라 오류 없다면 컴파일 완료
- 테스트 : 다양한 테스트 도구 사용해서 코드 품질과 해당 동작 이상유무 검증.
- 패키지 : 해당 코드 묶음. Java의 경우는jar 파일이 이에 해당
- 릴리즈 : 검증되면 릴리즈 프로세스 거침. 회사마다 천차만별. 직접 파일 옮기는 경우도 있고 툴을 사용하는 경우도 있음.
- 모니터링 : 로그 파일이나 다양한 분석도구 활용해서 실제로 소스 잘 반영되었는지, 운영 서비스 잘 운영되는지 확인.
- 구성(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
'DevOps' 카테고리의 다른 글
[패스트캠퍼스|AWS강의] 협업 툴 활용 A-Z (4) (0) | 2021.03.06 |
---|---|
[패스트캠퍼스|AWS강의] 협업 툴 활용 A-Z(3) (0) | 2021.02.28 |
[error] Windows SSH: Permissions for 'private-key' are too open (0) | 2021.02.27 |
[패스트캠퍼스|AWS강의] 협업 툴 활용 A-Z(2) (0) | 2021.02.27 |
[패스트캠퍼스|AWS강의] 협업 툴 활용 A-Z(1) (0) | 2021.02.18 |
댓글