클라우드 엔지니어란

송현아·2021년 8월 29일
6

Computer Science

목록 보기
1/5
post-thumbnail

코로나19 이후 많은 기업들이 디지털 전환(DT)이 가속화되면서 클라우드 도입을 검토할 수 밖에 없는 상황이 되었습니다. 이러한 상황에서 등장한 새로운 직업이 '클라우드 엔지니어'입니다. 최근 클라우드를 지속적으로 공부하다가 관심을 갖게 되어 조사하게 되었습니다.

📌 클라우드 엔지니어가 주로 하는 일

클라우드(인프라) 엔지니어의 가장 중요한 역할은 '잇달아 발생하는 의사 결정 상황에서 그때마다 많은 선택지 중 최적의 해결책을 빠르게 선택해내는 것' 입니다.

  • 기업에서 개발한 서비스의 연속성과 고가용성이 유지될 수 있도록 튼튼한 인프라 서비스 환경을 구축하고 운영
  • 하이브리드/멀티 클라우드 인프라를 구축 (온프레미스 환경 + 다양한 퍼블릭 클라우드 서비스 환경)
  • 서비스 개발 환경과 업무 생산성 향상을 위해 필요한 자동화와 기술 활동을 통해 클라우드와 기업 비즈니스에 적합한 인프라 서비스 환경을 꾸준히 고도화 개선

📌 클라우드 엔지니어에게 필요한 역량

  • 클라우드 인프라 환경을 구축하고 운영(Openstack, K8s, AWS, GCP, Azure, etc)
  • 리눅스 / 윈도우 계열 환경에서 프로그래밍 개발 및 스크립트 작성 가능 (Bash, Python, Golang, etc)
  • 대용량 트래픽과 분산 아키텍쳐 서비스를 구축하고 운영
  • 새로운 기술에 대한 거부감이 없고 도전적인 사람
  • 논리적이고 원활한 커뮤니케이션 역량을 보유한 사람

📌 클라우드 엔지니어가 배워야 하는 우선 순서

  • Tomcat, Nginx, IIS, DB, Mail, DNS 등 구축 및 운영 관리
  • Shell Script
  • 네트워크, 방화벽, VPN등 네트워크 및 보안
  • EC2, RDS, Aurora, CF, Cloudformation 등 다양한 클라우드 인프라 서비스
  • IaC (Infra as a code)등의 구축 경험 및 OSS 등의 솔루션

📌 개발자와 시스템 엔지니어의 차이점은?

  • 개발자는 시스템을 구축하는 사람, 소프트웨어를 분석/설계 하고 코딩을 하기도 하고, 프로그래머들과 분업하여 또는 지시하여 시스템 소프트웨어를 만드는 역할자
  • 시스템 엔지니어는 시스템이 원활하게 실행될 수 있도록 개발자들을 보조하는 역할과 프로그램이 생성된 뒤에 해당 서비스가 안정적으로 운영될 수 있도록 도와줌

기본적으로 IT 엔지니어로 진로를 정하게 되면 리눅스에 능숙해야 합니다. 저는 아직 리눅스를 이용할 줄은 알지만 제대로 리눅스로 프로그램을 개발하거나 인프라를 구축한 경험은 없다는 생각이 들었습니다. 그래서 앞으로 리눅스를 열심히 공부해야 겠다는 결심을 하였습니다. 😀

  • 명령어에 익숙해 지자

    리눅스의 상태를 확인하고, 프로세스의 상태를 확인할 수 있는 방법을 배워야 합니다.

  • 로그를 보고 서비스를 확인할 수 있는 능력을 기르자

    더불어 로그를 가공하고 지표로서 사용할 수 있는 능력도 필요합니다.

0개의 댓글