본문 바로가기

Sparta

[Sparta] 10-1.DevOps

2021-09-28

To-Do

  • 7시 기상
  • 아침식사
  • 오전운동 ()

 

  • 오늘도 늦잠....ㅠ 후... 점심에라도 운동 잠깐 다녀올까 한다..

 

Today I Learned

 

1. DevOps

우선 최근들어 상당히 각광받고 있는 단어인 DevOps에 관해 간단히 알아보자. DevOps는 'Development(개발)'와 'Operations(운영)'의 합성어지만, 단순히 각각의 용어를 결합한 "개발과 운영" 이상의 포괄적인 아이디어와 방식을 나타낸다.

 

 

DevOps의 개발팀과 운영팀의 차이에 대해 이해하고 그 간극을 줄여보고자하는 시도에서 시작되었다.

 

다음은 AWS에서 말하는 DevOps의 정의이다.

 

DevOps는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합입니다. 기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있습니다. 이러한 빠른 속도를 통해 조직은 고객을 더 잘 지원하고 시장에서 좀 더 효과적으로 경쟁할 수 있습니다.

 

조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합에 주목해 보자. DevOps는 철학과 방법론이다. DevOps에는 다음과 같은 5가지 철학이 있다고 한다.

 

1. 문화 (Culture)

DevOps를 통해 하나의 문화를 만들어 간다.

  • 사람 : 팀, 의사소통
  • 일: 프로세스, 방법론
  • 서비스 : 서비스의 가치, 성격
  • 자원 : HW, SW, 기술, 도구
  • 시간 : 일정

 

2. 자동화 (Automation)

자동화를 통해 효율성과 빠른 속도를 지향한다.

  • 인프라 및 보안 : 클라우드, 네트워크, 접근제어, 암호화
  • 언어 및 도구 : 프로그래밍 및 도구
  • 지속적 배포 / 통합 : CI/CD 파이프라인 구성 고려
  • 모니터링 : 모니터링 시스템 및 장애대응

 

3. 측정 (Measurement)

지표를 측정하여 지속적으로 개선해 나간다.

  • 변경사항 발생 시 측정
  • 어플리케이션 성능, 개발속도 모니터링
  • 지속적으로 나아지고 있는지 측정
  • 의사결정 시 추측 배제

 

4. 공유 (Sharing)

공유를 통해 함께 발전해 간다.

  • 언제든지 접근 가능한 투명한 데이터
  • 지식의 공유, OpenMind
  • 문제 발생시 함께 해결
  • 일의 가속도

 

5. 축적 (File up & Pile up)

기록을 통해 자산을 만들어 나간다.

  • 효율적으로 1만 시간의 법칙을 이루는 것

 

그래서 DevOps 엔지니어는 어떤일을 하는 사람인가?

 

올바른 DevOps 문화를 위해 서비스 혹은 S/W LifeCycle에서 반복적인 일을 자동화하고, 기술적인 문제 혹은 팀의 차이를 기술적으로 예방하고, 해소시키는 사람

 

이러한 DevOps 문화를 선도하고 기술적으로 지원하는 기업 및 서비스가 AWS이다. AWS에서는 기업이 AWS와 DevOps 방식을 사용하여 제품을 좀 더 빠르고 안정적으로 구축 및 제공할 수 있도록 설계된 유연한 서비스 세트를 제공하고 있다. 이 서비스들은 인프라 프로비저닝 및 관리, 애플리케이션 코드 배포, 소프트웨어 릴리스 프로세스 자동화, 애플리케이션 및 인프라 성능 모니터링을 간소화하고 통합하는데 사용된다.

 

DevOps를 도입하고자 하는 조직과 기업을 위해 BespinGlobal(컴퓨터시스템 통합 자문 및 구축 서비스업체)이 추천하는 AWS 솔루션은 아래와 같다.

카테고리 솔루션 설명
CI/CD AWS CodePipeline 소프트웨어 릴리즈 워크플로우 (CI/CD)
빠르고 안정적인 어플리케이션 및 인프라 업데이트를 위한 지속적 전달 파이프라인 자동화 서비스
AWS CodeBuild 코드 빌드 및 테스트
소스코드 컴파일 및 테스트 실행, 배포 가능한 소프트웨어 패키지를 만드는 빌드 서비스
AWS CodeDeploy 배포 자동화
EC2뿐만 아니라 온프레미스에서도 코드 배포 자동화 지원
AWS CodeStar CI/CD 통합 프로젝트
AWS에서 신속하게 어플리케이션을 개발, 빌드 배포하도록 지원. 통합된 사용자 인터페이스
마이크로서비스 Amazon Elastic Container Service 프로덕션 도커(Docker) 플랫폼
확장성과 성능이 뛰어난 컨테이너 관리 서비스
AWS Lambda 서버리스 컴퓨팅
서버 프로비저닝, 관리 없이 코드 실행
코드형 인프라스트럭처 AWS CloudFormation 클라우드 인프라 리소스 모델링, 프로비저닝
개발자와 시스템관리자가 AWS 리소스를 쉽게 생성 및 관리, 프로비저닝하고 업데이트 제공
AWS OpsWorks Chef 및 Puppet의 구성 관리 서비스
코드를 사용하여 서버 구성을 자동화 할 수 있도록 하는 자동화 플랫폼
AWS Systems Manager 구성 관리
통합된 사용자 인터페이스를 통해 AWS 인프라에 대한 가시성과 제어
AWS Config 보안 및 거버넌스 실현을 위한 관리 서비스
AWS 리소스를 지속적으로 모니터링 및 기록하여 원하는 구성을 기준으로 자동 평가 제공. 규정 준수 감사, 보안, 변경관리 , 운영 문제 해결 작업을 간소화
모니터링 및 로깅 Amazon CloudWatch 클라우드 리소스, 어플리케이션 가시성 확보
지표 수집 및 추적, 로그파일 수집 및 모니터링을 통해 알람 설정과 리소스 변경에 대한 자동 대응
AWS X-Ray 분산 어플리케이션 분석 및 디버깅
개발한 서비스에 대해 성능 문제, 오류원인을 파악하여 문제 해결에 대한 파악
AWS CloudTrail 거버넌스, 규정준수, 운영감사, 위험감사 지원
AWS 인프라 계정 활동 작업을 기록하고 지속적으로 모니터링
PaaS AWS Elastic Beanstalk 웹 앱 실행, 관리
Java, .NET, PHP, Node.js, Python, Ruby, Go, Docker를 활용하여 Apache, Nginx, Passenger, IIS에 개발된 어플리케이션 및 서비스를 간편하게 배포하고 조정
버전관리 AWS CodeCommit 버전 관리
프라이빗 Git 저장소를 쉽게 호스팅하도록 하는 관리형 소스제어 서비스

 

유튜브 DevOpsArt
AWS_DevOps
RedHat_DevOps
BESPIN GLOBAL

'Sparta' 카테고리의 다른 글

[Sparta] 11. python 서버 구축  (0) 2021.09.29
[Sparta] 10-2.팀플  (0) 2021.09.29
[Sparta] 09.REST API  (0) 2021.09.27
[Sparta] 08. CDN정리 (주말도 스파르타!)  (0) 2021.09.25
[Sparta] 07. 로그인과 JWT.md  (0) 2021.09.24