본문 바로가기
IT 이야기

AWS도 프레임워크로 - Serverless Framework?

by Dblog 2024. 9. 11.
728x90



사무실의 작은방 혹은 회의실 하나에 에어컨을 풀로 틀어두고 물리서버를 몰아넣어 관리하던 시대에서 클라우드 서버로 넘어온 게 생각보다 얼마 안 된 것 같은데 뭐가 새로운 게 또 나왔다.

 

이전에 서버를 구축한다고 하면 물리서버 구매하기, OS 깔기, 네트워크 설정하기를 기본으로 시작해서 이것저것 설정을 해야하는게 많았다. - (비싼 서버를 사줬으니 그만큼 돈 더 벌라고 그랬다) 얼마나 자주 있고 귀찮은 일이었으면 물리 서버 설치해 주고 세팅해 주는 업체들이 굉장히 많았다.

 

그런데 클라우드가 나오면서 물리서버를 사지 않게 되었고 AWS기준으로 마우스 하나만으로 10분이면 서버를 띄울 수 있다... 이미 여기서 많이 기술 혁신이 일어났다고 생각했는데 이제는 서버를 설정하는 것도 귀찮은가 보다 서버리스(serverless)라는 개념이 나와버렸다.

 

실제로 서버 없이 서비스를 하는건 불가능하기 때문에 진짜 서버가 없어서 서버리스가 아니라 이런저런 설정을 개발자가 신경 쓰지 않아도 된다는 개념으로 서버리스라고 부른다고 한다.

 

https://www.serverless.com/

 

가장 유명한 프레임워크 https://www.serverless.com/

 

Serverless: Zero-Friction Serverless Apps On AWS Lambda & Beyond.

Easily build auto-scaling, low-overhead applications on AWS Lambda, API Gateway, DynamoDB, and other managed services with the Serverless Framework.

www.serverless.com

 

AWS에 람다를 배포하는데 많이들 사용하는것 같은데 이 프레임워크는 yml 형식의 코드를 작성해 두면 알아서 aws에 람다 만들고, vpc 설정해 주고 트리거 설정해 주고 이것저것 다 해주는데 이렇게 글로 써놓으면 별거 아닌 것 같지만 람다 여러 개 배포하는데 코드만 달라지고 여타 다른 설정들은 다 똑같다고 생각하면 겁나 편리한 기능이라고 볼 수 있다.

- 사람들 말로는 Spring 나왔을때 정도는 아니지만 그 정도 귀찮음 덜어주는 느낌이라고 함

 

그리고 설정이 파일형태로 떨어지니까 형상관리를 할 수 있으니 서비스를 운영할 때 상당히 이득이 많다

 


 

https://www.serverless.com/framework/docs

 

Serverless Framework Documentation

An introduction to the Serverless Framework, its philosophy, overview, and key highlights. Learn how to build serverless applications efficiently with minimal maintenance.

www.serverless.com

 

 

기본 동작 구조를 보려고 문서를 읽어보는데

AWS를 타겟으로타깃으로 만들어진 프레임워크고 서비스 중에서도 람다를 타깃으로 하는 것 같다.

 

 

동작방식은 (* https://www.serverless.com/framework/docs/providers/aws/guide/deploying) yml에 설정한 옵션을 기준으로 CloudFormation으로 필요한 인프라를 세팅하고 작성한 코드(function)를 빌드한다.

빌드된 결과는 S3 버킷에다가 저장한다 설정에 따라 docker img를 쓰거나 하는것 같은데 보통 코드를 사용하는 듯하다.

그리고 옵션에 설정한 트리거 옵션을 포함한 여러 옵션을 설정하면서 람다를 세팅하는데 코드는 아까 빌드해 둔 s3에 올려놓은 코드를 가져와서 배포한다고 한다.

https://www.serverless.com/blog/how-to-create-blog-using-components-hugo

 

 

배포도 간단한 명령어로 할 수 있으니 딱히 어렵지도 않은 것 같다. 오히려 너무 쉬워서 걱정이 든다.. 개발서버 배포하려고 했는데 멍 때리다가 운영서버에 배포할뻔한 경험이 있다. 배포도 엔간하면 겁나 빠르기 때문에 멍 때리고 있으면 취소할 틈도 없다.

 

설정법들은 이미 Reference가 많아서 참고하면 되고

https://www.serverless.com/framework/docs/providers/aws/guide/serverless.yml

코드도 node.js, Python, java, ruby 등등 엔간한 건 다 지원한다고 한다.

 

이번에 처음으로 서버리스를 접하게 되었는데 기술이 너무 빠르게 발전하는 것 같은데 AI가 나보다 코딩 더 잘하는 시대가 오는 게 얼마 안 남은 것 같다.. 

 

 

 

728x90

댓글