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.

IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편

2,773 views

Published on

IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편

Published in: Internet
  • Be the first to comment

IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편

  1. 1. IT 이노베이션 센터 이야기 AWS Lambda를 활용한 개발 스폰서십 확보편
  2. 2. 부탁 말씀을 드립니다.^^ 문서내에는 초보자도 쉽게 공감 할 수 있게 간단한 의미의 용 어를 사용하였습니다. 하루하루를 IT라는 정글속에서 전쟁을 치르며 살아간다는 느 낌으로 RollingStones의 Paint it black 들으며 보시는 것을 추천드립니다. https://youtu.be/InRDF_0lfHk
  3. 3. 이 이야기는 고객 니즈(Needs) 변화에 대해 쉽고 빠르게 확인하고 스폰서십을 확보하여 다시 지속적인 개발을 해야하는 환경에서의 임무수행에 대한 고민에서 시작됩니다.
 
 그럼 시작해 볼까요~!
  4. 4. 우리가 부여받은 대부분의 IT임무는 입력값을 받아서 이를 처리하고 결과값을 제시하는 것입니다. 쉽게 말해서 함수[f(x)]를 만드는 것입니다.
  5. 5. 함수를 만들었다고 끝나는 것은 아닙니다. 이 함수를 실행할 수 있는 환경이 필요한데 이를 시스템 [System]이라 얘기해 봅니다.
  6. 6. 웹페이지의 주소를 입력받아 가공하고
 이를 이미지 파일들로 변환하는 임무를 가정해보겠습니다.
 
 대용량 분산처리를 위한 스케일아웃(Scale out)이 가능한 시 스템 구성은 필수입니다.
  7. 7. 이와 관련 하여 함수를 작성하고 이를 실행하기 위한 시스템 을 구성하면 이번 IT임무는 완료할 수 있습니다. 자~ 그럼 저희는 어떻게 해서 이번 IT임무를 완료하려고 하는 지 시스템 구성에 대한 얘기부터 해 보겠습니다.
  8. 8. 시스템 구성은 전통적인 방식과 클라우드 방식으로 선택 할 수 있습니다. 먼저 다음장 내용에 대한 공감을 부탁드립니다.^^
  9. 9. 집 = 집터 + 구조물 시스템 = 인프라 영역 + 애플리케이션 영역 집을 지을 때는 집터에 구조물을 올리듯이 시스템을 구성하려면 인프라 영역과 애플리케이션 영역이 필 요합니다.
  10. 10. 인프라 영역 = 서버 + 네트워크 + 방화벽... 애플리케이션 영역 = 애플리케이션 플랫폼 + 비지니스 로직... 다시 인프라 영역을 구성하는데는 서버, 네트워크, 방화벽 등 이 필요하고 애플리케이션 영역을 구성하는데는 애플리케이 션 플랫폼과 비지니스 로직 등이 필요합니다.
  11. 11. 먼저 전통적인 방식으로 시스템을 구성하는 이야기를 해 보겠습니다.
  12. 12. 앞 단에 메세지 큐를 두어 입력 요청을 관리하고 노드 (Node.js)기반으로 웹페이지를 가공하여 이미지 파일들을 생 성하고 이를 CDN Origin서버와 DB에 저장하는 구성을 하였 습니다. 노드 서버를 추가하여 스케일아웃을 할 수는 있지만 인프라 리소스의 정적인 관리 한계를 극복해야 해야 합니다. corporate data center CDN Origin DB Node.js
 Servers RabbitMQ 서버 네트워크 방화벽 애플리케이션 플랫폼 비지니스 로직
  13. 13. 그리고 서버, 네트워크, 방화벽, 애플리케이션 플랫폼, 비지 니스 로직 등 5가지 항목을 준비해야 합니다. 인프라 영역의 리소스가 부족할 때는 신규 요청으로 확보하 는 내부 프로세스도 진행해야 되어 시간이 더 필요할 수도 있 습니다.
  14. 14. 다음은 클라우드 방식으로 시스템을 구성하는 것을 이야기 해 보겠습니다.
  15. 15. Amazon
 DynamoDB Node.js
 Instances AWS cloud Amazon S3 
 bucket Auto Scaling RabbitMQ EC2로 메세지큐와 노드 서버 인스턴스를 추가하고 RabbitMQ 와 Node.js를 설치합니다. 기존의 CDN Origin 서버는 S3 버킷으로 DB 서버는 DynamoDB로 대체하였습니다.
 
 클라우드 환경에서는 스케일아웃이 기본입니다. 서버 네트워크 방화벽 애플리케이션 플랫폼 비지니스 로직
  16. 16. 전통적인 방식이 5가지 항목을 준비해야 한다면 클라우드 방 식은 AWS로 인프라 영역에 대한 설정이 가능하기 때문에 애 플리케이션 플랫폼, 비지니스 로직 등 2가지 항목을 보다 짧 은 시간에 준비 할 수 있습니다. 여기까지가 클라우드를 사용하는 일반적인 이야기 입니다.
  17. 17. 저희는 더 짧은 시간에 준비할 수 있는 방법에 대해서도 접근 하였습니다. 그것은 바로 AWS 람다(Lambda) 함수를 사용하는 것입니다
  18. 18. Amazon API Gateway Amazon
 SQS AWS cloud AWS Lambda Amazon
 DynamoDB Amazon S3 
 bucket 모든 서비스를 AWS 서비스로 구성하고 람다(Lambda) 함수 에서 호출 될 비지니스 로직 1가지만을 준비하여 보다 짧은 시간에 보여 줄 수가 있었습니다. * 서울 리전에서는 아직 람다를 지원하지 않기 때문에 도쿄 리전에서 적용하였습니다. 차후에 서울 리전에서 가능하면 이전할 계획입니다. 서버 네트워크 방화벽 애플리케이션 플랫폼 비지니스 로직
  19. 19. AWS cloud AWS Lambda Amazon
 DynamoDB Amazon S3 
 bucket 람다함수는 Java, Node.js, Python 플랫폼을 지원하며 요청- 응답으로 호출할 수 있는 것은 APIGateway이고 나머지는 이벤트로 호출됩니다. 코드를 업데이트 할 때 서버를 내리지 않아도 됩니다. Amazon Kinesis Amazon
 SNS Amazon SES Amazon
 Cognito Amazon CloudWatch AWS
 CloudFormation AWS
 Config Amazon API Gateway PythonNode.jsJava On-Demand Invocation Automatic Invocation Execution Environment
  20. 20. Amazon API Gateway Amazon
 SQS AWS cloud AWS Lambda Amazon
 DynamoDB Amazon S3 
 bucket SQS로는 람다 함수를 호출 할 수 없어 APIGateway와 SQS 로 비동기 처리 적용하였습니다. APIGateway만으로도 비동기 처리를 적용할 수 있지만 이미 http기반의 poller가 SQS에서 구현된 관계로 쉽게 사용하기 위해 SQS를 적용하였습니다. 서버 네트워크 방화벽 애플리케이션 플랫폼 비지니스 로직
  21. 21. AWS Lambda 람다 함수는 앞서 얘기한 것과 같이 입력값을 받아 처리하고 출력값을 보여주는 상태비저장의 함수로 구현해야 합니다. 상태비저장이기 때문에 일회성으로 사용할 수 있고 람다 인 스턴스를 언제든지 폐기할 수 있습니다. = ->
  22. 22. 전체 함수의 요청 수와 코드가 실행한 시간에 대해 요금이 부 과됩니다. 프리티어는 월 백만의 무료과 월별 400,000GB-초 컴퓨팅 시간이 포함됩니다. FAQ : https://aws.amazon.com/ko/lambda/faqs/ 매월 첫 요청1백만회까지 무료
  23. 23. 지금까지 얘기한 내용을 정리해보면 IT임무를 수행하기 위해 서는 함수와 시스템을 만들어야합니다. 그리고 람다를 사용하여 서버없이도 구성 할 수 있기에 이전 에 해 왔던 방식보다 쉽고 빠르게 고객에게 보여줄 수 있습니 다. 서버없이도 구성하였기에 NoOps라고 얘기할 수 있습니다. 하지만 모든 것을 NoOps로 할 수 있다고 얘기하고 싶지는 않습니다.
  24. 24. 저희의 운영전략은 1. 초기에는 람다를 활용하여 운영 2. 컨테이너 기반의 EC2 클라우드 방식으로 전환 할 수 있는 준비(클라우드 락인 제거) 3. 오픈스택을 사용하여 레거시 인프라 관리 효율이 높아지 면 하이브리드 방식으로 운영 하는 것입니다.
  25. 25. 중요한 것은 상황과 비용에 따라 선택적으로 운영을 한다는 전략입니다. 이를 위한 다수의 선택지를 준비하는 것이 목표입니다.
  26. 26. 끝까지 읽어주셔서 감사합니다.^^ 서문래[Tech@Mullae] 프로젝트

×