먼저 제소개를 하자면, 시스템엔지니어로 10년차, AWS를 다룬지는 3년이 됐습니다.
요즘 시스템 엔지니어로 시작을 꺼리는 분들이 많습니다.
이유는 클라우드가 급 부상 하고 있기 때문입니다. 물어보면 대부분 클라우드 엔지니어를 하고싶다. 말합니다. 그런데 클라우드 엔지니어는 뭐고, 시스템 엔지니어는 뭐길래 이렇게 이야기가 많을까요?
그럼 두 직군의 차이부터 한번 이야기해봐야 할거 같습니다.
시스템 엔지니어는 클라우드가 생기기 이전부터 시스템 전반을 책임지는 역할로, 주로 셋팅과 구성 그리고 트러블슈팅을 맡아서 하던 직군입니다.
클라우드 엔지니어는 클라우드를 가지고 인프라를 구성하고 트러블 슈팅을 합니다.
어? 뭐가 다른거죠? 궁금하실 텐데요. 사실 별반 다르지 않습니다. 시스템 엔지니어가 클라우드를 사용해서 시스템을 구축할수도 있는거고 클라우드 엔지니어가 지원을 위해 온프렘의 서버를 보기도 해야합니다.
사실 이 두 직군의 차이는 시작 지점이 어디에 있냐의 차이일 뿐 하는일의 근본적인 차이는 없습니다. 그렇다면 뭘 배워야 하고, 뭘해야 할지가 중요할텐데요.
먼저 리눅스가 중요합니다. 정말 중요합니다.
클라우드 엔지니어로 시작하게 되면 리눅스를 깊게 다루지 않게 됩니다. 이유는 클라우드 플랫폼 내에서 기술지원을 하기때문에 중점적으로 배우는것은 플랫폼의 사용법과 구성인것입니다. 거기에 lock-in 이 발생하게 됩니다. 보통 lock-in 이라 하면 다른 플랫폼으로 떠날수 없는 서비스나 사이트를 말하는것인데, 이 문제점이 사람에게도 발생하는 것입니다. 이부분이 나쁘다는건 아닙니다. 저도 AWS를 정말 좋아하니까요. 하지만, 제공되는 서비스만 사용해서는 사용자 이상으로 나아갈 수 없게됩니다. 그래서 언제든, 탈 플랫폼을 하기위해선 유연하게 여러 솔루션을 사용하고 배우는 기반이 있어야 합니다.
그것이 바로 엔지니어 에겐 리눅스입니다. 그럼 리눅스로 뭘해야 할까요?
일단 명령어에 익숙해 져야 합니다. 리눅스의 상태를 확인하고, 프로세스의 상태를 확인할수 있는 방법을 알아야 합니다.
그 다음은 로그를 보고 서비스를 확인할 수 있어야 합니다. 이전의 엔지니어가 여기까지 했다면 요즘의 엔지니어는 로그를 가공하고 지표로서 사용할 수 있는 능력까지 길러야 합니다.
너무 두루뭉실 했나요? 그럼 기업에서 요구하는 사항으로 예를 들어볼까요?
선호 자격 요건입니다.
Tomcat, Nginx, IIS, DB, Mail, DNS 등 구축 및 운영 관리 경험을 보유한 분
Shell Script & Query 사용 경험이 있는 분
네트워크, 방화벽, VPN등 네트워크 및 보안에 대한 이해도가 높은 분
IaC (Infra as a code)등의 구축 경험 및 OSS 등의 솔루션 사용 경험이 있는 분
사실 선호 자격이라 적었지만, 선호자격이라기 보단 10년차 IT 인프라 운영 직무에 있는 사람에겐 반드시 겪었어야 하는 과정의 요건일 겁니다.
그럼 정리해볼까요.
클라우드 엔지니어와 시스템 엔지니어는 시기상의 문제입니다.
결국 엔지니어는 IT 인프라를 다루는 포지션이 될것입니다.
배워야하는 순서라면 시스템의 코어인 리눅스부터 네트워크까지를 전체로 다우는 교육이 좋습니다.
기본이 튼튼하면 클라우드도 금방 배울수 있습니다.
그럼 빅히트의 요강을 보고 배워야 하는 우선 순서를 알아볼까요.
- Tomcat, Nginx, IIS, DB, Mail, DNS 등 구축 및 운영 관리
- Shell Script
- 네트워크, 방화벽, VPN등 네트워크 및 보안
- EC2, RDS, Aurora, CF, Cloudformation 등 다양한 클라우드 인프라 서비스
- IaC (Infra as a code)등의 구축 경험 및 OSS 등의 솔루션
이정도 순서로 배워야할것들을 정할수 있습니다. 서비스부터 점점 인프라까지 배우는것이죠.
한번에 모두를 다할순 없으니 시간이 될때마다 개념이라도 알아두시는게 좋습니다.
그럼 이만 시작하는 엔지니어를 위한 짧은 글을 마치겠습니다.
감사합니다 갓룩서
아무래도 새로운 쪽이다보니 클라우드로 시작하는분이 많아지고있죠. SE는 대부분의 기업의 연봉이 거기서 거기인반면에(아무래도 하는일이 한쪽에 고정되어있음), 클라우드에선 재능 있는 신입이 빡시게 하면 같은 능력대비 훨씬 인정을 받을 수 있고, 신입 입장에서 다양한 분야를 접할 수 있다보니 선호하게 되는 듯합니다.(이거 저거 해보면서 본인 분야 찾기도 쉬운듯 합니다.)
제가 볼때도 고인물이 많은(?) 회사의 MSP를 제외하면 클라우드 쪽이 미래에 좋은 것 같아요.(대신 리눅스,네트워크 등은 주말에라도 따로 공부해서 마스터해야겠죠)
클라우드를 하지 마라~ 이런말은 아닙니다. 기본이 중요하다는 말정도로 받아 들이시면 될것같습니다.
댓글 감사합니다.
양쪽 다 하시는 분의 생각이 궁금했습니다.
도움이 많이 되었습니다.
감사합니다, 리눅서님.
감사합니다!
이잉 키모찡~
감사합니다 정말 도움이 된 글입니다 너무 감사합니다
리눅스님 혹시 윗글에 어울리는 포트폴리오에 올리기 좋은 프로젝트가 있을지 궁금합니다. 혹시 있다면 어떤게 좋을지 알려 주실수 있으신가요..? 리눅스님글 너무 잘 보고 있습니다 항상 건강하시고 행복하세요.
3tire 로 web(apache) -> was(tomcat) -> mysql을 이용한 Spring Framework으로 게시판 하나 만들어보시면 좋을거 같아요.
외쳐 갓룩서!
리눅서님 글 잘봤습니다 !!
혹시 SE로 커리어를 시작하는것은 어떻게 생각하시나요
취업준비중인데 다들 클라우드업체를 추천해서 너무 고민이네요...
리눅서님 글 잘봤습니다
지금 취준생인데 SE를 해야지 하면 주변에서 다들 클라우드엔지니어를 하라고 해서 고민이였는데 이 글을 보고 커리어 처음을 SE로 해도 괜찮겠다는 생각을 했네용...
어찌가든..인프라를 다루는 엔지니어가 되실거에요!