Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ALB+EC2
to
API Gateway + Lambda
AWSKRUG
Serverless Group
변규현
변규현
Movilest CTO
1 Legacy
Architecture
아키텍처를 어떤걸로
선택해서 올릴까요?
“
CI/CD
by
Jenkins
ELB
AutoScaling
Group
보통은 이렇게 올린다고
하네요
Legacy
Architecture
이런 식으로 올리고 어떤 부분들이
저를 힘들게 했을까요?
“
인력 관리
기초 지식초기 비용
스테이징
배포 프로세스
고려했던 점
$ 300+
그냥 개발중인데도?
Laptop
Project
Deployment
Process
Test
(Jenkins)
Github
Push
Build
(Jenkins)
Deploy
(Jenkins)
Jenkins가 힘들게 해요
왜?
“
무겁다…
Micro로는
버거워요
비싸져요
Jenkins도
관리해야
되네요
서버니까요
Blue Ocean이
있다지만
Pipeline도
그닥...
Jenkins가 힘들게 해요
source: https://chezsoi.or...
기초지식에서도
보시다시피공부할게 늘어나면서
요구되는능력은점점 많아집니다
저는 천재가아니였습니다ㅠㅠ
source: http://mblogthumb2.phinf.naver.net/20131026_41/purejin108_1...
이거 모두 할 줄 아는 분!
비지니스로직도짤 줄 알아야해요
이런 사람 언제 구할 수 있을까요
쉽진 않았어요
source: http://mblogthumb3.phinf.naver.net/20141123_94/ssook41...
Staging!
다 좋아요 그런데
개발 단계에서 하기가쉽나요
를 하고 계신
분이라면어렵지않겠지만
다시 올리려고생각만해도현기증난단
말이에요
source:
https://post-phinf.pstatic.net/MjAxNz...
제 목표는 이것들에 쏟아붓는
시간을 줄이는 것입니다!
“
2 Serverless
Architecture
Serverless Architecture 도입시
어떤 이점이 생겼을까요?
“
그전에…
가볍게 AWS Lambda의
특징 및 장점을 살펴볼까요?
“
AWS Lambda
함수 실행 시 단위 과금
서버 필요 없이 코드만배포
높은 확장성및 빠른 서비스연동
이걸 다르게 해석하면
함수 실행 시 단위 과금
개발 기간동안은거의 과금되지않는다
서버 필요 없이 코드만배포
비지니스로직에집중할수 있다
높은 확장성및 빠른 서비스연동
인프라확장에대한 고민이줄어든다
AWS Serverless ecosystem
Lambda SQS SNS
S3 DynamoDB Kinesis
더 자세히 공부하고 싶다면...
공식문서:
Serverless Architecture - 김현민:
보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 AWS SA):
3 Current
Architecture
Current
Architecture
어떤 점이 좋은지 하나하나 살펴볼까요?“
EC2 인스턴스가 없습니다.
이게 모든 장점의 시작이자
마지막이에요!
“
서버그룹관리가필요없다
어떤 변화가 발생했는지
살펴볼까요?
개발에더욱 집중
비용이줄어든다
128 MB 512 MB 1024 MB
월별 프리티어(초) 3,200,000 800,000 400,000
100 ms 당 요금(USD) 0.000000208 0.00000834 0.000001667
1,000,000 I...
개발할 때 비용이 0에 수렴하네요
스타트업에서 백만 번 이상 Request를
보내기도 힘드니까요
“
Lambda Parallel Execution
API Gateway
Lambda
Aurora
Redis
DynamoDB
AutoScaling Group에서
Scale Out되는 시간이 보통 얼마나
되나요? 5분? 10분?
저는 그런 걱정은 안해요
“
여유가 생기니 새로운 걸 하고
싶어졌네요
Go lang!
이제 Go 도 Lambda 지원!
“
AWS Lambda Go support
reference: https://aws.amazon.com/ko/about-aws/whats-new/2018/01/aws-lambda-supports-go/
모니터링은
어떻게 할까요?
API Gateway & Lambda Monitoring
을 통한
모니터링서버 가동
Grafana + Amazon CloudWatch
성장 곡선이 보이시나요?
Serverless Architecture를 도입하면
Scaling을 할 필요가 없어요!
보고 즐기시면 됩니다!
“
4 Deployment
with
CircleCI
그동안 배포하기 힘드셨죠?
배포는 신경쓸 게 많습니다.
하나라도 줄여야죠!!
“
Laptop
ProjectCir
TEST
Custom
Environment
WorkFlow
Deployment
reference: https://circleci.com/docs/2.0/
작성은 이렇게 합니다
CircleCI UI
CircleCI UI
이걸로는 부족하죠?
한 번 배포를
보여드리겠습니다!
“
5 그러나…
은총알은
없습니다
도입할 때 힘들었던 점들은
무엇이 있을까요?
“
Serverless가 힘들게 해요
로깅은어떻게하나요
처음에이해가잘 되지 않아요 서버리스가뭔가요
이건 어쩔 수 없어요 이해하셔야만합니다
디버깅이힘들어요
모든 경우에적용이되나요
디버깅은 어떻게?
로
이 가능해요
로깅은 어떻게 하나요?
에 로그가남아요
처음에는 에서 확인하세요
나중에는결국 활용 또는 에 로깅하던지
서비스를쓰는게편하지않을까요
이건 도입 이전과비슷한상황입니다ㅠㅠ
모든 경우에 적용이 되나요?
아니에요
source: http://mblogthumb1.phinf.naver.net/20161013_240/arst701_1476348691843Lh6ec_PNG/image_57638825...
이런 것만 조심하세요!
실행시간이 분이상넘어가는경우
소켓 통신의경우
해결 방법이없어요
후에 해당 에서 후처리를처리하고싶은
경우
도 고려해야합니다
Lambda에서 Background 처리
처리를하고 싶은 것에 대해서 를
생성합니다
를 하기 전에 를 하거나 를
합니다
를 하도록설정하여해당 를
실행시켜줍니다
실행시간이 5분 넘어가는 경우
분이 넘어가지않도록하기 위해선 을 나눠서실행한다
개의 이미지를한 번에 을 만든다고
가정한다면
을 만드는람다 생성
람다 를 할 람다 생성
람다 가 처리량을나눠서
하게 수십수백개의람다 를
참고
CPU 고려
에는 만 나와있습니다
하지만각 마다 적용되는 값이 달라요
이를 고려하지않는다면 을 보게 될거에요
참고자료
- https://grafana.com/
- https://serverless.com/
- https://circleci.com/
- https://aws.amazon.com/ko/cloudwatch/
- ht...
감사합니다!
Upcoming SlideShare
Loading in …5
×

