Server-less 기반으로대규모컴퓨팅파워환경구축하기 이정훈, Senior PM, Azure CAT
Agenda Compute 관점에서 IaaS vs. PaaS Azure App Services (Web Apps and Functions) Azure Container Services Azure Service Fabric 최종선택, 무엇이베스트인가?
IaaS vs. PaaS (Server-less) 마이그레이션옵션 신규개발옵션
클라우드 (PaaS:Compute) 에서의관리업무변화 On-premises 상의업무 OS 설치 / 구성어플리케이션설치 / 구성서버고가용성구성및모니터링서버장애모니터링서버성능모니터링 Public Cloud (Azure) 상의업무 N/A N/A N/A N/A 선택사항 (Auto-scaling) 어플리케이션고가용성 / 장애 / 성능모니터링동일업무유지 ( 추가서비스지원 ) 서버서비스장애대응 OS 업데이트 / 보안관리 Azure 지원요청 N/A
PaaS 의장점
Microsoft Azure PaaS 혜택 Forrester Total Economic Impact results 466% Return on Investment $5.91M 순현재가치 (NPV) 80% IT Time 절약 50% 더빠른시장접근 Based on five-year, risk-adjusted figures for a composite organization constructed from aggregated interviews with eight Microsoft Azure IaaS customers. Source: The Total Economic Impact Of Microsoft Azure PaaS, a commissioned study conducted by Forrester Consulting, June 2016
PaaS Players Gartner Magic Quadrant for Enterprise Application Platform as a Service, Worldwide AWS 는 apaas 시장에서평가받고있지않음 (AWS Lambda 는기업요구사항을만족하기에부족하다고판정 )
Microsoft Compute https://docs.microsoft.com/en-us/azure/
Microsoft Compute IaaS Compute PaaS Compute https://docs.microsoft.com/en-us/azure/
Agenda Compute 관점에서 IaaS vs. PaaS Azure App Services (Web Apps and Functions) Azure Container Services Azure Service Fabric 최종선택, 무엇이베스트인가?
Azure Application Platform IaaS vs. PaaS Azure App Services (Web Apps and Functions) Azure Container Services Azure Service Fabric 최종선택, 무엇이베스트인가?
Azure Application Platform IaaS vs. PaaS Azure App Services (Web Apps and Functions) Azure Container Services Azure Service Fabric 최종선택, 무엇이베스트인가?
Azure App Services - 통합오퍼링 Web App 비즈니스와함께규모가조정되는웹앱 Logic App SaaS 와온 - 프레미스를가로지르는비즈니스프로세스자동화 Mobile App 모든디바이스에대한모바일앱빌드 API App 클라우드내에서 API 를쉽게빌드하고소비 Function 개발을가속화하는 serverless 이벤트기반경험
Scale up & out Scale-up Scale-out
Azure App Services - 기능
Azure Functions
App Service Demo Web App 배포 Web App 확장 Web App 성능테스트 배포슬롯 프로덕션에서테스트 Azure Function 생성
Agenda Compute 관점에서 IaaS vs. PaaS Azure App Services (Web Apps and Functions) Azure Container Services Azure Service Fabric 최종선택, 무엇이베스트인가?
VM vs Container Virtual Machines 각 VM 은독립된형태로 Full OS 형태 Full isolation 분리된어플리케이션프레임웍 Live migration 지원 Containers Host OS 의공유즉각적인 start-up 컨테이너내의프로세스는 isolate 되어있음앱서비스와라이브러리는컨테이너에종속동일한버전의 Guest OS 는모든컨테이너가공유하여사용
Azure Container Service
Azure Container Service Azure Container Service Azure 컨테이너서비스는 Mesos(DC/OS), Swarm 및 Kubernetes 클러스터세가지오픈소스오케스트레이션중하나의배포형태를제공 Custom Deployments: ACS-Engine Azure 컨테이너서비스에서공식적으로지원하는이상의 customization 을사용자가지정하는경우는 ACS-Engine 을사용하는것을권장사용자지정에는기존가상네트워크에배포, 여러에이전트풀활용등이포함
ACS : Mesos
ACS : Swarm
ACS : Kubernetes
ACS : Demo
ACS : Demo
Agenda Compute 관점에서 IaaS vs. PaaS Azure App Services (Web Apps and Functions) Azure Container Services Azure Service Fabric 최종선택, 무엇이베스트인가?
마이크로서비스아키텍처 Photo Share Photo Share Service Photo Share Service Photo Share Service Service Thumbnail Thumbnail Service Thumbnail Service Service Photo Share Service node.js Thumbnail Service.NET Photo Share Service V1 Thumbnail Service V1 V2 Photo Share Service SharedLib-v1 Photo Share Service SharedLib-v1 Thumbnail SharedLib-v7 Thumbnail Service SharedLib-v7
개발자에게요구되는비기능요건 Resiliency Scalability Latency Lifecycle Management Portability Data Integrity 항상동일한문제해결을위해시간을쏟을것인가? 아니면비즈니스가요구하는기능구현에시간을쏟을것인가?
Azure Service Fabric scales to 1000+ machines Dev Box Azure On Premise Data centers Other Clouds
기존의전형적인서비스패턴 Scale: 스토리지파티션 Reliability: 큐사용 Front End (Stateless Web) Load Balancer Latency: 캐시사용 상태일관성 : 트랜잭션관리 Stateless Middle-tier Compute Cache 다양한외부요소들을사용해야함 Queues Storage
추가선택사항 : Stateful services Latency: 상태정보가 VM 내부에존재 Scale: 파티션의자동지원 Front End (Stateless Web) Load Balancer Reliability: SF 자체지원 State consistency: 자체트랜잭션기능지원 디자인간소화, 복잡성및오류감소 Stateful Middle-tier Compute data stores used for analytics and disaster recovery
Service Fabric Case: BMW Connected 모바일앱 수백만의사용자에게개인화된출퇴근정보제공 사용자의현재위치와도로상태에따라언제출퇴근을해야하는지모바일앱과자동차에통보 Microservices The Context API stateless service 사용자의모바일앱으로부터사용자의정보업데이트 The Driver actor stateful service 사용자개별정보는개별 Actor 상태에저장, Reminder 를통해언제출발해야할지사용자에게통보 ( 출발일정시간이전에만 Reminder 작동 ) The Location Consumer stateless service 수백만사용자의대용량위치서비스가전송되는 Event Hub 로부터위치정보를 Actor 에반영 The User Delete stateless service 사용자가탈퇴할경우, Actor 삭제로사용자정보삭제 The ETA Queue stateful service 도착예정시간을계산해주는 Commute Server 와의비동기연결을위한서비스 BMW 우리시스템에서사용자를모델링하는자연스러운방법이액터임을알게됐습니다. 서비스패브릭액터는지속성, 확장성, 복원성을기본제공하여우리가핵심기능에만집중하도록해줍니다. Dr. Gregory Athas, Principal Software Architect, BMW https://blogs.msdn.microsoft.com/azureservicefabric/2016/08/24/service-fabric-customer-profile-bmw-technology-corporation/
Service Fabric Demo 서비스패브릭배포 Reliable Dictionary 고가용성테스트
Agenda Compute 관점에서 IaaS vs. PaaS Azure App Services (Web Apps and Functions) Azure Container Services Azure Service Fabric 최종선택, 무엇이베스트인가?
Compute PaaS 의비교 비교항목 Azure IaaS Azure App Service Azure Service Fabric 베스트시나리오 기존시스템을 Azure 상으로최소의변경으로이전할때 Web 위주의비교적복잡하지않은구성의어플리케이션 Microservice 기반으로대규모확장성기반의서비스개발 Lock-in 여부 No No (Windows IIS, Linux Container) No (Windows, Linux) 비용 VM 위주의비용 VM 위주의비용 + Alpha VM 위주의비용 관리부담 높음 낮음 중간 고가용성서비스 직접구현 직접구현 기본플랫폼제공 마이크로서비스지원 없음 없음 기본플랫폼제공 인프라확장성 제공 제공 제공 어플리케이션확장성 직접구현 직접구현 기본플랫폼제공
Thank you