2012 07 28_cloud_reference_architecture_openplatform

1,247 views
831 views

Published on

Cloud Computing Reference Architecture & Open Cloud Platform Architecture

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,247
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

2012 07 28_cloud_reference_architecture_openplatform

  1. 1. ‘12 한국SW아키텍트 대회클라우드 레퍼런스 아키텍처삼성SDS 정유선( jerryjung@samsung.com)
  2. 2. I. 클라우드 컴퓨팅 개요II. 클라우드 참조 아키텍처III. 오픈소스 클라우드 플랫폼IV. 맺음말
  3. 3. 1. What is cloud computing? I. 클라우드 컴퓨팅 개요 -3-
  4. 4. 2. Cloud Computing I. 클라우드 컴퓨팅 개요 [NIST*]Technology Centric definition Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. (*National Institute of Standards and Technology) -4-
  5. 5. 3. 비즈니스 요구사항 I. 클라우드 컴퓨팅 개요Cloud ProviderTCO, ROI(Density)Business value Agility CostCloud ConsumerAgilityCost Control -5-
  6. 6. 4. Scope of Control I. 클라우드 컴퓨팅 개요 [NIST]클라우드 서비스 모델 별로 Control해야 하는 layer는 다음과 같다. -6-
  7. 7. 5. Cloud Service Models I. 클라우드 컴퓨팅 개요 Application Application APIs Data/Info. Data/Content/Metadata Integration OS Management and middleware Networking APIs Connectivity & Delivery Trusted Virtualization Computing Hardware Compute and IaaS Storage PaaS SaaS -7-
  8. 8. 6. Available Service on Cloud I. 클라우드 컴퓨팅 개요 [NIST] Cloud Consumer 관점에서의 클라우드 서비스 모델 별로 가능한 서비 스는 다음과 같다. -8-
  9. 9. I. 클라우드 컴퓨팅 개요II. 클라우드 참조 아키텍처III. 오픈소스 클라우드 플랫폼IV. 맺음말
  10. 10. 1. 클라우드 참조 아키텍처 II. 클라우드 참조 아키텍처 [NIST] Cloud Provider – Service Orchestration - 10 -
  11. 11. 1. 클라우드 참조 아키텍처 II. 클라우드 참조 아키텍처 [NIST] Cloud Computing Reference Architecture- 클라우드 컴퓨팅에서의 Actor와 행위 및 기능을 식별함 - 11 -
  12. 12. 1. 클라우드 참조 아키텍처 II. 클라우드 참조 아키텍처 [NIST] Actor 의 정의 - 12 -
  13. 13. 1. 클라우드 참조 아키텍처 II. 클라우드 참조 아키텍처 [NIST] Cloud Consumer/Provider Activity - 13 -
  14. 14. I. 클라우드 컴퓨팅 개요II. 클라우드 참조 아키텍처III. 오픈소스 클라우드 플랫폼IV. 맺음말
  15. 15. 1. 클라우드 플랫폼 비교 III. 오픈 소스 클라우드 플랫폼 Model OpenStack CloudFoundryService Model IaaS PaaSvirtualization KVM,XEN,OS Application ContainerService Offering Nova(Compute) Container Swift(Storage) Message(rabbitMQ) Glance(Image) DB(MongoDB,mysql) Memory(redis)Messaging bus RabbitMQ NATSOSS license Apache ApacheUI Command-line Command-line(vmc) Dashboard STSWebAPI Yes(REST) No(possible)Language Python Ruby - 15 -
  16. 16. 2. Architecture Pattern III. 오픈 소스 클라우드 플랫폼 Event-Driven Asynchronous Independent Shared-nothing Message passing Eventually Consistent - 16 -
  17. 17. 3. Open IaaS - Openstack III. 오픈 소스 클라우드 플랫폼 Cloud Operating System It provides that provision and manage large networks of virtual machines, creating a redundant and scalable cloud computing platform. - 17 -
  18. 18. 3. Open IaaS - Openstack III. 오픈 소스 클라우드 플랫폼 Nova Architecture Meta DB Volume Worker Storage (iSCSI) Dashboard Network Worker OpenStack API Message Queue Identity Middleware API Server (KEYSTONE) local method Compute Worker Hypervisor EC2 API rest call Scheduler rest call Image rest call Image Store Service (Swift/Local) (GLANCE) - 18 -
  19. 19. 3. Open IaaS - Openstack III. 오픈 소스 클라우드 플랫폼 VM provisioning process Hypervisor/libvert Client 5 VM spawning 1 Create VM requestresponse to client Scheduler Compute API Server 4 create_vm() 3 run_instance() 2 create_instance() meta DB Network 6 allocate_fixed_ip() return message API Server Volume volume attach/detach - 19 -
  20. 20. 3. Open IaaS - Openstack III. 오픈 소스 클라우드 플랫폼 VM Instance Creation(1) Authentication is performed to make sure this user has the required permissions. Thecloud controller sends the message to the scheduler(2) The scheduler casts the message to a random host and asks him to start a new instance(3) The compute worker on the host grabs the message(4) The compute worker needs a fixed IP to launch a new instance so it sends a message tothe network controller(5,6,7,8) The compute worker continues with spawning a new instance. Scheduler 2 3 1 6 API Cloud Controller Network Controller User 7 8 5 Compute Worker 4 - 20 -
  21. 21. 3. Open IaaS - Openstack III. 오픈 소스 클라우드 플랫폼 Messaging Interface This type of message delivery in OpenStack is defined as RPC casting. RabbitMQ is used here for delivery. The publisher (API) sends the message to a topic exchange (scheduler topic). A consumer (Scheduler worker) retrieves the message from the queue. No response is expected as it is a cast and not a call. API Topic Exchange Scheduler Queue Scheduler - 21 -
  22. 22. 3. Open IaaS - Openstack III. 오픈 소스 클라우드 플랫폼 Object Storage (swift) provides redundant, scalable object storage using clusters of standardized servers capable of storing petabytes of data. client client Account 1 request L4 Containers 3 Routes the Auth requests 4 put/get Storage node Proxy Server 2 lookup Rings Updaters Auditors Replicator Objects - 22 -
  23. 23. 4. Open PaaS - CloudFoundry III. 오픈 소스 플랫폼 Lean development 의 7가지 원칙 Eliminate waste Amplify learning Decide as late as possible Deliver as fast as possible Empower the team Build integrity in See the whole - 23 -
  24. 24. 4. Open PaaS - CloudFoundry III. 오픈 소스 플랫폼 Deploy and scale applications in seconds, without locking yourself Simple, Open, Flexible, Scalable - 24 -
  25. 25. I. 클라우드 컴퓨팅 개요II. 클라우드 참조 아키텍처III. 오픈소스 클라우드 플랫폼IV. 맺음말
  26. 26. 4. Open PaaS - CloudFoundry III. 오픈 소스 플랫폼 Cloud Foundry Architecture Message Bus (NATS) App Load Balancers DEAs Routers DB Cloud Controller Web Service API VMC Services Client Health Manager - 26 -
  27. 27. 4. Open PaaS - CloudFoundry III. 오픈 소스 플랫폼 전통 적인 방식의 deploy and request/response Web Web App App DB DB - 27 -
  28. 28. 4. Open PaaS - CloudFoundry III. 오픈 소스 플랫폼 Cloud Foundry에서의 App deploy Web Web App “vmc push MyApp” App DB DB Scale? “vmc instances MyApp5” Upgrade ? “vmc map MyApp Myapp2” Update? “vmc update MyApp” - 28 -
  29. 29. 4. Open PaaS - CloudFoundry III. 오픈 소스 플랫폼 App Deployment flow Find DEA for appvmc push Create app available VMC Cloud Controller DEA start DEA Application Framework Deploy detection Framework droplet specific staging plugin Update routes Creates Droplet Router Router - 29 -
  30. 30. 4. Open PaaS - CloudFoundry III. 오픈 소스 플랫폼 Request Handling flow HTTP HTTP HTTP request request request Load Balancer Router Application VMC VMC VMC - 30 -
  31. 31. 4. Open PaaS - CloudFoundry III. 오픈 소스 플랫폼 Service Provisioning process - 31 -
  32. 32. 3. DEMO III. 오픈 소스 클라우드 플랫폼 DEMO - 32 -
  33. 33. 4. BOSH III. 오픈 소스 클라우드 플랫폼 Bosh is Open source tool-chain for release engineering, deployment, and lifecycle management of large scale distributed services. - 33 -
  34. 34. 4. BOSH III. 오픈 소스 클라우드 플랫폼 Bosh Architecture bosh cli director healthmon cloudfoundry.com db redis natsBOSHUser workers blobs active jobs agent IaaS CPI stemcell disk - 34 -
  35. 35. 4. BOSH III. 오픈 소스 클라우드 플랫폼 - BOSH Director is the core orchestrating component in BOSH which controls creation of VMs, deployment, and other life cycle events of software and services. Command and control is handed over to the the Director-Agent interaction after the CPI has created resources. - BOSH Agents listen for instructions from the BOSH Director. Every VM contains an Agent. Through the Director-Agent interaction, VMs are given Jobs, or roles, within Cloud Foundry. - Stemcell is a VM template with an em bedded BOSH Agent The Stemcell used for Cloud Foundry is a standard Ubuntu distribution. - 35 -
  36. 36. I. 클라우드 컴퓨팅 개요II. 클라우드 참조 아키텍처III. 오픈소스 클라우드 플랫폼IV. 맺음말
  37. 37. 1. 오픈소스 클라우드 플랫폼의 활용 III. 맺음말 사내 private cloud 구축 Cloud 환경에 대한 이해 IaaS 또는 PaaS 구축 오픈소스 기술 지원 Trouble Shooting or Challenge - 37 -
  38. 38. 2. Cloud Migration III. 맺음말 Physical 환경의 일반적인 N-tier architecture Web Server Web Server Web Server App Server App Server messaging Database Database - 38 -
  39. 39. 2. Cloud Migration III. 맺음말 클라우드 환경에서는 memory tier를 분리하여 session replication 및 object caching을 통해 부하를 분산시키며 목적에 맞게 db를 선택함 Web Server Web Server Web Server Session Sessio n Node1 NodeN App Server App Server Messaging AMQP Data grid Node1 Node2 NodeN Database Database NoSQL RDBMS - 39 -
  40. 40. 3. 제언 III. 맺음말 Start small Big picture!!! - 40 -
  41. 41. 3. Reference III. 맺음말 http://www.nist.gov/manuscript-publication- search.cfm?pub_id=909505 Distributed and Cloud Computing Kai Hwang. Geoffrey C. Fox. Jack J.Dongarra CloudFoundry[Inside the machine] Derek collison http://www.openstack.org - 41 -
  42. 42. 감사합니다 - 42 -

×