AWS에서의 DevOps

2020. 2. 18. 08:59IT/AWS

728x90

 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 내부에 웹 사이트 호스팅

300x250