본문 바로가기
IT 현직자에게 묻다

[IT 현직자에게 묻다]Cloud Solutions Architect, 장준형님

by 네트워크 엔지니어 환영 2022. 2. 26.
반응형
"IT 현직자에게 묻다" 시리즈의 기획 목표는 IT 현직에서 활약하시는 분들을 대상으로 인터뷰를 실시하여 취준생/학생들이 알아야 할 기본 정보를 제공하기 위함입니다. 또한 IT 종사자에게 도움이 될만한 내용을 담고자 기획하게 되었습니다.
인터뷰 답변은 개인의 의견이기 때문에 보시는 분에 따라 다소 다르게 보일 수 있으니 양해 부탁드립니다.

안녕하세요! 네트워크 엔지니어 환영입니다. 블로그 신규 콘텐츠로 IT 현직자 인터뷰를 기획하게 되었습니다. 평소에 알고 지낸 엔지니어분들 중에 실력이 일취월장하시거나 변함없이 늘 공부하고 노력하는 분들을 찾아가 그분들의 마음가짐과 IT에 대한 전반적인 이야기를 듣고자 합니다. 첫 인터뷰는 AWS SA 인터뷰로 시작하지만 System Engineer, Network Engineer, 개발자 등 다양한 직군에 계신 분들을 인터뷰할 예정입니다. IT에 입문하고자 하시는 분이나 아직 학교에서 공부하시는 분들이 학교에서는 배우지 못하는 다양한 정보를 IT 현직자의 인터뷰를 통해 얻을 수 있으시길 바라겠습니다. 여담으로 저 또한 인터뷰를 통해 많은 것을 배울 수 있어 정말 만족스러웠습니다.

첫 번째 인터뷰로 지난 주에 AWS Solutions Architect(SA) 한 분을 인터뷰하고 클라우드 업계와 SA 직군에 대한 다양한 이야기를 나누고 왔습니다. 이테크 시스템(링크)에서 AWS Solutions Architect 직무로 일하고 계시는 장준형 님(2022년 현재, 2년 경력)입니다. 

그림 협찬 : 루루개발자님

Q1. 준형님, 안녕하세요! 자기소개 부탁드립니다!

A. 안녕하세요. Amazon Web Service Solutions Architect로 일하고 있는 장준형이라고 합니다. 원래 IT 업계가 아닌 다른 업계에서 일을 하다가 어릴 적 꿈이었던 "IT 엔지니어"를 실현하기 위해 IT 업계에 입문하게 되었습니다. 일단 무작정 시작은 하였지만 IT에 대해 전혀 몰랐고 또 어떤 직군이 있는지도 몰랐습니다. 그래서 IT의 기본에 대해 자세히 알기 위해 제 사비를 쏟아부어 총 11개 정도 되는 과목을 수강하였습니다. C 언어, 파이썬, 리눅스, 윈도우 서버, 네트워크 등등의 과정을 닥치는 대로 들었습니다. 그중 리눅스 과목을 정말 재밌게 배웠습니다. 제가 입력한 명령어가 즉시 실행되고 또 결과물을 도출한다는 것이 정말 흥미로웠습니다. 물론 흥미가 있었을 뿐, 잘 모르는 것은 여전했기 때문에 과목을 가르쳐주는 강사님들께 커피도 한 잔 사드리고 담배 피는 시간에도 열심히 따라다니며 이해가 되지 않는 것은 꼭 물어보며 열심히 공부했습니다.

AWS Solutions Architect, 장준형님

그러던 중, 한 강사님으로부터 "최근 'Amazon Web Service(이하 AWS)'라는 Cloud Service(이하 클라우드 서비스)가 요즘 인기가 많다"는 말을 듣게 되었습니다. 클릭 몇 번으로 서버를 만들 수 있고, 데이터베이스를 만들며, 이를 모아 서비스를 구축할 수 있다고 말씀하셨습니다. 클릭 몇 번에 서버가 탄생한다는 말이 놀라웠고 AWS에 대해 찾아 열심히 공부했습니다. 리눅스를 재밌게 공부했던 제게 무언가를 설정하고 구축하는 AWS는 정말 흥미로운 존재였습니다. 그리하여 클라우드 엔지니어가 되기로 마음을 굳혔고 AWS Solutions Architect가 되기 위해 AWS와 그 기반 지식을 교육하는 800시간 가량의 국비지원 교육에 지원하여 수료하였습니다. 그 국비지원 교육은 클라우드 서비스를 잘 이해하기 위한 IT 인프라에 속하는 각각의 분야의 기초를 교육하는 기간이었기 때문에 이 "IT"라는 분야에 첫 걸음을 떼는 데 큰 도움이 되었습니다. 그리고 교육을 수료한 이후에 AWS Solutions Architect로 첫 회사에 입사하여 업무를 수행하게 되었습니다. 

 

