흰 스타렉스에서 내가 내리지

DevOps 엔지니어의 역할 본문

DevOps

DevOps 엔지니어의 역할

주씨. 2024. 7. 27. 19:34
728x90

DevOps 엔지니어의 역할은 무엇일까?

DevOps 엔지니어가 되려면 어떻게 해야 할까? 

DevOps 엔지니어가 되려면 어떤 기술들을 갖추고 무엇을 공부해야 할까?

 

 

DevOps 엔지니어

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

 

다른 역할들에 비해서 DevOps 엔지니어의 역량에 따라서 할 수 있는 일들이 정말로 많아진다. 

왜냐하면 어떤 기술과 개념들을 다양한 곳에 적용할 수 있기 때문이다. 

기획팀 마케팅의 업무를 자동화하는 것도 DevOps 엔지니어의 역할이 될 수 있다. 

 

 

DevOps 엔지니어의 Soft Skill

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

 

 

Technical Skill

프로그래밍 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 등
클라우드 퍼블릭 클라우드를 능숙하게 다루고, 직접 구축 및 설계를 할 수 있어야 한다.
ex) AWS, Azure, GCP, Alibaba 등

 

 

IaC, Infrastructure as Code

즉 코드로써의 인프라는 인프라를 이루는 서버, 미들웨어 그리고 서비스 등, 인프라 구성요소들을 코드를 통해 구축하는 것.

IaC 는 코드로써의 장점, 즉 작성용이성, 재사용성, 유지보수 등의 장점을 가진다. 

 

처음에는 불편할 수 있는데, 익숙해지면 코드로 만드는게 훨씬 빠르고 쉽다. 

코드는 언제든지 재사용할 수 있고 유지보수 하기도 쉽다.

문서화하기도 쉽다. 

이 외에도 수많은 장점이 있기 때문에 이제 IaC 는 선택이 아니라 필수이다. 

 

 

Terraform by Hashicorp

테라폼은 인프라를 만들고, 변경하고, 기록하는 IaC 를 위해 만들어진 도구로써, 문법이 쉬워 비교적 다루기 쉽고 사용자가 매우 많아 참고할 수 있는 예제가 많다. 

AWS, Azure, GCP 같은 퍼블릭 클라우드 뿐만이 아닌 다양한 서비스들 역시 지원한다.

 

'DevOps' 카테고리의 다른 글

AWS Configure 설정  (0) 2024.07.30
terraform 설치하기  (0) 2024.07.30
AWS EC2 그리고 SSH  (0) 2024.07.29
Terraform 기본  (0) 2024.07.27
DevOps 란 무엇인가  (0) 2024.07.27