코딩과로그
TIL > 개발 프로세스와 DevOps 업무 개요 본문
수직확장 vs 수평 확장
- 수직 확장: 서버의 성능(CPU, RAM, 스토리지, 네트워크 I/O)을 높이는 방법
- 수평 확장: 더 많은 서버를 도입하는 방법
수직확장이 좋은 상황:
: 트래픽의 양이 적을 때
수평확장이 좋은 상황:: 트래픽이 많을 때
Dev팀과 Ops팀, 각 팀의 목표는 어떻게 다른가요? 두 팀의 목표에서 상충되는 부분이 존재하나요?
- 개발팀 목표: 사용자의 요구사항에 맞는 비즈니스 로직 개발 및 테스트
- 운영팀 목표: 배포 및 운영 (서비스 안정화)
상충되는 부분:
운영팀의 경우 안정화가 우선이고 개발팀의 경우 변화(고객 요구사항 반영)가 우선이기때문에 상충되는 부분이 발생한다.
운영팀 입장에서는 고객 요구사항에 맞는 업데이트가 있을 경우 안정성이 깨질 수 있기 때문에 불안하다.
따라서 고객의 요구사항이 있다하더라도 서비스가 안정적이라고 판단되는 경우에만 배포하기를 원하며 중대한 버그가 발생했을 때에는 운영에 큰 어려움이 생기기 때문에 큰 버그가 생길 때마다 개발팀과 마찰이 생긴다.
reference:
https://www.kovair.com/blog/the-battle-dev-vs-ops/
DevOps를 실현 가능하게 하기 위해 기술이 필요한 부분과, 기술이 아닌 문화로 풀어야 할 부분은 각각 무엇? (CI/CD 파이프라인에 근거해 답하기)
- CI/CD 파이프라인
- 계획 → 코드 → 빌드 → 테스트 → 배포 → 운영
기술이 필요한 부분:
1. 코드형 인프라 (Infrastructure as Code)
- 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하기에 휴먼에러를 방지할 수 있고 시간을 절약할 수 있다. 개발팀이 코드를 올릴 경우 빌드, 테스트, 배포까지 자동으로 진행되도록 할 수 있다.
2. 손쉬운 배포
- 배포 진행과정에서 최대한 자동화할 수 있는 부분은 자동화한다.
문화로 풀어야할 부분:
DevOps에는 공동 책임이 수반됩니다. 개발 및 운영 담당자 모두 제품의 성공 또는 실패에 대한 책임을 져야 합니다. 개발자는 단순히 구축하여 운영 팀에 인계 이상의 일을 해야 하며, "직접 구축하고 직접 운영"한다는 의식을 가지고 제품 수명 주기 전반에서 제품을 감독하는 책임을 공동으로 져야 합니다. 소프트웨어를 테스트 및 운영하고 QA 및 IT 운영 팀과 더 많이 공동 작업합니다. 개발자는 운영 팀이 겪는 어려움을 이해하면 배포 및 유지 관리를 간소화할 가능성이 높아집니다. 마찬가지로, 운영 팀이 시스템의 비즈니스 목표를 이해하면 개발자와 협력하여 시스템의 운영 요구 사항을 정의하고 자동화 도구를 채택할 수 있습니다.
reference:
https://tigercoin.tistory.com/138
https://www.atlassian.com/ko/devops/what-is-devops/devops-culture
설치형 SW 대비 SaaS 의 장단점 (어느 게 더 좋을까??)
SaaS는 뭘까?
- SaaS는 클라우드를 통해 제공되는 SW 이다.
예를 들어 넷플릭스나 오피스365가 있는데, 이 앱들은 웹에서 실행이 가능하고 보편적으로 웹을 통해 실행되기에 별도의 설치가 필요가 없다.
이와 반대로 설치형 SW에는 vscode와 inteliJ 등이 있다.
프로그램 파일을 다운받아서 실행시키는 방식이다.
SaaS의 장단점:
장점:
1. 설치를 안하고 바로 사용한다.
- 웹을 통해서 들어가는 것만으로도 실행이 되기에 별도로 내 컴퓨터에 설치를 안해도 된다.
2. 유지보수가 매우 쉽다.
- 사용자가 수동으로 업데이트하지 않아도 되기에 변경사항을 바로바로 적용할 수 있다.
단점:
- 인터넷이 연결되어 있어야 한다.
- 내가 느낀 단점:
로컬 환경의 라이브러리를 사용하기 어렵다.
= 설치형 SW의 경우 내 컴퓨터에 대한 접근권한이 높아 로컬 환경의 라이브러리를 쉽게 사용할 수 있으나 SaaS의 경우 권한이 제한적이라 로컬 환경의 라이브러리를 사용하기 어렵다.
ex) 설치형 SW인 vscode는 node.js(라이브러리)를 실행시킬 수 있어 개발에 용이하나 SaaS의 경우 내 컴퓨터 내 node.js를 사용할 수 없어 실행시킬 수 없다.
'Devops > TIL' 카테고리의 다른 글
TIL > URL과 URI (0) | 2023.03.15 |
---|---|
TIL > 시스템 모니터링 (0) | 2023.03.15 |
TIL > 프로세스, 서비스, 자동화 (0) | 2023.03.13 |
TIL > 리눅스 관련 (입출력, 관리자 권한 등) (0) | 2023.03.10 |
TIL> 리눅스 디렉토리 구조 (0) | 2023.03.09 |