Q2. 현재 직무인 Solutions Architect(SA)에 대해 소개해주실 수 있나요?

IT 서비스를 제공하기 위해서는 서버/네트워크 장비와 같은 하드웨어가 필요한데요. Solutions Architect(이하 SA)는 이를 AWS와 같은 클라우드 서비스를 활용하여 하드웨어 없이도 고객이 IT 서비스를 제공할 수 있도록 인프라를 구축하는 역할을 맡습니다. 보통 인프라를 AWS로 신규 도입하거나 On-premise(이하 온프레미스) 인프라를 클라우드로 전환하는 경우가 많습니다. 

앞서 말씀드린 것처럼 고객이 구현하고자 하는 서비스를 구현하기 위해 Architecture(이하 아키텍쳐)를 기술적 / 가격적 측면에서 제시합니다. 다시 말해 고객의 서비스를 구현하기 위해 필요한 AWS의 서비스(구성 요소)를 제안하는데요. 여기에는 EC2, RDS, VPC, Route 53 등 다양한 서비스가 들어갑니다. 또한 클라우드를 사용하는 이유가 기술적인 유용함도 있지만 비용 절감도 중요하므로 고객의 특징을 파악해 비용 최적화에도 힘씁니다. 좀더 깊게 들어가면 SA로서 고객이 필요로 하는 인프라 구성 요소(서버, 네트워크, 데이터베이스, 스토리지 등)를 AWS를 통해 제공하고 각 구성요소들이 원활하게 작동할 수 있도록 AWS Management Console(이하 콘솔)을 통해 생성/관리합니다. 이 구성 요소들 위에서 작동하는 요소(코드 배포, 튜닝, OS 최적화) 등은 고객에게 맡기며 그 요소들이 또다른 요소들과 원활히 통신하고 작동할 수 있도록 돕는 것입니다. 인프라와 일련의 서비스 플로우는 제공하지만 그 위에서 이루어지는 활동은 고객사에게 맡기는 것이죠. 건설업계에 비유하자면 건물을 짓고 용도에 맞게 방을 나누는 것은 SA이지만 그 방의 인테리어를 꾸미는 것은 고객이라고 생각하시면 이해가 편할 듯 합니다.

 

Q3. 첫 회사 입사 후 3개월간 회사에서 무엇을 하셨나요? 사회초년생들에게 첫 입사 후 3개월간 추천하는 공부방법은?

A. 저는 첫 회사에 들어와 고객사의 AWS 서비스를 운영하는 역할을 맡았습니다. 운영자로서 현재 고객사의 AWS 아키텍쳐에 사용되는 서비스와 설정을 모르면 아무것도 할 수 없었습니다. 그래서 전 고객사의 아키텍쳐를 확인하기 위해 콘솔에 접속하여 사용중인 서비스를 하나하나 확인해보기 시작했습니다. 서비스의 용도는 당연히 숙지하였으며 서비스 내 어떤 설정이 들어가 있으면 이 설정이 왜 들어가있는지를 반드시 확인했습니다. '이 옵션은 뭐지?', '왜 이렇게 된거지?' 를 스스로 파악하고자 했고, 잘 이해가 되지 않는 부분은 팀원분들께 커피라도 한 잔 사고, 담배라도 한 대 같이 태우며 열심히 물어보았습니다. 물론 단순히 이해가 되지 않는 부분을 묻지는 않았습니다. 질문을 할 때에는 '이해한 바는 이러이러한데, 이해한 게 맞는지 아니라면 어느 부분을 잘못 이해한건지' 고견을 여쭈었습니다고객이 무언가를 질문하면 그 질문들을 자세히 정리하여 AWS 공식 문서를 꼼꼼히 뒤져 그에 대한 답을 확인했습니다. 공식 문서를 통해도 답이 나오지 않으면 AWS 엔지니어분들이 모여 있는 카카오톡 오픈카톡방에 질문하여 답을 얻었습니다. 

