DevOps 엔지니어의 역할

Chori·2024년 10월 10일
0
post-thumbnail

처음 시작하는 Infrastructure as Code: AWS & 테라폼을 수강하며 정리한 내용입니다.


DevOps 엔지니어의 역할

  • 올바른 DevOps 문화를 위해 서비스 혹은 S/W LifeCycle에서 반복적인 일들을 자동화하고, 기술적 문제 혹은 팀의 차이를 기술적으로 예방하고, 해소시키는 사람
  • 효율성을 위해 DevOps 엔지니어링에 관련된 기술을 다양한 곳에 접목하는 것

DevOps 엔지니어의 요구 스킬

Soft Skill

  • 사람들이랑 조화를 이뤄 협업을 잘하고 문제를 정확히 이해해서 적절한 결정과 판단을 하는 것
  • Soft Skill의 하위 요소
    • 문제 인식: 문제가 무엇이 있는지, 정확한 원인이 무엇인지 파악해야 함
    • 선택과 집중: 문제를 적합한 방법을 통해 해결하고, 해결의 우선순위를 올바르게 설정
    • 결정: 수많은 선택지에 대해서, 추측이 아닌 확신을 가지고 빠르게 결정
    • 업의 속성: 좋은 결정을 내리려면 제공하는 서비스의 본질과 가치를 이해해야 함
    • 사용자: 사용자를 이해하고, 요구사항에 대해서 빠르게 피드백 제공

Technical Skill

  • 특정 일을 효과적으로 수행하기 위한 지식과 능력
  • Technical Skill의 하위 요소
    • 프로그래밍: 다룰 수 있는 언어가 있어야 함
      • ex) Go, Python
    • 운영체제: Linux와 같은 운영체제를 능숙하게 다루는 것과 개념을 반드시 알아야 함
      • ex) Shell, OS metrics, File system, 7 Layers
    • 서버 관리: 서버를 관리하는 기술과 운영 지식을 통해 신뢰할 수 있는 서비스를 구축
      • ex) IaC, CI/CD, API, 가용성, 성능
    • 오픈소스: 인프라를 이루는 S/W들을 이해하고, 자동화 도구들을 다룰 수 있어야 함
      • ex) nginx, Tomcat, MySQL, Redis, Ansible, Terraform
    • 클라우드: 퍼블릭 클라우드를 능숙하게 다루고, 직접 구축 및 설계를 할 수 있어야 함
      • AWS, Azure, GCP, Alibaba

IaC

  • Infrastructure as Code, 코드로서의 인프라, 코드형 인프라
  • 인프라를 이루는 서버, 미들웨어, 서비스 등 인프라 구성 요소들을 코드를 통해 구축하는 것
  • IaC는 코드로서의 장점은 작성 용이성, 재사용성, 유지보수
  • 테라폼은 많이 쓰이는 IaC로 인프라를 만들고, 변경하고, 기록하는 도구
profile
전부인 것처럼, 전부가 아닌 것처럼

0개의 댓글