저는 학생 때 클라우드하면 보통 AWS (Amazon Web Services)를 생각했습니다.

AWS Educate 라는 웹사이트에서 공부도 하고, 나중에 시간을 내서 자격증도 한 번 따볼까 생각했는데, 프로젝트를 하면 실제로 깊게 사용해 볼 기회가 없었습니다. 제 경험상 개발과 관련된 과제를 풀거나 시험을 준비하면 더욱더 그랬습니다. 물론 그동안 간단하게 사용했던 서비스는 EC2, Route53, RDS, S3, CloudWatch, Inspector 등이 있지만, 서비스를 사용하는 것과 공부하는 것은 전혀 다르다고 생각합니다.

AWS의 수많은 서비스들.

게임으로 예를 들면, 보통 게임을 좋아하는 사람은 많아도 잘하는 사람은 좋아하는 사람만큼 있지 않습니다. 못해도 좋아하는 데 지장이 없으니까요! 저 또한 마찬가지입니다

한 번은 작년, GDG Campus Korea 주최 DevFest on Campus 2019 라는 행사에 다녀왔습니다. 지인의 발표를 보러 갔는데 역시나 학생들이 정말 많았어요. 여기에 모인 학생들 또한 제가 학생 때 AWS를 썼던 것처럼 공부한 정도가 비슷해 보였습니다. 그래도 클라우드에 관심은 많겠죠? 시간이 흐르고 저는 이 행사의 마지막 세션을 들었는데, 굉장히 재밌게 들었습니다. 바로 GCP에 관한 발표였습니다.

제가 들은 발표에 관심있는 분들은 위 슬라이드를 참고하면 되겠습니다.

저는 그동안 GCP를 알고는 있었는데 잘 몰랐어요. 그러다가 작년에 서울 리전을 만들겠다고 발표한 내용 덕분에 조금씩 관심을 가졌습니다. Cloud Functions, Compute Engine, Cloud Storage, Cloud APIs를 써보긴 했지만, 저도 위의 발표자 분처럼 자격증을 준비하며 클라우드가 정확하게 어떤 서비스고, 왜 생겨났는지 역사부터 시작해서 공부하고 싶었습니다. 솔직히 AWS 하나로는 부족했습니다. 결국 작년 말의 결심이 2020년 새해부터 본격적으로 GCP를 공부하게 된 계기가 되었죠. 정확히는 1월 2일!

이거도 예전부터 알고는 있었는데 시간내기 쉽지 않았습니다ㅠㅠ

무엇보다 운 좋게 구글 스터디 잼에 참여하게 되어 동기부여가 확실하게 되었습니다. 새해 목표를 GCP 자격증 따기로 잡은 이후 지금도 공부하는 사람들과 슬랙으로 소통하고, 퀵랩에서 실습하고, 구글 클라우드의 공식 강의를 코세라에서 수강하는 중입니다. 회사를 다니면서 시간을 쪼개서 틈틈이 공부하고 있지만, 회사가 워낙 바빠서 이거도 쉽지 않군요. 그래서 지하철에서 코세라 앱을 켤 때도 있습니다. 그러던 중 다행히 오프라인으로 실습을 진행할 수 있는 기회도 있어서 이에 참석했습니다.

퇴근하고 회사 맥북 들고 부랴부랴 구글코리아 본사로.

궁금하신 분들을 위해 세미나에서 들었던 내용을 간략하게 설명할게요.