모르는 것을 질문할 때 중요하게 생각하는 것은 Keyword(이하 키워드)입니다. 키워드를 정확히 알지 못하면 질문을 해도 제대로 된 질문을 할 수 없으며 답변하는 사람도 제대로 된 답변을 할 수 없습니다. 전혀 모르는 서비스를 당장 질문하려하면 할 수 없습니다. 해당 서비스의 핵심 키워드를 모르니까요. 그래서 시간이 날 때마다 당장 필요없거나 관련이 없는 서비스 혹은 기능이더라도 기본적인 서비스라고 생각되는 것들은 AWS 공식 문서나 FAQ 혹은 구글링을 통해 미리 공부했습니다. 그래야 키워드를 알 수 있고 제대로 된 질문을 할 수 있으니까요.

마지막으로 AWS SA에 입문하고자 하시는 분들께 한 가지 추천하고 싶은 행동은 구글링을 적극 활용하고, 관련 커뮤니티 활동을 많이 하는 것입니다. "구글신"이라는 별명이 있듯이 구글에는 "현재 내가 고민하는 문제"에 대해 이미 "과거에 고민한 사람"들의 질문과 답변이 한가득 담겨있습니다. 또한 AWS 관련 커뮤니티를 가입하면 그러한 질문 혹은 답변이 많아 쉽게 찾아 볼 수 있으며 실력 좋은 엔지니어들을 온라인으로 접할 기회를 가질 수 있습니다. 하나의 지식이라도 아쉬운 사람이라면 고수분들을 찾아 적극적으로 커뮤니케이션하는 것이 좋다고 생각합니다. 그리고 기술 서적을 많이 읽는 것이 좋습니다.

 

Q4. 고객사 구축 프로젝트 수행간 한 번도 써보지 않은 서비스를 사용해야 할 때는 어떻게 대처하셨나요?

A. 일단 AWS 공식문서, AWS 블로그, 오픈 커뮤니티 등을 통해 어떤 Workload(이하 워크로드)에 적합하고 어떤 특징과 장단점을 지니는지 파악했습니다. 또한 해당 서비스가 고객의 요구를 충족시킬 수 있는지, 또 다른 서비스로도 가능한지를 알기 위해 비교 자료를 찾는 것에 집중했습니다. 물론 이러한 과정을 필요한 순간에 부닥쳐 공부하게 된다면 너무 늦으므로 오픈 커뮤니티를 늘 주시하고 어떠한 이슈가 있는지 확인하는 걸로 미리 대비를 하는 편입니다. 그리고 클라우드 서비스의 최고 장점인 "손가락 몇 번 튕겨 서비스 만들기"을 활용하여 해당 서비스를 즉시 테스트해봅니다. 기본적으로 해당 옵션이 어떨 때 쓰이고 어떤 의미를 갖는지를 쭉 훑어보고, 필요한 부분에 대해서는 선택적으로 Docs나 블로그 등을 통해 학습하고 이를 직접 만들어 보면서 어떤 특징을 지니는지 파악합니다. 여기서 말씀드리고 싶은 것은 "아는 것"과 "하는 것"은 매우 다르다는 것입니다. 백문이불여일견이라는 말이 있듯이 자세히 아는 것도 중요하지만 이를 해보는 것이 더더욱 중요하다고 생각합니다.

그럼에도 테스트가 불가능에 가까운 서비스(AWS Direct Connect, Snowball 등)이 있거나 사용 빈도가 적어 자료가 부족한 서비스가 분명 있습니다. 다시 말해 "경험"이 아니고서는 얻을 수 없는 정보가 있습니다. 그럴 땐 인적 네트워크를 적극 활용했습니다. 회사의 상사분들께 식사(혹은 커피)라도 한 번 대접하고, 술이라도 한 잔하며 최대한 질문할 수 있는 환경을 조성하고 열심히 물어보았습니다. 물론 그 분들 또한 업무를 수행하는 "바쁜 직장인"이고 제 질문에 상세히 답변한다고 실적을 올릴 수 있는 것도 아니며 오히려 에너지를 소모하며 제 질문에 대한 답변을 해야 합니다. 그러므로 그 분들께 누가 되지 않도록 최대한 자세히 알아보고 모르는 부분의 핵심 키워드를 정리하여 질문하였습니다. 그 분들 또한 온갖 고생을 하며 쌓은 "경험"을 거의 공짜로 얻는 만큼 늘 감사한 마음을 가지는 것은 말할 필요도 없죠.

 

