-
[1일차] 데브옵스란 무엇인가?교육/코드스테이츠 2022. 11. 28. 19:36
https://m.blog.naver.com/acornedu/221519913222 DevOps란
DevOps는 "Development"와 "Operations"의 합성어로, 소프트웨어 개발과 운영을 통합하여 빠르고 안정적인 배포를 가능하게 하는 방법론 및 문화이다.
한국에서는 "서비스 개발에 필요한 인프라를 구축하고 개발된 서비스의 운영이 원활하게 지속적으로 점검하는 엔지니어"라고 할 수 있고, "클라우드로 인프라를 구축하고 유지보수하는 클라우드 시스템 엔지니어"라고도 할 수 있다.
Cloud Service
클라우드 서비스는 인터넷을 통해 제공되는 다양한 IT 자원, 서비스 및 응용 프로그램을 일반적으로 말한다.
클라우드 서비스는 IaaS(Infrastructure as a Service), PaaS(Platform as a Service) 및 SaaS(Software as a Service)와 같은 다양한 모델로 제공될 수 있다.
SaaS
SaaS는 "Software as a Service"의 약어로, 소프트웨어를 서비스 형태로 제공하는 클라우드 컴퓨팅 모델이다.
이는 사용자가 소프트웨어를 직접 설치하거나 유지보수할 필요 없이 인터넷을 통해 액세스할 수 있는 웹 기반 애플리케이션 형태로 제공된다.
- - 브라우저에 접속하기만 해도, 새 버전을 즉시 사용 가능
- - 매일매일 업데이트되는 소프트웨어
CI/CD (지속적 통합+지속적 배포)
일반적인 CI/CD 파이프라인은 애플리케이션 빌드, 테스트 및 배포와 같은 여러 단계로 구성된다.
개발자는 파이프라인을 트리거하는 코드를 변경한다. 파이프라인은 일련의 자동화된 테스트를 실행하고 변경 사항을 확인하고 통과하면 프로덕션에 배포한다.
- Plan - Code - Build - Test - Release - Deploy - Operate 순으로 순환한다.
● Continuous Delivery와 Continuous Deployment의 차이
- CD(Continuous Delivery)는 코드 변경 사항이 프로덕션 릴리스를 위해 자동으로 빌드, 테스트 및 준비되는 소프트웨어 개발 관행이다.
- CDp(Continuous Deployment)는 변경 사항이 프로덕션에도 자동으로 배포되는 CD의 확장이다.
- CD와 CDp의 주요 차이점은 릴리스 프로세스의 자동화 수준이다.
● 개발과 스테이징, 프로덕션을 구분하기 위해 브랜치 전략
스테이징 및 프로덕션에서 개발을 분리하는 일반적인 브랜치 전략은 기본 브랜치(production), 개발 브랜치(staging) 및 기능 브랜치(dev)를 포함하는 Gitflow 모델이다.
dev에서 변경이 이루어지고, 테스트를 위해 staging에 병합되며, 릴리스를 위해 production에 병합다.
퀴즈
DevOps에 대한 설명으로 맞는 것을 모두 고르세요. 답: B, D
A. CI/CD 솔루션을 도입하면 DevOps를 구현할 수 있다.
B. 잦은 배포와 프로덕션 앱의 안정성을 동시에 달성하는 것이 목표이다.
C. DevOps 문화에서는 한 사람이 한가지 일만 잘해도 된다.
D. DevOps 문화에서 자동화는 필수적이다.
해설
A. DevOps를 위해서 CI/CD 솔루션의 도입은 필수적이지만, CI/CD 솔루션을 사용한다고 DevOps 문화가 생기는 것이 아니다. 개발자와 운영자가 신뢰를 바탕으로 각자의 전문성과 책임을 인정해야 합니다. 운영자는 새로운 기능을 배포하는데 개발자를 믿어줘야 하고, 개발자는 운영자가 제안하는 인프라를 신뢰하고 따라야 한다.
C. DevOps 문화에서는 개발과 품질 보증, 운영이 겹치는 기능교차적(cross-functional) 역할을 수행한다.
각 기능간의 협업과 의사소통을 이끌고, 프로젝트 성공을 위하여 협업을 통해 문제를 해결해 나간다.
발표자료
클라우드 서비스의 전달 방식이 전통적인 소프트웨어 전달 방식에 비해 갖는 단점으로는 무엇이 있을까요?
의존성
클라우드 서비스는 인터넷에 연결되어 있어야만 사용할 수 있기 때문에, 네트워크 연결이 끊어지거나 불안정한 경우 서비스 이용에 제한을 받을 수 있다.
보안
클라우드 서비스는 외부 클라우드 서비스 제공업체에 데이터와 애플리케이션을 저장하므로, 보안 문제가 발생할 수 있다. 클라우드 서비스 제공자가 보안 조치를 충분히 취하지 않으면 해킹 등의 공격에 취약할 수 있다. 이러한 문제로 사용자는 클라우드 서비스 제공자가 제공하는 보안 조치에 대해 충분한 검토가 필요하다.
제한된 환경
클라우드 서비스는 대부분 제공자가 미리 구축해놓은 환경에서 제공되므로, 사용자는 제공되는 기능과 옵션에 제한을 받을 수 있다.
클라우드 시대의 소프트웨어 형 SaaS란? - 세일즈포스 (Salesforce)
클라우드 시대의 소프트웨어 형 SaaS란?
클라우드 서비스가 보급되면서 「SaaS」 라는 단어를 주위에서 자주 접할 수 있습니다. SaaS에 관한 기초 지식 및 특징과 장점에 대해 소개하겠습니다.
www.salesforce.com
'교육 > 코드스테이츠' 카테고리의 다른 글
[6일차] 리눅스 실습 (0) 2022.12.05 [5일차] 프로세스 관리 (0) 2022.12.02 [4일차] 관리자로서의 리눅스 (0) 2022.12.01 [3일차] 왜 리눅스인가? (0) 2022.11.30 [2일차] 규모에 따른 운영 (0) 2022.11.29