530 likes | 1.2k Views
Windows Azure 소개. 마이크로소프트 Azure TSP 신현석 대리 (hyssh@microsoft.com). Microsoft Public Cloud. Windows Azure. 계산 서비스. 데이터 서비스. 앱 서비스. 네트워크 서비스. 가상 컴퓨터 클라우드 서비스 웹 사이트 모바일 서비스. 데이터 관리 HDInsight 비즈니스 분석 백업 캐시. 미디어 서비스 메시징 알림 허브 BizTalk 서비스 Active Directory 다단계 인증. 가상 네트워크
E N D
Windows Azure 소개 마이크로소프트 Azure TSP 신현석대리 (hyssh@microsoft.com)
Microsoft Public Cloud Windows Azure 계산 서비스 데이터 서비스 앱 서비스 네트워크 서비스 가상 컴퓨터 클라우드 서비스 웹 사이트 모바일 서비스 데이터 관리 HDInsight 비즈니스 분석 백업 캐시 미디어서비스 메시징 알림 허브 BizTalk 서비스 Active Directory 다단계인증 가상 네트워크 Traffic Manager
Microsoft Public Cloud Data Center Asia-Pacific Europe Americas Region China China Sub-Region West US Sub-Region East US Sub-Region West Europe Sub-Region North Europe Sub-Region East Asia Sub-Region N. Central US Sub-Region S. Central US Sub-Region Southeast Asia CDN Node Major Data Center Data center
Microsoft Public Cloud Asia-Pacific Europe Americas Region CDN Node Major Data Center Data center
가상 컴퓨터 Windows Server 와 Linux 유연한 작업량 지원 가상 사설망(Virtual Private Networking)
가상컴퓨터 (Virtual Machines) Multiple ways to get started… Variety of images to select… Persisted in Storage… Boot VM from New Disk Management Portal >_ Blob Storage Scripting (Windows, Linux and Mac) Cloud REST API
Windows Azure 가상 컴퓨터 (Virtual Machines) Windows Azure 포털을 통해 쉽게 신규 가상 컴퓨터 생성 신속한 가상 컴퓨터 생성 환경 제공 1. OS 선택 2. 시스템 계정 및 VM 사이즈 설정 3. DNS 이름 및 데이터 센터 선택 4. 가용 집합 구성 (생성 완료)
Microsoft Public Cloud Virtual Machines Infrastructure as a Service - Compute Windows Server 2012 R2 Windows Server 2012 Windows Server 2008 R2 • OpenSUSE 12.1 • CentOS6.2 • Ubuntu 12.04 • SUSE Linux Enterprise Server 11 SP2 • Oracle 6.4.0.0 64 bit Windows Linux
Windows Azure 가상 컴퓨터 (Virtual Machines) 디스크(Disk)를 이용한 Hyper-V 이미지 이관(migration) 방안 On-Premises 가상 컴퓨터 컴퓨터 이름: APPSRV1 메모리: 8 GB 코어: 4 포트: 80/443 (http/https) 클라우드 가상 컴퓨터 DNS: myapp1.cloudapp.net On-premise 에서 Cloud로 이관 이관과정 1) VHDs 업로드 2) VM 생성 OS 디스크 = APP-OS.vhd 3) 데이터 디스크 설정 Data Disk 1 = APP-Data.vhd Data Disk 2= App-Logs.vhd 4) 디스크 볼륨 문자열에 따른 설정 변경 5) 서비스 관련 포트 개방 80, TCP, http 443, TCP, https Azure 가상 컴퓨터 컴퓨터 이름: appsrv1 • 메모리: 7 GB 코어: 4 TCP 엔드포인트 80와 443 등록 Guest: C:\ Host: C:\VMs\APP-OS.vhd Windows Azure Storage Guest: C:\ WAStorage\VMs\APP-OS.vhd Guest: D:\ Host: D:\VMs\APP-Data.vhd Guest: E:\ WAStorage\VMs\APP-Data.vhd Guest: E:\ Host: E:\VMs\APP-Logs.vhd Guest: F:\ WAStorageVMs\APP-Logs.vhd
Windows Azure 가상 컴퓨터 (Virtual Machines) 고가용성 확보 방안 • 가용집합 (Availability Set) 구성 • 사용자가 서비스 중인 가상컴퓨터의 고 가용성 설정 • 사용자의 응용프로그램을 다수의 가상 컴퓨터에서 운영하여 서비스의 가용성을 네트워크 장애, 디스크 하드웨어 장애 또는 서비스 다운 타임에 대해 고 가용성 확보 • 가용 집합을 구성하여 Fault Domain과 Update Domain의 장애 최소화 • Fault Domain • 네트워크 스위치 또는 렉(Rack)의 전원 손실로 인한 Single Point ofFailure를 방지가 가능하여, 렉 수준의 이중화 구성이 가능합니다. • 다중의 가상 컴퓨터를 사용하여 Fault Domain을 구성하면 물리적으로 떨어진 서로 다른 렉에 가상 컴퓨터를 구성할 수 있습니다. • Update Domain • 응용프로그램 또는 서비스를 호스트하는인스턴스의 업데이트로 인해 발생할 수 있는 장애에 대한 방지책을 제공합니다. • 다중의 가상 컴퓨터를 논리적으로 구분하여 모든 가상 컴퓨터가 동시에 업데이트되어 재부팅되지 않도록 방지합니다. • 가용 집합 (Availability Set)과 함께 Load Balancer를 구성하여 가용성 향상 [ 가상 컴퓨터 가용 집합 구성 ]
Windows Azure 가상 컴퓨터 (Virtual Machines) 서비스 부하 증감에 대한 대응 방안 • 가상 컴퓨터 사이즈 조절 (Scale-Up) • 명시적으로 가상 컴퓨터의 사이즈 변경 가능 • 가상 컴퓨터의 설정 메뉴 중 ‘가상 컴퓨터 사이즈 (Virtual Machine Size)’ 에서 사이즈 변경이 가능합니다. • 설정을 변경하고 적용 (Save)를 하게되면 즉각적으로 사이즈 변경이 시작됩니다. • 사이즈 변경을 위해 가상 컴퓨터는 일시적으로 서비스가 중단됩니다. • 서비스 중단에 대비하여 가용 그룹과 LB 적용을 통해 서비스 중단을 최소화 할 수 있습니다. • 가상 컴퓨터 사이즈 변경은 상향/하향 모두 가능 • 가상 컴퓨터 AUTOSCALE • 가상 컴퓨터의 인스턴스 수를 자동으로 확대/축소 할 수 있는 기능 제공 • Web Site, Cloud Service 그리고 가상 컴퓨터에 대해 지원하는 기능입니다. • AUTOSCALE 기준 • CPU 사용률 또는 Queue의 길이를 기준으로 인스턴스 수를 자동 조절합니다. • 적용 방법 • Hosted Service에 가용 집합 (Availability Set) 을 구성하여 가상 컴퓨터 인스턴스를 구성합니다. • AUTOSCALE 기준을 설정하면 기준에 따라 인스턴스 수가 자동으로 확대/축소 됩니다. [ 가상 컴퓨터 사이즈 변경 ] [ AUTOSCALE]
Windows Azure 가상 컴퓨터 (Virtual Machines) 서비스 수평 확장 방안 • LB (Load Balancer)를통한 부하 분산과 장애 극복 • Azure의 LB를 활용하여 서비스의 성능 향상과 고 가용성 제공 • 부하 분산 • Round Robin 방식으로 서비스의 요청을 여러 가상 컴퓨터에 분산하여 서비스 요청을 처리합니다. • 각 가상 컴퓨터의 끝점 (End Point)를추가하여 여러대의 가상 컴퓨터가 동일한 서비스 요청을 받아 처리 합니다. • 새로운 가상 컴퓨터를 생성하여 추가로 부하를 분산 시킬 수 있습니다. • 고 가용성 • 장애로 가상 컴퓨터 중 한 대가 중단 되더라도 전체 서비스와 서비스 요청의 처리는 다른 가상 컴퓨터 수용되어 처리 됩니다. • 장애가 발생한 가상 컴퓨터가 자동으로 복구되면 다시 자동으로 LB가 인식해서 복구된 가상 컴퓨터를 사용할 수 있게 됩니다. Internet 요청 Azure Port80 공용 VIP(가상 IP) 주소 168.63.212.227 LB Port80 Port80 Port80 100.80.38.3 100.80.8.16 10.62.252.47 VM 01 VM 02 VM 03 [ LB 구성의 예 ]
클라우드 서비스 무한하게 확장 가능한 앱과 서비스를 개발 다양한 멀티 계층 구조 지원 자동화된 애플리케이션 관리
클라우드서비스 A highly scalable Web service for private and public clouds optimized for cloud hosting economics and integrated with the worlds best applications, frameworks and tools. Flexible Open Solid Easyto get started with Visual Studio tools Easy to scale your services Automated application management with PowerShell Supports multiple frameworks (ASP.NET, Classic ASP, PHP, Node.js) Choose your tools (Visual Studio, Git, FTP) Scale out for greater availability or scale up for improved performance using our global cloud platform Support rich multi-tier architectures Build infinitely scalable apps and services
Worker Role Queue Polling Worker Poll and Pop Messages within while(true) loop E.g. Map/Reduce pattern, background image processing Listening Worker Role Create TcpListener or WCF Service Host E.g. Run a .NET SMTP server or WCF Service External Process Worker Role OnStart or Run method executes Process.Start() Startup Task installs or executes background/foreground process Custom Role Entry Point (executable or .Net assembly) E.g. Run a database server, web server, distributed cache
Web Role All features of a worker role + IIS 7 or 7.5 ASP.NET 3.5 SP1 or 4.0 – 64bit Hosts Webforms or MVC FastCGI applications (e.g. PHP) Multiple Websites Http(s) Web/Worker Hybrid Can optionally implement RoleEntryPoint
Microsoft Public Cloud Cloud Services & VMs Hybrid Cloud Windows Azure Cloud Services Windows Azure Virtual Machine 기존응용프로그램 마이그레이션 개발 및 테스트 Disaster Recovery를 위한 VM 백업 하이브리드 하이브리드 compute data management networking VMs websites cloud services connect virtual network blob SQL database noSQL database traffic manager 신규 클라우드 응용프로그램 개발 Extended Enterprise Cloud Bursting Connect new cloud app to on-premises assets High Availability KEY SCENARIOS
SQL Server and Azure SQL Database 다양한 업무 시나리오를 지원할 수 있는 다양한 옵션 제공 Public Cloud SQL Server in a Windows Azure Virtual Machine Windows Azure SQL Database (Formerly SQL Azure Database) Delivery Options Move Existing Tier 2 & 3 Apps Develop & Test Backup Database to the Cloud Extend On-Prem Apps to Windows Azure VM Extend On-Prem Apps to Windows Azure SQL Database Develop New Cloud-Designed Apps KEY SCENARIOS Use both SQL Server in Windows Azure VM and Windows Azure SQL Database in a single app.
Microsoft Hybrid Cloud Hybrid computing is an integrated infrastructure whose unique assets, although separated by well-defined boundaries, are connected via a standardized or proprietary technology to broker data and application interoperability in order to optimize computing resources, increase shareholder values, and reduce risks.1
Public Cloud로 가는 중간 여정 • Hybrid On-premise 와 Public Cloud 를 적절히 활용 Traditional NON-VIRTUALIZED Private CLOUD Public CLOUD (Inside Firewall) (Outside Firewall) 선택 배경 Rapid Development Compliance Compliance Economies of Scale Complex, Legacy Applications Economics Scalability • Microsoft Cloud • Service Provider • On-Premises • Service Provider 위치 • On-Premises
Microsoft Public Cloud Networking을 통한 Hybrid Cloud 구성시 고려 가능한 방안들 Platform as a Service – Networking ENTERPRISE CLOUD • Data Synchronization • SQL Azure Data Sync • Application-layer • Connectivity & Messaging • Service Bus • Secure Machine-to-Machine Network ConnectivityWindows Azure Connect • Secure Site-to-Site • Network ConnectivityWindows Azure Virtual Network • IP-level connectivity
Hybrid Cloud On-premise와 Public Cloud의 연동 • 배경/과제: • 소규모 IT인력으로 신규서비스 지원 필요성 증가 • 공항에 서비스 데스크(장소, 데스크, 단말, 네트워크 등) 비용 절감 이슈 • 서비스 데스크 확보의어려움 • 실제 프로젝트 진행에 있어얼마나 안전하게 고객과 항공 데이터를 활용할 수 있는지 고민 • 클라우드 채용 메리트: • IT인프라를 운용하는 자사의 IT스탭의 비율(1%)을 바꾸는 일 없이, 코스트 절감과 고객 서비스 향상을 실현 • 현장 스탭이모바일 단말로부터 탑승객의 속성 정보를 호출할 수 있기 위해, 렌트카준비등의Up-Sell 이 가능하게 됨 • Azure 채용 메리트: • AppFabric Service Bus 를 이용해, 유럽중의 공항에서, 모바일 단말로부터 사내 어플리케이션에 시큐어에 접속을 가능 • AppFabric Cache 를 이용한 고속의 데이터 액세스에 의해, 고객의 대기 시간 요건을 실현 On-premise Boarding Payment Sales Checkin CRM On-premise의 파이어 월을 기준 아웃바운드 접속으로 통신
Windows Azure 관리 및 모니터링 다양한관리 방안 제공 • Web browser 기반의 Windows Azure Management 포털 • Script 기반의 PowerShell 클라우드 자원 관리 (Resources Managements) • 일반 사용자를 위한 직관적인 인터페이스와 다국어 (한글, 영어, 중국어, 일본어, 등 11개 언어) 를 지원 합니다. • 전체 메뉴에서 세부적인 서비스 별 메뉴까지 터치 또는 마우스 클릭으로 관리 할 수 있는 환경을 제공합니다. • HTML 5 기반으로 PC 뿐만 아니라 Mobile 및 Device에서 서비스 관리 및 모니터링이 가능합니다. • 기본 적인 신규 서비스 생성과 삭제 뿐만 아니라, 서비스와 관련된 데이터, BLOB 등 세부적인 내용 확인이 가능합니다. • 전문가를 위한 Script 기반의 관리 환경을 제공합니다. • PowerShell을 통해서 모든 Azure의 서버스 구성이 가능합니다. • 서비스 생성과 삭제뿐만 아니라 한 번에 여러 가상 컴퓨터나 관련 서비스를 주기적으로 실행할 때 용이합니다. • 자주 사용하는 명령에 대해서는 사전에 Script를 생성해 두고 사용 할 수 있는 높은 재사용성을 제공합니다.
Windows Azure 관리 및 모니터링 클라우드 자원 관리 방안 • Windows Azure Management Portal에서 시스템 모니터링 • 가상 컴퓨터 생성 및 삭제 등 GUI 환경에서 클라우드 자원을 쉽고 신속하게 관리할 수 있도록 함 • HTML5 기반으로 다양한 Web Browser와 호환성 제공, Desktop, Mobile 또는 Tablet 등 다양한 환경에서 서비스를 관리할 수 있음 • 가상컴퓨터 자원 관리 • 서버생성 후 재시작, 종료에 대한 명령을 수행 할 수 있습니다. • 새로운 Volume Disk 또는 기존 Disk 를추가/삭제 할 수 있습니다. • Capture를 이용하면 Azure 상에 syspre된 가상 컴퓨터를 이미지 (Image)로 등록하여 사용할 수 있습니다. 동일한 가상 컴퓨터를 여러대 생성할 때 사용합니다. • 가상컴퓨터 보안 관리 • 인터넷을 통해서 가상컴퓨터에 접속하기 위한 방화벽 정책을 관리 합니다. White list 를 작성하며 최대 25개의 port를 공개 할 수 있습니다. (보안 참고) [ Azure 포털 상의 가상 컴퓨터 관리메뉴 ]
Windows Azure 관리 및 모니터링 클라우드 서비스 모니터링 방안 제공 • Azure 포털에서 가상컴퓨터 자원 사용률 모니터링 • 기본적인 CPU, Network 그리고 Disk 사용률 정보 제공 • 1시간, 24시간 그리고 7일 단위 모니터링 도구 제공 [ Azure 포털의 가상 컴퓨터 모니터 ]
Windows Azure 관리 및 모니터링 클라우드 서비스 감독 방안 제공 • Azure 포털에서서비스를 구독하는 구독자별 Cloud Service와 Blob 에 대한 사용 기록 제공 • 서비스생성, 수정 그리고 삭제에 대한 모든 행위를 자동으로 기록하여 제공 • 최대 지난 7일 간의 로그를 날짜별 검색 가능 [ Azure 사용 로그 ]
Microsoft Public Cloud SQL Database Platform as a Service – Data Management • (Windows Azure) SQL Database로 관계형 데이터베이스를 Cloud 상에서 관리 • SQL Server 엔진 기반의 클라우드 RDBMS 서비스 • TDS 프로토콜 지원 • SSL 지원 • SSDT (SQL Server Data Tool)와 같은 데이터베이스 개발 도구 활용 가능 • 물리적인 데이터베이스 설계에 대한 고민이 필요 없음 • 전 세계 마이크로소프트 클라우드 데이터센터 기반 고 가용성 제공 • 기본 데이터 외 3개의 복제 데이터베이스가 자동 운영됨 • 웹 또는 SSMS (SQLServer Management Studio)로 관리 • 고 가용성에 대한 고민이 필요 없음 • Internet Scale의 성능 • 요청에 따라 탄력성 있는 Scale-Out 제공 • Federation 기능으로 150GB 이상의 데이터 수용 가능 • Federation으로 대량의 트랜잭션 분산 처리 가능 • 한 데이터베이스 별 최대 150GB 제공 compute data management networking VMs websites cloud services connect virtual network blob SQL database noSQL database traffic manager
Microsoft Public Cloud SQL Database Platform as a Service – Data Management • SQL DataSync Service • On-premise 와 Cloud 간의 (또는 Cloud와 Cloud 간의)데이터 동기화 서비스 제공 • 주기적으로 데이터베이스간의 복제를 통해 데이터를 동기화 • 데이터베이스 중 일부만을 선택적으로 동기화 가능 • 데이터 충돌을 대비한 관리자 선택권 제공 • Hybrid Cloud에 활용 • 보안을 강화 하고 경제적인 비용의 분석 환경을 제공 • 민감한 데이터를 on-Premise에 두고, 서비스에 필요한 또는 연산과 분석을 위한 테이터만 Cloud로 복제하여 데이터 활용할 수 있도록 서비스 compute data management networking VMs websites cloud services connect virtual network blob SQL database noSQL database traffic manager
Microsoft Public Cloud TABLE (noSQL Database) Platform as a Service – Data Management • Windows Azure Table Storage • RDBMS 테이블이 아닌 비정형 데이터를 저장하는 공간의로서 Table 저장소 제공 • 엔티티(Entities) 저장 • 엔티티 당 최대 사이즈는 1MB 이며, 최대 255개의 속성을 가짐 • 속성은 기본적으로 .NET 타입을 표준으로 함 • 저장은 <이름, 입력 값>의 쌍으로 저장됨 • 고정된 스키마(Schema)가 없는 특징이 있음 • 쿼리 • 엔티티 삽입,수정 (Merge, Replace), Upsert, 삭제 등 지원 • 단일 트랜잭션에서 다양한 생성, 수정, 삭제를 지원 • 접근 통제 • HTTPS의 endpoint를 통해서 데이터 접근 • 512 bit의 대칭키를 통해서만 데이터 접근 가능 • 두 개의 대칭키를 제공하며 대칭키 유출 시 새로운 대칭키를 생성 가능 compute data management networking VMs websites cloud services connect virtual network blob SQL database noSQL database traffic manager
Microsoft Public Cloud Blob Platform as a Service – Data Management • Windows Azure Blob Storage • 효과적으로 비정형의대량 Binary 데이터를 저장하고 빠른 속도로 읽는 구조에 적합 • Blob 관련 주요 웹 서비스 기능 • Put Blob – 새로운 Blob 생성 또는 컨테이너에 있는 기존의 Blob 수정(Replace) • GetBlob – 메타데이터와 속성을 포함한 데이터의 읽기 또는 다운로드 수행 • Delete Blob – Blob 삭제 • Copy Blob – 원본 Blob을 대상 blob 공간에 복사 (동일한 storage account 내에서) • SnapShot Blob – 읽기 전용 snapshot blob 파일을 만들어 냄 • Lease Blob – 지정된 blob에 쓰기 잠금을 1분 동안 걸고, 이 blob에 대해 쓰기 위해서 클라이언트는 반드시 leaseID를 제공해야함 • Blob 관련 메타데이터 • 표준 HTTP 메타데이터 / 헤더 (Cach-Control, Content-Encoding, Content-Type, 등) • 메타데이터는 <이름, 값>의 쌍으로 Blob 당 최대 8KB까지 확장 가능 • Blob 접근 • 대칭키를 가지고파일 이름으로 Binary 데이터에 접근 • 예) http://<account>.blob.core.windows.net/<container>/<blobname> • 한파티션에서 1개의 Blob당 60M/s의 Throughput 제공 compute data management networking VMs websites cloud services connect virtual network blob SQL database noSQL database traffic manager
Microsoft Public Cloud Traffic Manager Platform as a Service – Networking www.foo.com • 사용자트래픽 (요청)을 호스팅 되는 서비스들 사이에서 로드 밸런싱 제공 • 글로벌 서비스를 위해 각지역별 데이터센터에서 서비스를 운영할 때 서비스 사이의 요청을 제어 • DNS 기반의 트래픽 매니저 정책 • Performance • Round-Robin • Failover • 응용프로그램 서비스 및 성능 향상 • 사용자 요청을 가장 가깝고 성능 좋은 곳으로 연결하여 속도 향상 • 응용프로그램의 가용성 향상 • 서비스가 정상적이지 않을 경우 다른 쪽으로 요청 전달(Redirection) 가능 CNAME compute data management networking VMs websites cloud services connect virtual network blob SQL database noSQL database traffic manager • Load-balancing • Endpoint monitoring foo.trafficmgr.cloudapp.net Policies Hosted Service Hosted Service Hosted Service