Q5. IT 직군에 종사하면서 '이것'만큼은 힘드니 본인에게 맞지 않는다면 다시 한 번 고민해보는 것이 좋을만한 요소가 있을까요?

A. IT는 변화가 매우 빠른 직군에 속합니다. 자고 일어나면 새로운 기술, 새로운 서비스가 등장하여 실전에 적용되고 있습니다. 클라우드도 한국에 도입된지 얼마 안 되어 빠르게 확산되어 수많은 기업에서 사용되고 있습니다. 그뿐만이 아닙니다. 클라우드와 온프레미스 분야를 포함하여 요즘엔 Container(이하 컨테이너)라는 말을 모르시는 분은 없을겁니다. 과거엔 하드웨어를 가상화하여 각각의 OS를 갖는 Virtual Machine(VM)을 운용하였지만 이젠 OS Kernel을 공유하여 각각의 프로세스가 각자의 실행환경처럼 이용할 수 있도록 하는 기술이죠. 바로 Docker(이하 도커)입니다.

놀라운 점은 Docker가 나온지 10년이 채 되지 않았음에도(2013년 출시) 정말 많은 분야에서 사용되고 있고, 이미 이를 깊게 파헤친 책들 또한 많다는 점입니다. 변화가 얼마나 빠른 지 체감이 되실 것이라 생각합니다. 게다가 AWS와 같은 클라우드 서비스는 분야를 가리지 않고 기술이 활용되는 분야입니다. 서버, 네트워크, 데이터베이스 등등 아주 넓습니다. 다시 말하면 공부할 것이 많다는 것을 의미하죠. 그러므로 새로운 기술을 매일 공부하고 이를 체득하고 정리하는 것을 좋아하는 분이 좀 더 적합하다고 생각합니다.

AWS는 모든 인프라 구성요소의 집합체인만큼 다양한 요소를 사용합니다. EC2와 같은 서비스에 더해 VPC, Route 53, RDS 등 다양한 서비스가 있고 또 그 서비스에는 자주 사용하는 혹은 자주 사용하지는 않는 수많은 설정들이 존재합니다. 그러므로 누군가가 구축한 AWS 서비스를 인수인계받거나 새로운 AWS 서비스를 구축한다면 사용하는 서비스의 설정을 꼼꼼하게 볼 필요가 있습니다. 그리고 그 설정 하나에 서비스가 장애가 발생할 수도 있죠. 그렇기에 더더욱 꼼꼼함이 중요한 분야인 듯 합니다. 꼼꼼하게 보는 것이 어려우면 다소 힘들 수도 있습니다. 그렇다고 꼼꼼하지 않다고 이 업계를 오지 못 하는 것은 아니고 이를 어떻게 받아들이냐의 차이인 듯 합니다. 이러한 부담감을 이겨낼 취미를 갖는 것도 좋은 방법이겠죠.

 

Q6. 이 직무에 입문시 꼭 공부해보길 권고하는 분야는 어디인가요?

A. Network Infra(이하 네트워크)에 대해 꼭 공부하고 오셨으면 하는 바람입니다. 클라우드가 온프레미스에 비해 서비스를 구성하고 사용하는 것이 간소화되어있고 편리한 것은 사실입니다. 특히 네트워크의 경우, VPC와 ELB, Route 53, Site-to-Site VPN 등의 네트워크 서비스로 나뉘어 사용자의 편의성을 최대화했습니다. 그런데 AWS는 이 편의성 뒤에 이 네트워크 서비스가 어떻게 작동하는가에 대해서는 일련의 설명을 하지 않습니다. 다시 말해 AWS를 필두로 하는 클라우드 서비스가 네트워크를 쉽게 표한 것은 맞지만 어떻게 쉽게 표현했는가에 대해서는 전혀 설명을 하지 않는다는 것이죠.

