작성
·
205
0
열심히 강의를 따라가고 있는 학생입니다.
지금은 강사님이 SST를 알려주시니 열심히 따라가며 배우고 있는데 언제 왜 이런 새로운 프로그램을 찾고 배워야 하는지 궁금합니다. AWS를 사용하더라도 그냥 AWS 콘솔에서 할 수도 있지않습니까? 그런데 강사님은 어떻게 이런 프로그램을 찾아보고 배우실 생각을 하실 수 있었나요? 새로 배울 시간이 부족하지는 않으셨나요? 저는 배워야 할 것도 많은 상황인데 이런 어떻게 보면 본질적이지 않은 지원 프로그램도 다 배워야 하는 건가 걱정이 됩니다.
답변 2
0
답변감사드립니다.
제가 아직 기본적인 개발 스택을 따라가는데도 시간이 걸리다보니 SST같은 프로그램은 또 언제 배우나 그리고 배워야 하나 고민이 되었던 것 같습니다. 말씀을 듣고보니 제가 AWS 환경을 활용하는데 익숙해지면 SST 를 학습하는 시간도 크게 줄어들 것 같네요.
감사드리고 더 공부해 보도록 하겠습니다!
0
안녕하세요. 답변 드리겠습니다.
저도 처음에는 AWS 콘솔에서 진행했습니다. 우리 프로젝트를 진행하기 위해선 Api Gateway, Lambda, S3, Route53 등등 많은 작업을 해야하는데, 만약 백엔드에서 무언가 수정이 됐다고 한다면 node.js 코드를 수정하고, 로컬에서 테스트해보고, 코드 묶음을 압축하고 S3에 업로드하고, Lambda 콘솔 들어가서 zip 파일 선택하고 적용하고 다시 테스트하고 심지어는 로컬 테스트와 Lambda에 올렸을 때 환경이 다른 부분이 있을 수 있어 지속적인 테스트 또한 불가피합니다.
단순히 학교 과제나 유지보수가 필요없는 단발성 프로젝트라면 수작업으로 AWS 콘솔에서 진행하는 것이 더 빠를수도 있겠죠. 하지만 많은 프로젝트가 그렇듯 반복적인 작업을 하다보면 어쩔 수 없이 효율성을 위해 자동화에 직면하게 됩니다. AWS와 똑같은 환경에서 테스트하고 명령어 한줄로 위에 나열했던 작업을 한번에 수행하는 것이 개발에 엄청난 시간적 효율을 가져다 줄 수 있습니다.
만약 SST라는 라이브러리가 없다면 저는 AWS에서 제공한 코드로 콘솔처럼 제어할 수 있는 CDK를 활용하여 자동화 파이프라인을 구축하고 사용했을 것입니다. 하지만 많은 사람들이 반복적으로 하는 작업들을 명령어 한 줄로 실행할 수 있는 라이브러리가 있다면 당연히 그것을 사용하는 것이 좋겠지요? 그래서 SST를 사용하게 되었습니다.
SST는 단순히 AWS 작업을 하는 것 뿐만아니라 서버리스라는 우리가 사용하는 중요한 스택을 다루는데 큰 역할을 해주는 라이브러리입니다. SST가 없었을 때는 DynamoDB 테스트를 위해 로컬에서 DynamoDB를 도커로 구축하고 테스트 환경을 일일이 설정해야 했습니다. 더군다나 혼자하는 프로젝트가 아니라면 동시작업을 위한 테스트 DynamoDB를 외부환경에서 접속하게까지 만들어야 했습니다. 테스트를 위한 서버구축을 해야 했던 것이죠. 이 복잡한 것을 해결해 준 라이브러리가 SST고 서버리스를 기반으로 무언가 개발한다면 빼놓을 수 없는 필수 스택이 되었습니다.
글이 조금 길어졌는데, 결론을 말씀드리자면 내가 수작업으로 무언가 하고 있다가 이런 작업을 하는 라이브러리가 없나? 하고 찾아보니 SST를 찾게 되었습니다. 그리고 내가 달성하고자 하는 작업을 매번 수작업으로 진행했을 때의 시간과 새로운 지원 프로그램을 배우고 쓰는 시간을 비교해보니 배우는 것이 더 짧고 나중에 또 써먹을 수 있겠다는 판단이 들어 사용하게 되었습니다.
마지막으로 본질적이지 않은 지원 프로그램이라는 중요한 말씀을 하셨는데요. SST가 기반으로 삼고 있는 AWS와 서버리스라는 본질을 이해하고 있다면 그것을 사용하는 지원 프로그램을 배우는 시간은 훨씬 단축되어 배우는 시간의 압박보다는 오히려 내가 하고자 하는 작업을 더 빨리 수행할 수 있겠다는 생각이 먼저 드는 것 같습니다. 많은 지원 프로그램을 어떻게 쓰는지 배우는 것보다 그 프로그램들이 다루고 있는 본질을 배우신다면 나머지는 자연스럽게 따라오지 않을까.. 하는게 제 생각입니다. 간만에 많은 생각이 드는 질문을 받았네요. 질문 해주셔서 감사합니다.