2강 - DevOps 엔지니어의 역할

Soni·2024년 10월 9일

들어가기 전에

방향성의 중요성

올바른 개념많이 사용되는 기술들을 배우는 게 중요!

DevOps 엔지니어란?

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

요구 스킬

  • Soft Skill
    • 사람들과 잘 지내고, 사람들을 잘 다루고 정확히 이해하는 능력
    • 문제 인식
      • 문제를 알아야 그에 맞는 해결책 구현 가능
      • 다양한 관점에서 문제를 찾고 이해,가설 세우며 검증
    • 선택과 집중
      • 팀과 서비스를 기준으로 일의 우선순위를 결정
    • 결정
      • 기반 자료를 기준으로 추측이 아닌 예측 관점에서 확신을 가진 결정 내리기
    • 업의 속성
      • 제공하는 서비스의 본질과 가치에 대한 이해
    • 사용자
      • 사용자에 대한 이해와 요구 사항에 대한 빠른 피드백, 빠른 적용의 반복
  • Technical Skill
    • 특정 일을 수행하기 위한 지식과 능력
    • 예 : 프로그래밍 언어 작성 능력, 서버 관리 능력, S/W 디자인 등
    • 프로그래밍
      • Go, Python이 가장 인기 있고 대표적인 언어 (bc. 배우기 쉽고 빠른 구현 및 관련 자료 다수)
    • 운영체제
      • Linux 필수! 시스템 모니터링을 하는 방법 ~ Shell 다루기 (생활화)
      • 예 : Shell, OS metrics, File System, 7 Layer 등
    • 서버 관리
      • 다수의 서버 효율적인 관리 기술과 운영 지식을 통해 신뢰할 수 있는 서비스 구축
        • 예 : IaC, CI/CD 파이프라인, API, 고가용성 설계, 어플리케이션 성능 모니터링 등
    • 오픈소스
      • S/W들에 대한 동작 원리 및 실질적인 사용법 및 사상에 대한 이해
        • 어떤 문제 발생 → 어떤 S/W 도구들 사용해서 빠르게 해결 가능한지
      • 예 : nginx, Tomcat, MySQL, Redis, Ansible, Terraform 등
    • 클라우드
      • DevOps 철학의 진보 및 유행의 장본인
      • 퍼블릭 클라우드를 능숙하게 다루고, 직접 구축 및 설계 가능
      • 예 : AWS, Azure, GCP, Alibaba 등

Infrastructure as Code(IaC)

  • 코드로써의 인프라
  • 인프라를 이루는 서버, 미들웨어, 서비스 등을 코드를 통해 구축
  • 코드로써의 장점 ⭕
    • 작성 용이성
    • 재사용성
    • 유지보수
    • 문서화 쉬움

Terraform

  • 현재 가장 많이 사용되는 IaC 도구
  • 배우기 쉽고, 참고 가능한 샘플 코드 많이 존재
  • AWS, Azure, GCP 등 퍼블릭 클라우드뿐만 아니라 지원하는 Provider 많이 존재

출처 : 처음 시작하는 Infrastructure as Code: AWS & 테라폼

profile
Cloud, DevOps

0개의 댓글