본문 바로가기
Terraform/AWS and 테라폼: Infrastructure as

[AWS and 테라폼: Infrastructure as Code] DevOps 엔지니어의 역할

by 개발자 영만 2024. 1. 19.

DevOps 엔지니어


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

DevOps 엔지니어의 요구 스킬


  • Soft Skill
    소프트 스킬은 사회 기술, 의사 소통 기술, 성격 또는 성격 특성, 태도, 직업 속성, 소셜 인텔리전스 및 감성 인텔리전스 지수 등의 조합으로, 사람들이 환경을 탐색하고 다른 사람들과 잘 일하는 능력을 이야기한다.
    문제를 인식하는 능력, 정확하게 선택과 집중을 구별하는 능력, 결정 및 판단 능력 등을 예로 들 수 있다.
  • Technical Skill
    기술적 스킬은 특정한 일을 효과적으로 수행하는 지식과 능력을 이야기한다.
    IT 영역에서는 프로그래밍 언어 작성 능력, S/W 디자인, 데이터베이스 및 서버 관리 등 특정한 기술의 지식과 수행 능력을 예로 들 수 있다.
     

Soft Skill

  • 문제 인식
    문제가 무엇이 있는지, 정확한 원인이 무엇인지 파악해야 한다.
  • 선택과 집중
    문제를 적합한 방법을 통해 해결하고, 해결의 우선순위를 올바르게 설정한다.
  • 결정
    수많은 선택지에 대해서, 추측이 아닌 확신을 가지고 빠르게 결정해야 한다.
  • 업의 속성
    제공하는 서비스의 본질과 가치를 이해해야 한다.
  • 사용자
    사용자를 이해하고, 요구 사항에 대해서 빠르게 피드백 해야 한다.
     

Technical Skill

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

Infrastructure as Code, 코드로서의 인프라


Infrastructure as Code, 즉 코드로서의 인프라는 인프라를 이루는 서버, 미들웨어 그리고 서비스 등, 인프라 구성 요소들을 코드를 통해 구축하는 것.
IaC는 코드로서의 장점, 즉 작성용이성, 재사용성, 유지보수 등의 장점을 가진다.
 

Terraform by Hashicorp

테라폼은 인프라를 만들고, 변경하고, 기록하는 IaC를 위해 만들어진 도구로써, 문법이 쉬워 비교적 다루기 쉽고 사용자가 매우 많아 참고할 수 있는 예제가 많다.
AWS, Azure, GCP 같은 퍼블릭 클라우드뿐만이 아닌 다양한 서비스들 역시 지원한다.