|
여러분은 '서버리스'라는 단어를 알고 계신가요? 코로나의 등장으로 많은 회사에서 재택근무를 시작하게 되면서 최근 기업의 클라우드화가 빠르게 보편화되었습니다. 클라우드화는 여러 장점들이 존재하지만, 클라우드를 이용하더라도 여전히 서버의 소프트웨어적인 부분은 사용자가 직접 관리를 해야 한다는 단점이 남아있었죠. 이러한 단점을 보완할 수 있는 것이 바로 '서버리스'입니다.
서버리스(Serverless) 단어만 보면 서버가 없는 서비스 인가?라고 생각할 수 있지만 실제로는 서버가 존재합니다. 다만, 직접 서버를 관리하지 않아서 서버를 신경 쓸 필요가 없는 환경을 뜻합니다. 따라서 개발자들이 개발 환경이 아닌 코드 자체에 집중할 수 있는 환경을 지원합니다.
이 책에서는 클라우드 서비스의 대표주자 AWS에서 만든 플랫폼 AWS Lambda를 다루고 있습니다. AWS Lambda는 이벤트 기반 서버리스 컴퓨팅 플랫폼입니다. 서버 관리 없이 모든 유형의 애플리케이션과 백엔드 서비스에 대한 코드를 실행하며 이벤트가 발생할 때 사용한 만큼의 요금만 지불하면 되는 방식입니다.
서버리스를 이해하려면 여러 IT 지식이 배경이 되어야 합니다. 이 책을 읽기 전에 기본적인 리눅스 지식와 자바 스크립트, 타입스크립트, 파이썬의 문법을 숙지한 상태에서 읽어나가면 실습을 따라가기에도 용이하고 서버리스에 대해 더 잘 이해할 수 있을 것입니다. 특히 대부분의 예제가 Node.js 런타임과 타입스크립트를 사용하고 있기 때문에 이 부분은 확실하게 선행이 된 후 읽으면 더 좋을 것 같습니다.
이 책이 저자의 첫 집필입니다. 첫 책이라고 믿기지 않을 정도로 책의 내용이 정말 알차게 구성되어 있습니다. 그 만큼 저자가 서버리스에 깊은 관심이 있기 때문에 좋은 책이 나오게 된 것 같습니다. 책의 저자는 실제로 웹서비스와 게임을 개발하고, 서버리스 서버 개발을 하고 있는 개발자입니다. 이론만 가득 있는 지루한 책이 아닌 실무자의 시선으로 입문자들에게 필요한 핵심적인 내용과 예제를 통해 직접 서버리스를 경험함으로써 서버리스에 대한 깊은 이해를 돕고 있습니다.
처음 목차를 살펴보았을 때 제가 가장 관심이 갔던 것은 게임 서버 파트입니다.
게임을 통해 서버리스를 경험하고 실습하면서 재밌게 다가갈 수 있을 것 같아서 관심이 갔고, 게임을 구현하고 끝나는 것이 아니라 테스트와 개선까지 살펴보며 실제 서비스를 구축할 때 필요한 단계를 담고 있습니다.
게임 서버 파트를 조금 더 자세히 보자면 본격적인 실습 전에 만들어나갈 프로그램에 대해 자세히 설명하고 흐름도로 이해를 돕고 있습니다.
특히 흐름도 부분이 굉장히 좋았습니다. 한 번이라도 서비스를 만들어 본 사람들은 모두 공감하겠지만 하나의 서비스를 만들기 위해서는 우리가 생각하는 것보다 더 디테일한 단계들이 필요합니다. 이러한 단계들을 한눈에 파악 가능하도록 흐름도를 사용하여 독자들의 이해를 돕고 있습니다.
총 다섯 가지의 예제를 직접 만들어 보면서 Lambda와 함께 자주 사용되는 스택을 파악하고 상용 서비스를 고민할 때 알아야 하는 비용, 모니터링, 한계와 한도에 대해서도 다루고 있습니다.
책을 읽기 전 서버리스와 AWS Lambda에 대한 기본적인 이해만 가지고 있던 상태였는데 이 책을 읽으면서 서버리스에 대해 더 깊게 이해하게 되었고 서버리스에 활용도에 대해 고민할 수 있었습니다. AWS 서버리스 플랫폼으로 웹 서비스 개발을 원하는 개발자나 간단한 게임 서버를 인프라 고민 없이 개발하고 싶은 개발자에게 추천합니다. 또는 서버리스 개념과 AWS Lambda에 대한 설명이 입문자도 이해하기 쉽게 설명되어 있기 때문에 서버리스에 입문하고자 하는 분들에게도 추천합니다.
아래 링크는 제가 작성한 서버리스의 개념입니다. 서버리스가 어떤 것인지 궁금하다면 대략적으로 파악해 보셔도 좋을 것 같습니다. https://m.blog.naver.com/parksalt_log/222923006876
《YES24 리뷰어클럽 서평단 자격으로 작성한 서평입니다.》 |
|
목차는 다음과 같이 7개의 Chapter 와 2개의 부록으로 구성되어 있습니다.
1장 준비하기 - AWS 서버리스는 무엇이고, 어떤 장점을 가지는지, 개발에 필요한 환경설정을 방법을 익히고 개발에 사용할 Nodejs와 TypeScript를 간단히 설명하고 서버리스 도구인 Severless Framework의 사용법을 기본예제를 통해 설명하고 있습니다.
2장 Hello API - AWS 서버리스 서비스인 API Gateway와 Lambda를 사용해 "Hello"를 출력하는 간단한 API구현방법과 자바스크립트와 타입스크립트를 각각 설명하고, 타입스크립트로 개발할때 필요한 컴파일 옵션 설정과 웹팩연동에 대해서도 간략히 다루고 있습니다. 또한 배포한 스택을 상용서비스로 활용할때 검토해야 하는 한도 개념과 서비스가 정상적으로 동작하고 있는지 모니터링 및 경보 설정 방법에 대해서도 설명하며, 해당 서비스 사용자의 요청 패턴을 가정하고 그에 대한 비용이 얼마나 발생하는지 계산하고 비용 효용을 위해 검토해야 하는 부분에 대해서도 설명하고 있습니다.
3장 사진 최적화 서비스 - 고객이 업로드한 JPEG 파일의 용량을 줄요주는 웹 서비스를 서버리스 스택을 활용하여 개발해보고, Lambda에서 외부 실행 파일을 실행하는 방법과 S3를 사용하여 파일을 교환하는 방법, S3의 파일을 CloudFormation 선언을 통해 할당하는 방법, 또한 글로벌 서비스를 위해 고려할 점에 대해 알아보고 그중에서 S3 전송 가속화 기능을 소개하며, 이 서비스 인프라에서 발생하는 비용을 계산하고 줄이는 방법에 대해 설명하고 있습니다.
4장 블로그 서비스 - 글을 작성하고 게시하는 블로그 서비스를 서버리스 스택을 활용하여 개발해보고, 작성된 글의 저장소로 DynamoDB, MySQL, SQLite를 사용하는 내용을 설명하고 있고, 각 저장소의 특성에 맞게 서버리스 스택을 설계하고 장단점을 토대로 적합한 시나리오를 알아보며, 또한 블로그 서비스를 위해 React 기반의 간단한 프론트엔드 페이지를 개발해보고, 이를 API와 함께 서비스하기 위해 웹 페이지를 S3와 CloudFront를 사용해 배포하는 방법과 API Gateway에서 함께 제공하는 방법에 대해 설명하고 있습니다.
5장 추천 서비스 - 글을 추천하는 서비스를 서버리스 스택을 활용하여 개발해보고, 글마다 모두 고유한 식별자가 있다고 가정하고 이를 Word2vec 라이브러리를 활용해 글 A를 봤을경우 글 B를 볼 수 있도록 추천하는 서비스를 개발하는 방법을 설명하고 있습니다. 추천에 사용하는 라이브러리는 대부분 용량이 크고 Lambda에 코드를 업로드 하는 것이 쉽지 않기에 컨테이너 이미지 기반으로 Lambda 코드를 업로드 하는 방법에 대해서도 설명하고 있습니다.
6장 채팅 - AWS API Gateway의 기능인 WebSocket API를 활용해 간단한 채팅 서비스를 개발해보고, 보낸 메시지를 그대로 돌려주는 에코 예제, 접속한 모든 사람에게 동일한 메시지를 전파하는 예제, 특정주제를 구독한 대상에게만 메시지를 전파하는 예제를 살펴보고 WebSocket API에서 Lambda 권한부여자를 사용했을때 얻을 수 있는 이점과 사용자 지정 도메인을 사용했을 때 주의할 점에 대해서도 함께 설명하고 있습니다.
7장 게임 서버 - WebSocket API를 활용해 간단한 게임 서버를 Lambda위에 구축해보고, Lambda VPC내의 ElastiCache Redis에 연결하면서 @connections 명령을 사용하기 위한 VPC 구축 방법을 알아보고, Lambda 위에 간단한 액터 모델을 구현해 실시간 통신이 가능한 게임 서버를 구현하는 방법을 설명하고 있습니다.
부록 A 도메인 구입 - Route53의 도메인 구입 기능을 사용하여 도메인을 등록하는 방법에 대해 설명하고 있습니다.
부록 B 구글 OAuth 구성 - 구글 OAuth를 구성하기 위해 프로젝트를 생성하고 동의 화면을 구성한 후 클라이언트 ID와 키를 생성하는 방법에 대해 설명하고 있습니다.
AWS Lambda라는 이벤트 기반 서버리스 컴퓨팅 플랫폼을 여러 예제를 통해서 설계, 개발, 배포 및 모니터링 지표와 비용계산까지 전반적으로 많은것 을 배울 수 있는 아주 훌륭한 서적이였습니다. React를 활용한 프론트엔드 웹소켓을 활용한 채팅과 게임서버 부록의 구글 OAuth 까지 웹 개발의 시작과 끝을 다 설명하고 있어서 만족스러운 내용이 많았습니다. YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다. |
|
AWS 서버리스를 사용하지 않는 분이라도 "서버리스 이제는 AWS Lambda로 간다" 책만 있으면 어떤식으로 서비스가 설계되어 있고 서버를 AWS 상에 구축할 수 있는지 쉽게 이해할 수 있게 서술되어 있어요. 그치만 백엔드 프론트엔드 서버개발에 대한 전반적인 지식이 없는 분이라면 책을 읽어도 전혀 이해할 수 없을 만큰 난이도 있는 책이란 점이예요. 개발환경을 구축하는 과정부터 실제로 AWS 서러리스를 운용하는 것까지 API와 웹페이지를 구현하고 모니터링을 하는 전과정을 전부 배울 수 있는데요. 예제를 통해 학습이 가능하고 다양한 상황에서 적용가능한 팁들이 많이 수록되어 있기 때문에 실무에서 활용하고자 하는 전문가 분들에게 추천하고 싶은 책이예요.
YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다. |
|
처음 AWS가 등장했을 때만 해도, 이게 기존 서버호스팅과 무슨 차이가 있는지, 직접 서버구축하는 것과 비교해서 무슨 장점이 있는지 잘 몰랐습니다. 그리고 비용적인 측면에서도 메리트를 찾기 어려웠습니다. 하지만, 최근 몇 년전부터 AWS와 같은 클라우드 컴퓨팅 서비스를 이용하는 기업들이 국내에도 많이 늘어나고 있습니다. 초기 구축비용이 낮아 도입이 쉽고, 확장성과 안정성이 높아 서비스의 지속가능성을 높여주는 것이 장점으로 많이 부각되는 것 같습니다. 특히나 스타트업 같은 경우에는 처음부터 많은 투자를 할 수 없기 때문에 적은 비용으로 서비스를 빠르게 스타트하는 것이 매우 중요합니다. 그래서, AWS를 이용하여 빠르게 구축하고 서비스를 시작하는 스타트업들이 많아지고 있습니다. 클라우드 서비스는 더 이상 선택이 아닌 필수로 자리잡아 가고 있는 것이죠. 이 책은 Lambda를 비롯한 AWS 서버리스 아키텍처를 시작부터 다양한 응용까지 다루고 있습니다. AWS 서버리스 아키텍처를 직접 구성해보면서 다향한 도구들의 사용법을 익힐 수 있습니다. Node.js나 Python을 이용하여 다양한 실제 서비스 예제를 제공하고 있어 서버리스를 학습하기 좋은 것 같습니다. 또한 상용 서비스시에 고려해야 할 비용의 산출 방법과 비용을 절감할 수 있는 방법까지 제공하고 있어 실 서비스 도입시 도움이 될 것 같습니다. <YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다> |
|
제목을 잘 지었다고 생각합니다.이 책은 Target 으로 생각하는 독자가 확실하고, 그에 따라 필요한 부분들에대해 설명하고 있습니다. 대상 독자는 아래와 같은 고민을 하는 사람입니다.
어느 정도 서버리스 플랫폼에 대해 이해가 있고, AWS를 간단하게라도 사용 웹 서비스를 구현 해 본 적이 있는 사람이나, SaaS 서비스를 사용해 본 적이 있어야 합니다.
실습을 위해 필요한 사전 지식은 아래와 같습니다.
뭐가 이렇게 많이 필요한가 싶기도 하지만, 각각의 사항에 대해 심도있는 깊은 지식까지 필요하지는 않습니다. 어느정도 겪어본 적만 있으면 충분히 실습하면서 익혀 볼 수 있습니다.
위의 사항만 충족된다면 그 이후는 이 책 한 권이면 개발 환경 구축부터, 모든 프로그래밍 / 개발의 시작인‘Hello World(API)’로 시작해 상용서비스까지 이를 수 있습니다. 하나하나 따라 해 볼 수 있는 예제와 서비스가 커졌을 때를 대비해 필요한 것들 (특히 비용 계산)에 대해서도 짚어주고 있습니다.
사진 최적화 서비스, 블로그 서비스, 추천 서비스, 채팅, 게임 서버에 이르는 다양한 예제로 실습할 수 있고, 실습과 함께 다양한 기능들을 익힐 수 있게 구성되어 있습니다. 부록으로는 도메인 구입과, 구글 OAuth 구성까지 포함되어 있습니다. 간단한 토이 프로젝트나, 아이디어 테스트를 위해 빠르게 웹 서비스를 출시 해 보고자 한다면 많은 도움이 될 수 있을 것 같습니다.
[YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다] |
|
서버리스 이제는 AWS Lambda로 간다 / 최재경 지음 웹 기반에 서비스를 개발할 때면 서버에 대한 고민을 안할 수가 없습니다. 웹 서비스는 얼마나 사용자가 접속할 지 용량은 얼마나 트래픽은 얼마나 될지 고민을 하게 됩니다. 예상을 잘 못해서 설정을 해두면 웹페이지나 앱이 서버가 마비되는 경우가 발생하게 됩니다. 최근엔 데이터센터 화재로 서버가 작동하지 않아 카카오톡에 관련된 서비스들이 먹통이 되기도 했습니다. 서버리스란 서버가 없다는건가? 라는 생각도 들 수 있지만 실제로 서버는 존재하지만 직접 서버를 관리하지 않아 서버에 신경 쓸 필요가 없는 환경을 이야기 합니다. 이 책은 그중에서도 AWS에서 만든 AWS Lambda에 대해서 설명하고 있습니다. 이 책은 어느정도 IT에 이해가 있으신분들에게 추천드립니다. 기본적인 리눅스 지식(쉘 명령어, 디렉토리 구조)과 자바 스크립트, 타임스크립트 문법, 파이썬 문법, AWS 관리 콘솔 접속에 대한 기본지식, 기본적인 Doker 사용법 등은 따로 설명하지 않기 때문에 어느정도 기본지식을 갖춰야 따라가기 쉬울것 같습니다. 특히 대부분의 예제가 Node.js 런타임과 타임스크립트를 사용하고 있어 잘 모르면 이해가 어려울 수 있습니다. 서버 사용 트래픽등에 따라 유동적으로 사용할 수 있는 필요한 필요요금 비용계산등 도 포함이 되어있습니다. 각 목차별로 사진 최적화 서비스, 블로그 서비스, 채팅, 게임서버등에 예제에서 서버구현, 매칭구현, 모니터링, 비용계산 까지 단계적으로 설명하고 있습니다. 솔직히 저한테는 조금 어려웠지만 서버리스를 활용해볼까 하는 그리고 위에서 설명한 기본적인 지식이 있는 분들이라면 서비스 구현부터 운영비용까지 예제로 설명하고 있어 이해가 쉽지 않을까 생각합니다.
= YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다 =
|
|
YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다 서버리스 이제는 AWS Lambda로 간다의 저자는 책의 서문에서부터 이 책은 설명은 간단하게 실습 및 활용 위주로 다뤘다고 합니다. 즉, 독자가 어느 정도 기반 지식을 가지고 있어야 된다고 하는데요. 서버리스라는 용어 자체를 처음 듣는 저는 여기서부터 쫄았습니다. 그러나 겁을 주신 것과는 달리 생각보다는 간단하게 짚어준 설명이 핵심 개념이라서 오히려 이해하고 넘어가기 좋았습니다. 책의 독특한 점이라면 실습을 처음부터 끝까지 몰아친다는 점입니다. 1장에서 실습 환경을 구성하고 2장에서 바로 API를 개발하고 그것을 모니터링합니다. 사실 IT쪽 기술을 익히는 데는 직접 해보는게 최고의 방식이라고 생각을 해요. 책의 표지에도 있듯이 설계,개발,배포,모니터링,비용 계산을 직접 하게 되니까 제가 원하든 원치 않았든 저절로 손과 뇌가 익숙해졌습니다. 서버리스에 대한 공부는 필요하다고 생각합니다. 요새 클라우드 많이 쓰잖아요. 그 클라우드 컴퓨팅은 다 좋은데. 한정된 예산에 맞게 세팅하는게 어려워요. 서비스 이용자를 최대로 계산했을때 서버를 3대정도 쓰더라. 그래서 서버를 3대를 구매를 한다? 그러면 이용자가 적은 기간에는 또 비용이 아깝습니다. 트래픽에 따라서 유동적으로 사용하게 하려면 그 세팅이 어렵다고 합니다. 그런데 AWS Lambda를 알아서 그걸 해줘요. 그게 서버리스의 장점이기도 하구요. 당장 회사에 도입을 하기는 어렵더라도 기술 자체는 이해해두면 필요할때 바로 써먹을 수 있잖아요. 그 공부를 위해서 이 책을 두고두고 읽을 예정입니다. 서버리스 뿐만 아니라 다뤄보지 못한 것들도(ex, 타입스크립트) 경험해볼 수 있어서 좋은 책이라고 생각해요.
|
|
이제는 클라우드의 시대이다. 회사에서도 2-3년전부터 클라우드를 도입해 업무를 클라우드로 하고 있다. 장점이야 여러가지가 있겠지만 시간이나 장소에 구애받지 않고 클라우드에 접속해 볼 일을 볼 수 있다는 점이 큰 장점이지 않나 싶다. 더군다나 코로나로 인해 재택활동이 크게 증가하면서 이러한 클라우드 환경을 굉장히 가속화시킨 면이 있지 않나 싶다.
YES24 리뷰어클럽 체험단 자격으로 작성한 리뷰입니다 |
|
서버리스 이제는 AWS Lambda로 간다 월드컵 영향으로 치킨 주문이 폭발 배달 어플 서버가 마비되고 2022년 10월 15일에는 SK C&C 판교 데이터센터 화재로 인해 서버가 작동하지 않으면서 카카오톡 서비스가 먹통이 되기도 했죠. 이처럼 서버 관련 이슈들이 많은 걸 보면 서버가 중요하지만 그만큼 관리하기 어렵다는 걸 간접적으로 느끼곤 합니다. 이름만 들어도 아는 대형기업들도 서버 관련 문제를 겪는데 다른 업체들은 오죽할까요. 그래서 더욱 서버리스에 관심이 가는 것 같네요. 이 책은 수많은 서버리스 서비스 중 AWS Lambda를 다루고 있어요. AWS를 사용하는 기업으로는 쿠팡, 당근마켓, 컬리 등이 있다고 하네요. 많이 알려진 기업들도 사용하는 서비스죠. YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다 |
|
서버리스(serverless)란 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델입니다. 서버리스 모델에도 서버가 존재하긴 하지만, 애플리케이션 개발에서와 달리 추상화되어 있습니다. 클라우드 제공업체가 서버 인프라에 대한 프로비저닝, 유지 관리, 스케일링 등의 일상적인 작업을 처리하며, 개발자는 배포를 위해 코드를 컨테이너에 패키징하기만 하면 됩니다. 서버리스 애플리케이션은 배포되고 나면 필요에 따라 자동으로 스케일 업되거나 스케일 다운됩니다. 퍼블릭 클라우드 제공업체의 서버리스 오퍼링은 일반적으로 이벤트 기반 실행 모델을 통해 온디맨드로 미터링됩니다. 그러므로 서버리스 기능이 유휴 상태일 때는 아무런 비용도 들지 않습니다. 책을 읽으면서 전혀 이해가 되지가 않았습니다. 전혀 모르는 내용이고 잘 알지도 모르는 컴퓨터 용어가 계속 나와 있어서 읽다가 지금은 살짝 포기한 상태입니다. 현재 컴퓨터에 관심이 많이 있어서 나중에 진심으로 공부를 하고 싶습니다. 《YES24 리뷰어클럽 서평단 자격으로 작성한 서평입니다.》 |