ALB+EC2 to API gateway + Lambda

기본적인 웹어플리케이션 아키텍쳐인 ELB와 EC2로 이루어진 환경에서 Serverless Architecture인 API Gateway + Lambda로 전환한 사례 공유입니다.
데모 Git repository는 다음과 같습니다.
https://github.com/novemberde/serverless-webapp-demo

  • Be the first to comment

ALB+EC2 to API gateway + Lambda

  1. 1. ALB+EC2 to API Gateway + Lambda AWSKRUG Serverless Group 변규현
  2. 2. 변규현 Movilest CTO
  3. 3. 1 Legacy Architecture
  4. 4. 아키텍처를 어떤걸로 선택해서 올릴까요? “
  5. 5. CI/CD by Jenkins ELB AutoScaling Group 보통은 이렇게 올린다고 하네요
  6. 6. Legacy Architecture
  7. 7. 이런 식으로 올리고 어떤 부분들이 저를 힘들게 했을까요? “
  8. 8. 인력 관리 기초 지식초기 비용 스테이징 배포 프로세스 고려했던 점
  9. 9. $ 300+ 그냥 개발중인데도?
  10. 10. Laptop Project Deployment Process Test (Jenkins) Github Push Build (Jenkins) Deploy (Jenkins)
  11. 11. Jenkins가 힘들게 해요 왜? “
  12. 12. 무겁다… Micro로는 버거워요 비싸져요 Jenkins도 관리해야 되네요 서버니까요 Blue Ocean이 있다지만 Pipeline도 그닥... Jenkins가 힘들게 해요 source: https://chezsoi.org/lucas/blog/images/2017/02/butler-devil.png
  13. 13. 기초지식에서도 보시다시피공부할게 늘어나면서 요구되는능력은점점 많아집니다 저는 천재가아니였습니다ㅠㅠ source: http://mblogthumb2.phinf.naver.net/20131026_41/purejin108_1382771292729MSUOg_JPEG/%BD%BD%C7%C2%C2%A97.jpg?type=w2
  14. 14. 이거 모두 할 줄 아는 분! 비지니스로직도짤 줄 알아야해요 이런 사람 언제 구할 수 있을까요 쉽진 않았어요 source: http://mblogthumb3.phinf.naver.net/20141123_94/ssook410_14167201628423mKsy_PNG/%C0%FA%BF%E4_04.png?type=w2
  15. 15. Staging! 다 좋아요 그런데 개발 단계에서 하기가쉽나요 를 하고 계신 분이라면어렵지않겠지만 다시 올리려고생각만해도현기증난단 말이에요 source: https://post-phinf.pstatic.net/MjAxNzA5MTlfNjQg/MDAxNTA1ODA0MzUyMzQ2.YvuvLyg_z0oKJBJLd3-B1uMaucgkeJy77IhlQZQSgawg.Ssp0BG A5QyHkGMcKmnsx-2Twb3JXgcJn44QcplEz3ZEg.GIF/%ED%98%84%EA%B8%B0%EC%A6%9D%EC%9B%80%EC%A7%A4_%EB%B2%A0%EB%A 6%AC%EC%9E%BC_vryjam_%EC%9B%80%EC%A7%A4%EC%96%B4%ED%94%8C.gif?type=w1200
  16. 16. 제 목표는 이것들에 쏟아붓는 시간을 줄이는 것입니다! “
  17. 17. 2 Serverless Architecture
  18. 18. Serverless Architecture 도입시 어떤 이점이 생겼을까요? “
  19. 19. 그전에… 가볍게 AWS Lambda의 특징 및 장점을 살펴볼까요? “
  20. 20. AWS Lambda 함수 실행 시 단위 과금 서버 필요 없이 코드만배포 높은 확장성및 빠른 서비스연동
  21. 21. 이걸 다르게 해석하면 함수 실행 시 단위 과금 개발 기간동안은거의 과금되지않는다 서버 필요 없이 코드만배포 비지니스로직에집중할수 있다 높은 확장성및 빠른 서비스연동 인프라확장에대한 고민이줄어든다
  22. 22. AWS Serverless ecosystem Lambda SQS SNS S3 DynamoDB Kinesis
  23. 23. 더 자세히 공부하고 싶다면... 공식문서: Serverless Architecture - 김현민: 보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 AWS SA):
  24. 24. 3 Current Architecture
  25. 25. Current Architecture
  26. 26. 어떤 점이 좋은지 하나하나 살펴볼까요?“
  27. 27. EC2 인스턴스가 없습니다.
  28. 28. 이게 모든 장점의 시작이자 마지막이에요! “
  29. 29. 서버그룹관리가필요없다 어떤 변화가 발생했는지 살펴볼까요? 개발에더욱 집중 비용이줄어든다
  30. 30. 128 MB 512 MB 1024 MB 월별 프리티어(초) 3,200,000 800,000 400,000 100 ms 당 요금(USD) 0.000000208 0.00000834 0.000001667 1,000,000 Invoke 200 ms 요금(Free Tier 포함) $ 0 $ 0 $ 0 1,000,000 Invoke 200 ms 요금(Free Tier 미포함) $ 0.62 $ 1.87 $ 3.53 비용 측정 reference: https://aws.amazon.com/ko/lambda/pricing/
  31. 31. 개발할 때 비용이 0에 수렴하네요 스타트업에서 백만 번 이상 Request를 보내기도 힘드니까요 “
  32. 32. Lambda Parallel Execution API Gateway Lambda Aurora Redis DynamoDB
  33. 33. AutoScaling Group에서 Scale Out되는 시간이 보통 얼마나 되나요? 5분? 10분? 저는 그런 걱정은 안해요 “
  34. 34. 여유가 생기니 새로운 걸 하고 싶어졌네요 Go lang! 이제 Go 도 Lambda 지원! “
  35. 35. AWS Lambda Go support reference: https://aws.amazon.com/ko/about-aws/whats-new/2018/01/aws-lambda-supports-go/
  36. 36. 모니터링은 어떻게 할까요?
  37. 37. API Gateway & Lambda Monitoring 을 통한 모니터링서버 가동
  38. 38. Grafana + Amazon CloudWatch
  39. 39. 성장 곡선이 보이시나요? Serverless Architecture를 도입하면 Scaling을 할 필요가 없어요! 보고 즐기시면 됩니다! “
  40. 40. 4 Deployment with CircleCI
  41. 41. 그동안 배포하기 힘드셨죠? 배포는 신경쓸 게 많습니다. 하나라도 줄여야죠!! “
  42. 42. Laptop ProjectCir TEST Custom Environment WorkFlow Deployment reference: https://circleci.com/docs/2.0/
  43. 43. 작성은 이렇게 합니다
  44. 44. CircleCI UI
  45. 45. CircleCI UI
  46. 46. 이걸로는 부족하죠? 한 번 배포를 보여드리겠습니다! “
  47. 47. 5 그러나… 은총알은 없습니다
  48. 48. 도입할 때 힘들었던 점들은 무엇이 있을까요? “
  49. 49. Serverless가 힘들게 해요 로깅은어떻게하나요 처음에이해가잘 되지 않아요 서버리스가뭔가요 이건 어쩔 수 없어요 이해하셔야만합니다 디버깅이힘들어요 모든 경우에적용이되나요
  50. 50. 디버깅은 어떻게? 로 이 가능해요
  51. 51. 로깅은 어떻게 하나요? 에 로그가남아요 처음에는 에서 확인하세요 나중에는결국 활용 또는 에 로깅하던지 서비스를쓰는게편하지않을까요 이건 도입 이전과비슷한상황입니다ㅠㅠ
  52. 52. 모든 경우에 적용이 되나요? 아니에요 source: http://mblogthumb1.phinf.naver.net/20161013_240/arst701_1476348691843Lh6ec_PNG/image_5763882581476348645408.png?type=w800
  53. 53. 이런 것만 조심하세요! 실행시간이 분이상넘어가는경우 소켓 통신의경우 해결 방법이없어요 후에 해당 에서 후처리를처리하고싶은 경우 도 고려해야합니다
  54. 54. Lambda에서 Background 처리 처리를하고 싶은 것에 대해서 를 생성합니다 를 하기 전에 를 하거나 를 합니다 를 하도록설정하여해당 를 실행시켜줍니다
  55. 55. 실행시간이 5분 넘어가는 경우 분이 넘어가지않도록하기 위해선 을 나눠서실행한다 개의 이미지를한 번에 을 만든다고 가정한다면 을 만드는람다 생성 람다 를 할 람다 생성 람다 가 처리량을나눠서 하게 수십수백개의람다 를 참고
  56. 56. CPU 고려 에는 만 나와있습니다 하지만각 마다 적용되는 값이 달라요 이를 고려하지않는다면 을 보게 될거에요
  57. 57. 참고자료 - https://grafana.com/ - https://serverless.com/ - https://circleci.com/ - https://aws.amazon.com/ko/cloudwatch/ - https://cloudcraft.co/ - https://www.youtube.com/watch?v=Xi_WrinvTnM - https://github.com/novemberde/serverless-webapp-demo
  58. 58. 감사합니다!

×