2020. 2. 18. 08:59ㆍIT/AWS
DevOps는 운영 및 개발과 관련된 활동을 관리하고, SysOps는 운영 및 시스템과 관련된 활동을 관리한다. 이들 모두 클라우드 컴퓨팅의 매우 넓은 영역이다.
본문에서는 AWS에서의 DevOps에 대해 정리한다.
AWS Devops Engineer의 직무 역할은 다음과 같다.
- 지속적인 배포 및 지속적인 통합 프로세스를 지원하기 위해 자동화를 설계하고, 개발한다.
- 회사의 전반적인 전략적 방향의 일부인 복잡한 엔터프라이즈급 이니셔티브를 제공하기 위해 고위 경영진과 협력해야 한다.
- 비즈니스 및 기술 요구 사항에 따라 클라우드 컴퓨팅 서비스의 가용성 및 제공을 조정할 수 있어야 한다. 운영 및 마이그레이션 서비스를 제공 할 수 있도록 Cloud Architects를 지원해야 한다.
작업 역할은 다음과 같은 핵심 사항으로 분류 할 수 있다.
- 솔루션 리드, 구동 및 구현
- 시스템 관리 및 클라우드 솔루션 설계 및 구현 확장
- 이해 관계자에게 상태 업데이트를 제공, 필요한 경우 문제 서칭
- 네트워킹, 스토리지, Windows, Linux에서 경험
- 보안 모범 사례 이해
- 독립적, 협력적으로 수행
- 사용자 정의 workflows, 런북 및 응답 문서 디자인 및 커뮤니케이션
- 회의에서 부서를 대표하는 특별 프로젝트 수행
- 고유한 시나리오의 스크립트 솔루션 제공
AWS DevOps 엔지니어는 다음과 같은 책임, 역할, 지식을 가지고 있어야 한다.
-
하나 이상의 고급 프로그래밍 언어로 코드를 개발 한 경험
-
운영 체제 관리에 대한 지식
-
고도로 자동화 된 인프라 구축 경험
-
개발 및 운영을위한 현대 프로세스 및 방법론에 대한 포괄적인 지식
-
AWS 환경의 프로비저닝, 운영 및 관리 분야에서 2년이상의 경험
전반적인 DevOps 엔지니어의 역할은 다음과 같다.
-
DevOps 기술 전도
-
엔드 투 엔드 제품 개발에서 DevOps 전략 구현
-
기존 아키텍처를 개선하기위한 다양한 방법 식별
-
아키텍처 자동화를 보장하면서 다양한 자동화 도구와 기술 고려
-
다른 DevOps 역할 관리 및 팀의 최적 효율성 달성에 대한 책임
-
-
릴리스 관리
-
기존 아키텍처에서 새로운 기능 또는 업데이트 된 기능 통합
-
개발에서 배포까지 제품의 조정 관리에 중점
-
-
자동화
-
자동화 할 수있는 측면 파악
-
제품 스택을 다른 제품 스택과 통합하는 방법 고려
-
자동화 전문가 또는 통합 전문가의 다른 활동에는 지속적인 배포를 위한 전략의 분석, 설계 및 구현 포함
-
생산 및 사전 프로덕션 시스템을 위한 높은 수준의 가용성을 보장
-
-
소프트웨어 개발자 / 테스터
-
Software Developer, Tester, Coder 역할에 포함
-
단위 테스트, 배포 및 지속적인 모니터링을 포함하여 책임 범위 확장
-
-
보안 및 품질 보증 전문가
-
제품의 기능을 테스트하고 제품의 모든 기능의 성능 향상
-
개발 수명주기에 보안 조치 통합
-
시스템 성능 모니터링, 근본 원인 및 중단 시간을 식별
-
AWS에서의 DevOps 엔지니어의 역할은 다음과 같다.
-
클라우드 기반 AWS 프로덕션 시스템 자동화, 배포, 처리 및 유지 관리
-
새로운 기술 대안 평가
-
AWS 클라우드 기반 프로덕션 시스템의 성능, 확장 성 및 보안 보장
-
모범 사례를 활용하여 시스템 및 AWS 클라우드 보안 제공
-
프로덕션 시스템의 생성, 구성 및 릴리스 관리
-
생산 전에 품질을 보장하고 공정 개선을위한 권장 사항 제공
-
시스템 문제 해결 및 다양한 응용 프로그램 및 플랫폼에 대한 문제 해결 제공
-
여러 비즈니스 프로세스를 자동화하는 도구를 설계, 유지 관리 및 관리
-
AWS 플랫폼 등에서 메트릭 및 모니터링을 위한 시스템을 정의 및 배포
AWS에서 할 수 있는 DevOps 엔지니어의 업무 예시는 다음과 같다.
-
클라우드에서 DevOps
-
DevOps 및 수명주기 이해
-
AWS를 사용하여 DevOps 이해
-
보안 관리
-
AWS 구성을 사용하여 거버넌스 활성화
-
-
SDLC(Software Development Life Cycle) 자동화
-
CodeCommit, CodeBuild, CodePipeline, CodeDeploy 및 AWS CodeStar
-
-
클라우드 형성으로 인프라 자동화
-
CloudFormation 템플릿, 스택 생성, 스택 업데이트 및 CloudFormation 모범 사례
-
CloudFormation을 사용하여 S3 버킷 생성
-
Lambda 함수를 사용하여 사용자 정의 리소스 생성
-
-
Elastic Beanstalk를 사용한 애플리케이션 배포
-
Elastic Beanstalk 배포 옵션, Elastic Beanstalk의 Docker, 경보 및 알림, Docker를 사용하여 Beanstalk에 애플리케이션 배포
-
-
OpsWorks를 사용한 구성 관리
-
OpsWorks의 수명주기 이벤트, 배포 및 자동 복구
-
OpsWorks에서 응용 프로그램 배포
-
-
AWS에서 모니터링 및 이벤트 관리 자동화
-
CloudWatch 및 CloudTrail
-
태깅
-
람다, SNS 및 자동 확장
-
-
내결함성 및 재해 복구
-
EBS, 탄력적 IP, 다중 AZ 및 SQS
-
Dynamo DB, S3, 자동 확장 수명주기 및 수평 및 수직 확장
-
복구 시간 및 복구 지점 목표
-
재해 복구 옵션
-
Single Point of Failure 극복
-
고 가용성 및 내결함성 시스템을 지원하기위한로드 밸런서 및 자동 확장 작업
-
-
컨테이너 관리
-
Orchestration
-
EC2가 포함 된 ECS, Amazon ECR 및 ECS
-
Fargate가 포함 된 ECS
-
이미지를 ECR로 푸시
-
Fargate 시작 유형을 사용하여 ECS 내부에 웹 사이트 호스팅
-
'IT > AWS' 카테고리의 다른 글
AWS DataSync 이용하여 S3 버킷에서 EFS 파일 시스템으로 데이터 전송 (0) | 2020.04.09 |
---|---|
Amazon CloudWatch, AWS Lambda를 이용한 Slack notification (0) | 2020.02.26 |
AWS S3 버킷을 이용한 CI/CD Pipeline 구축 (0) | 2020.02.17 |
AWS Elastic BeanStalk, Jenkins 기반 CI/CD 구축 (0) | 2020.02.17 |
AWS에서 CI/CD 환경 구축 (CodeCommit, CodeBuild, CodeDeploy, Codepipeline) (0) | 2020.02.17 |