첫 번째 세션은 자격증에 관한 설명이라 패스. 두 번째 세션에서는 autoscaling (자동 확장)이라는 개념이 나옵니다. 이건 AWS provisioning, Auto Scaling과 비슷합니다. Autoscaling은 예측하기 어려운 수요에 대한 고가용성 제공, 트래픽 처리 원활 그리고 비용 절감 효과를 가져옵니다. 쉽게 말하면 네트워크나 애플리케이션 단에서 load balancing을 구현하는 것과 비슷한 개념이에요. 대표적인 웹 서버 Nginx가 그런 역할을 수행할 수 있죠. 클라우드 내 서비스도 그런 역할이 필요합니다. 그리고, 세 번째 세션에서는 서버리스 컨테이너 기반 서비스를 만들면서 Cloud Build (빌드), Cloud Run (배포), Cloud Pub/Sub (이벤트 알림), Cloud Storage (이벤트 처리) 등 GCP의 여러 가지 서비스를 활용합니다. 이 세션이 진짜 제대로 클라우드를 공부하는 첫걸음(?)이라고 볼 수 있어요. 여기에서는 내가 JavaScript로 작성한 애플리케이션을 빌드하고, 배포된 상태에서 어떤 파일이 올라오면 이벤트 알림이 발생하여, 해당 파일을 PDF 파일로 변환하는 예제를 살펴보았습니다. GCP에는 정말 서비스가 많아서 실제로 개발할 때 잘 활용하면 더 효율적이고 안정적인 서비스 구축이 가능합니다. 사실 세미나 때 제 계정이 막히는 등 이런저런 일이 있었지만 잘 해결됐습니다.

GCP 스터디를 진행하면서 매주마다 작은 퀴즈를 풀고 퀵랩 퀘스트를 완료한 인증샷을 제출하고, 코세라 강의를 수료하면 이름이 적힌 수료증이 나오는데, 공부를 할 때는 특히 성과 (결과)가 눈에 보이게 해야 한다고 생각이 듭니다. 블로그를 운영하거나 발표를 하거나, 자격증을 따는 일도 결과적으로 자신의 눈에 보이는 일들이에요. 이것들이 하나씩 쌓여서 나중에 더 큰 결과를 가져오지 않을까요. 제가 회사를 다니면서도 많이 느낍니다. 회사를 다녀도 자기가 배운 걸 기록하지 않으면 그게 기억이 잘 안 나더군요. 그래서 저는 퇴근을 정시에 못해도 적을 건 적고 집에 갑니다. 머리가 나쁘면 퇴근이 늦습니다

클라우드라는 개념 자체는 나온지 오래됐고, 관련 서비스도 출시한지 오래지만 아직 클라우드 전문가를 주변에서 많이 보지 못했습니다. 학생 때도 느낀 건데 정보 습득 기회의 부족 때문일 수도 있고, 교육의 다양성 부족 또한 문제라고 생각이 드네요. 제가 클라우드를 더 깊이 공부해서 나중에 주변 사람들에게 알릴 수 있는 기회가 생기면 기분 좋을 것 같습니다. 개발을 공부하다 보안을 공부하다 클라우드를 공부할 줄은 몰랐어요. 역시 공부는 물어보는 것보다 직접 해보면서 느껴야 하고, 여기에는 정해진 길이 없다는 마음을 가지고 해야 합니다.

클라우드를 처음 접할 때는 AWS, 이제는 GCP를 공부하니까 전반적인 DevOps에 관심이 계속 생깁니다. DevOps 말하니까 생각났는데, Docker와 Kubernetes도 이제 꽤 유명하죠? 학생 때는 제대로 몰랐던 이 두 가지가 이제 왜 그렇게 주목을 받고 편리하다고 말하는 건지 GCP를 공부하면서 이해가 갑니다. 저희 회사에서도 이미 사용 중인 이 컨테이너에 대한 건 다음에 시간나면 또 정리해 볼게요. 공부하면서 배운 내용을 동시에 적을 시간이 별로 없어서 이건 나중에 따로 포스팅하겠습니다. 제가 수강하고 있는 강의는 아래 링크를 참고하세요!

Cloud Engineering with Google Cloud Professional Certificate | Coursera
Learn Cloud Engineering with Google Cloud Professional Certificate from Google Cloud. This program provides the skills you need to advance your career in cloud architecture and provides a pathway to earn the industry-recognized Google Cloud ...