한 가지 예를 들어보겠습니다. NAT Gateway는 공인 IP를 갖지 않는 Private Subnet에 속한 EC2 등이 공인 인터넷에 접근할 수 있도록 EC2의 사설 IP를 공인 IP로 Source IP NAT하는 역할을 합니다. 여기서 Source IP NAT가 무엇인지 모른다면, 더 나아가 NAT라는 것이 무엇인지 모른다면 NAT Gateway를 이해한다는 것은 쉽지 않습니다. 여기서 사용되는 NAT의 키워드를 이해하지 못 한다면 NAT Gateway가 외부 인터넷에서 AWS VPC 내부로 접속하기 위한 용도라고 착각할 수도 있겠죠. 또 한 가지 재미 있는 점은 NAT Gateway를 사용할 때 사설 IP를 공인 IP로 NAT해주는 것은 사실 NAT Gateway가 아니고 Internet Gateway라는 것입니다. NAT Gateway는 공인 IP를 할당받은 존재이고 NAT라는 역할을 하기 위한 존재인 것이 분명 맞지만 AWS 내부에 실질적으로 공인 IP를 보유하고 이를 일대일 NAT하는 존재하는 바로 Internet Gateway입니다. 

* NAT Gateway Traffic Flow
EC2 - > NAT Gateaway - > Internet Gateway - > Public Internet

AWS는 이러한 점을 공식문서에 지나가는 말(ex. NAT Gateway는 이를 Internet Gateway로 보냅니다.)로 표시하거나 굳이 표기하지 않습니다. 위에서 언급한 점(공인 IP 보유 존재)를 모른다면 AWS 공식 문서의 설명을 전혀 이해할 수 없습니다. 이는 네트워크를 모르는 사람에겐 정말 난감한 부분이 아닐 수 없고 이러한 일은 흔하게 일어납니다. 저 또한 그랬습니다. 그렇기에 AWS SA가 되기 전에 네트워크 자격 과정인 CCNA/CCNP 과정을 수강하거나 네트워크 관련 용어를 많이 공부하는 것을 추천하고 싶습니다.

 

Q7. 현재 직무에 자격증 취득이 미치는 영향이 어느정도라고 생각하시나요? 꼭 있어야만 하는 것인가요?

A. ""를 증명하는 방법 중 하나가 "자격증" 이라고 생각합니다문서로 남기때문에 취업 과정에서 이를 증명할 수 있기 때문이죠. 그리고 AWS 자격증을 취득하는 방법 중 "덤프"가 자주 언급되는데요저는 굉장히 긍정적인 편 입니다. 덤프의 답만 외워서 따려고 하는 마인드가 문제지, 덤프 자체가 문제라고는 생각하지 않습니다. 덤프에서 나오는 문제, 즉 AWS에서 출제하는 문제들은 대부분 고객사례를 기반으로 만들어진 문제이며 그들이 제시하는 Best Practice입니다.  대부분의 오답들이 문제를 해결할 수는 있지만, 문제의 조건에 맞지 않아 오답인 경우가 많습니다. AWS가 자격증을 공부하는 방법으로 FAQ를 많이 읽어보라는 것 또한 일맥상통합니다.

AWS가 제시하는 FAQ는 그간 수많은 엔지니어와 고객사가 문제를 해결하기 위해 고민한 흔적이고 Best Practice이기에 공부할 것을 권하고 이를 문제로 내는 것입니다. 정리하자면 덤프를 이용해 공부하는 것도 좋지만 해당 문제를 이해하는 것은 당연한 것이거니와 정답을 제외한 오답들이 "문제에서 제시한 조건"에서 왜 부합하지 않는지를 공부하는 것이 중요하다고 생각합니다. 결국 "덤프"를 통해 공부한 사례가 훗날 "내 사례"가 될 수도 있기 때문입니다.

 

Q8. 첫 취업을 준비하는 사람으로서 자격증이 아닌 다른 요소로 자신의 스킬을 증명할 방법은 무엇이 있을까요?

A. 블로그와 Github 등을 운영하는 것이 좋다고 생각합니다. 글을 쓰는 과정에서 자신이 공부한 것을 되짚어 볼 수 있고 또 자신이 놓쳤거나 잘못 이해한 부분을 발견할 수도 있습니다. 무엇보다도 자신이 공부하고 알고 있는 것을 기록물로 남기고 이 기록을 누구나 열어볼 수 있기 때문에 자신의 실력을 객관적으로 증명할 수 있습니다. 예를 들어 AWS 자격증 공부를 하는 과정에서 배운 것을 모두 기록해둔다면 나중에 계속 써먹을 수 있고 덤프로 딴 것이 아님을 증명할 수 있겠죠. 그리고 가장 중요한 취업에서 포트폴리오로 사용할 수 있습니다.

 

Q9. IT 분야에 종사하며, 꼭 가졌으면 하는 마인드/소양 무엇인가요?

A. "점점 게을러지는 엔지니어"가 되셨으면 하는 바람입니다. SA로서 업무를 하다보면 고객으로부터 단순 작업을 많이 필요로 하는 자료 수집 요청, 문서 작업 등의 요청을 받게 됩니다. 직접 손으로 일일이 할 수 있는 작업이지만 시간이 오래 걸릴 수 밖에 없고 손으로 일일이 하는 작업인만큼 실수도 생길 수 밖에 없습니다. 생산성은 지극히 낮지만 종종 하게 되는 필요한 작업이죠. 예를 들면. 고객사에서 AWS에 구축한 정보를 엑셀에 담아서 달라고 하면 수작업으로는  짧게 5시간, 길게는 수 십 시간이 필요합니다.

이런 단순 반복 작업을 컴퓨터가 처리하게끔 코딩도 해보시고 자동화를 해보는 것이 좋다고 생각합니다. 요즘 자동화를 위해 파이썬을 많이 사용하는만큼 이를 공부하는데 시간을 어느 정도 투자한다면 오히려 개인시간이 늘어나는 효과를 거둘 수 있습니다. 내가 게을러지기 위해 부지런해지면, 내 몸도 편하고, 가치도 인정 받을 것이라고 확신합니다.

 

Q10. 향후 커리어는 어떻게 이어나갈 예정이실까요?

A. 단기적인 관점에서 MultiCloud(이하 멀티 클라우드)를 다룰 줄 아는 SA가 되고 싶습니다. AWS, Azure, GCP 등 다양한 클라우드 서비스가 있고 각자 가지고 있는 장단점이 있기 때문에 여러 클라우드 서비스를 다룰 수 있다면 고객의 요구에 대해 폭넓은 범위에서 다양한 아키텍쳐를 제시할 수 있기에 경쟁력이 월등하다고 생각합니다. 한 회사에 소속된 회사원으로서의 경쟁사 대비 더 강한 경쟁력을 가질 수도 있고 개인으로서 더 경쟁력 있는 기술력을 가질 수 있는 방법입니다. 시간이 흘러 멀티 클라우드에 대한 시장의 수요가 급격히 높아질 시점에 준비하면 너무 늦기 때문에 미리미리 준비하려고 합니다.

그리고 향후에는 "서비스"를 직접 운용하고 싶습니다. 여기서 말하는 서비스란 사용자에게 직접적으로 제공되는 실제 기능을 의미하며 이 기능을 제공하는 시스템을 직접 엔지니어링하고 싶습니다. 그러기 위해서 시스템 엔지니어링에서 빠지지 않는 존재인 쿠버네티스와 같은 오픈 소스 플랫폼을 직접 운용하고 경험하고자 합니다.

 

재미있게 보셨나요? "IT 현직자에게 묻다" 시리즈의 첫 번째 인터뷰인 장준형 님의 인터뷰입니다. 평소 장준형님의 실력이 일취월장하는 것을 보고 있었고 늘 열정적으로 배우시는 분이기에 IT에 입문하시는 분들께 큰 도움이 될까하여 인터뷰 요청드렸습니다. AWS SA로 커리어를 정하신 분들께 도움이 되기를 바라겠습니다. 그리고 장준형님 또한 블로그를 운용중이시니까요. 한 번 들어가보시는 것도 좋을 듯 합니다. 다음 인터뷰는 네트워크 엔지니어입니다! 감사합니다.

* 장준형님 블로그 : https://junhyeong-jang.tistory.com/

반응형

댓글