태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Architecture

Windows Azure 2012.11.23 10:15

Architecture

( http://www.windowsazure.com/en-us/develop/net/architecture/ )

 

Windows Azure 에서 공통적인 디자인 패턴 구현과 어플리케이션을 어떻게 디자인하는지를 알아봅니다.

 

Application architecture

 

Fail-Safe: Guidance for Resilient Cloud Architectures

 

이 아티클은 신뢰성 있는 시스템과 유연한 디자인을 위한 아키텍처를 고려하기 위한 것에 초점이 맞춰져있습니다.
이것은 아래의 내용들에 대한 자세한 가이드를 제공합니다.

 

+ 응용 프로그램 Workload 분해
+ 라이프사이클 모델 구축
+ 가용성 모델을 구축하고 계획
+ 장애 모드와 장애 지점을 식별
+ 탄력성 패턴과 탄력성 고려 사항 확인
+ 운영을 위한 디자인

 

Best Practices for the Design of Large-Scale Services on Windows Azure Cloud Services

 

이 심층적 인 문서는 윈도우 Azure 및 SQL 데이터베이스에 대량으로 확장 가능한 응용 프로그램을
구축하는 방법에 대해 실제 고객 시나리오를 기반으로 지침을 제공합니다.

 

[ Design patterns: Data ]

 

Command Query Responsibility Segregation (CQRS)

 

Command Query Responsibility Segregation (CQRS) 패턴은 구분된 서비스에서 데이터베이스 읽기와
쓰기 명령을 구분하는 높은 수준의 패턴입니다. 패턴에서 동작은 작업 명령 또는 쿼리 중 하나여야 합니다.
쿼리는 데이터를 반환하고 객체의 상태를 변경하지는 않습니다. 명령은 객체의 상태를 변경하고 데이터를 반환하지는 않습니다. 이것의 장점은 당신의 시스템 상태 변화에 대해 무엇을 하고 무엇을 하지 않는지를 보다 잘 이해하는데 도움이 됩니다.

 

연관된 아티클

 

+ CQRS Journey (Patterns & Practices)
( http://msdn.microsoft.com/en-us/library/jj554200 )

 

[ Design patterns: Fault tolerance ]

 

일시적인 오류 처리 ( Transient error handling )

 

일시적인 오류는 네트워크 연결 문제 또는 서비스 가용불가의 일부 임시 상태 때문에 발생하는 오류입니다.
일반적으로, 일시적인 오류가 발생한 작업을 잠시 후에 다시 시도하면 오류가 사라진것을 알게됩니다.
일시적인 오류 처리 응용 프로그램 블록은 SQL 데이터베이스 , 서비스 버스 또는 Windows Azure 저장소를
사용할 때 발생할 수 있는 일시적인 오류에 대한 정보를 포함합니다.

 

연관된 아티클

 

+ Transient Fault Handling Application Block (Patterns & Practices)
( http://msdn.microsoft.com/en-us/library/hh680934(PandP.50).aspx )
+ Retry Logic for Transient Failures in SQL Database
( http://social.technet.microsoft.com/wiki/contents/articles/4235.retry-logic-for-transient-failures-in-windows-azure-sql-database-en-us.aspx )
+ Handling transient communication errors in Service Bus brokered messaging
( http://msdn.microsoft.com/en-us/library/windowsazure/hh851746.aspx )

 

데이터베이스 조절을 관리 ( Managing database throttling )

 

SQL 데이터베이스는 공유 리소스에 대해 대규모 멀티 터넌트 데이터 베이스 서비스를 제공합니다.
SQL 데이터 베이스는 모든 고객들에게 좋은 경험을 제공하기 위해 때때로 작업을 제어하거나 또는
머신이 과부하 되는 것을 방지하기 위해 연결을 종료합니다. 귀하의 응용 프로그램이 부정적인 조절에 의해
영향을 받지 않도록 하는데 사용할 수 있는 여러가지 방법이 있습니다.

 

연관된 아티클

 

+ Windows Azure SQL Database Connection Management
( http://social.technet.microsoft.com/wiki/contents/articles/1541.windows-azure-sql-database-connection-management.aspx )
+ Best Practices for the Design of Large-Scale Services on Windows Azure Cloud Services: Shared resources and throttling
( http://msdn.microsoft.com/en-us/library/windowsazure/jj717232.aspx )

 

[ Design patterns: Scaling ]

 

Autoscaling

 

Windows Azure 클라우드 서비스 응용 프로그램의 장점 중 하나는 쉽게 응용 프로그램의 사용 변경으로
개별 구성 요소를 확장할 수 있다는 것입니다. Windows Azure 를 위한 Microsoft Enterprise Library 5.0
통합팩에서  Autoscaling 응용 프로그램 블록은 자동으로 클라우드 서비스를 확장할수 있는 도구를 제공합니다.
지정된 대상과 임계 값을 위한 조정을 하기 위해 자동으로 어플리케이션의 스케일을 조절할 수 있는
규칙을 작성 후 어플리케이션의 성능을 이해하기 위해 성능 카운터를 사용할 수 있습니다.

 

연관된 아티클

 

+ The Autoscaling Application Block (Patterns & Practices)
( http://msdn.microsoft.com/en-us/library/hh680892(v=PandP.50).aspx )

[ Design patterns: State ]

 

[ Design patterns: State ]

 

캐싱에 상태 정보를 저장 ( Store state information in caching )

 

Stateless 어플리케이션은 견고한 저장소에서 캐시된 상태와 검색이 필요합니다.
예를 들어, ASP.NET 쿠키는 상태를 저장하는데 사용할 수 있습니다.
이러한 쿠키는 모든 웹 롤 인스턴스에 대해 전 세계적으로 이용할 수 있는
캐싱에 저장할 수 있습니다.

 

연관된 아티클

 

+ How to: Store ASP.NET session state in the cache
( http://www.windowsazure.com/en-us/develop/net/how-to-guides/cache/#store-session )

 


 

저작자 표시
신고
Posted by 마호메이

이번 시간에는 가상머신을 가상 네트워크에 추가하는 방법에 대해서 알아 보겠습니다.

( 참고 URL : http://www.windowsazure.com/en-us/manage/services/networking/add-a-vm-to-a-virtual-network/ )

Add a Virtual Machine to a Virtual Network

이 기능과 Windows Azure 의 다른 새로운 기능들을 사용하려면 free preview 에 가입해야 합니다.

 

이 튜토리얼은 Windows Azure 스토리지 계정 및 가상 네트워크에 추가하는 가상머신을 생성하는 단계를 안내합니다.

 

이 튜토리얼은 Windows Azure에 대한 이전에 사용 경험이 없다는 것을 가정합니다.

 

Active Directory 에 추가하고 가상네트워크에 연결하는 방법에 대한 자세한 내용은 아래를 참조하십시오:

 

l  Install a Replica Active Directory Domain Controller in Windows Azure Virtual Network

l  Install a New Active Directory Forest in Windows Azure

 

목표

 

이 튜토리얼에서는 다음의 것들을 배울 수 있습니다:

 

l  How to create a storage account

l  How to create a virtual machine and deploy it to a virtual network

 

전제조건

 

l  다음 튜토리얼 중 하나를 완료하십시오:

n  Create a Virtual Network in Windows Azure

-OR-

n  Create a Virtual Network for cross-premises connectivity

 

l  최소 한 개의 유효한 Windows Live 계정, 활성화된 구독 정보가 필요합니다.

l  Create a Virtual Network in Windows Azure 또는 Create a Virtual Network for cross-premises connectivity 에서 이름 만들기:

 

n  가상네트워크에 지정한 선호 그룹

n  가상네트워크의 이름

n  서브 넷()의 이름.

 

Create Storage Account

1.      Windows Azure (Preview) Management Portal 에서 가상 네트워크를 생성한 후, 화면 왼쪽 하단의, New 를 클릭합니다.

 

 

2.      탐색 창에서 STORAGE 를 클릭한 후 QUICK CREATE 를 선택합니다.

 

 

3.      다음의 정보들을 입력한 후 오른쪽 하단의 체크 표시를 클릭합니다:

l  URL: Type yourstorageaccount.

l  REGION/AFFINITY GROUP: 드롭다운 리스트에서, YourAffinityGroup를 선택합니다.

l  ENABLE GEO-REPLICATION: 선택된 상태로 유지합니다.

 

 

4.      프로세스가 완료되고 나면, Storage 페이지에 STATUS 칼럼에 Online으로 표시됩니다.

 

 

Create Virtual Machine and Deploy to Virtual Network

가상 머신을 만들고 가상 네트워크에 배포합니다:

1.     저장소 계정을 만든 후, 화면 왼쪽 하단의 New를 클릭합니다.

 

 

2.     탐색 창에서 VIRTUAL MACHINES을 클릭하고, FROM GALLERY 클릭합니다.

 

 

3.     VM OS Selection 화면에서, Windows Server 2008 R2 SP1, March 2012를 선택하고 다음 화살표를 클릭합니다.

 

 

4.     VM Configuration 화면에서, 아래의 정보를 입력하고 다음 화살표를 클릭합니다.

 

Tip: 이러한 자격 증명은 가상머신에 로그온 할 때 사용되므로, 사용자 이름과 비밀번호를 기록해두십시오.

 

l  VIRTUAL MACHINE NAME: Type YourVMachine.

l  NEW USER NAME: Read-only.

l  NEW PASSWORD: Enter a strong password.

l  CONFIRM PASSWORD: Re-enter password.

l  SIZE: Select Large.

 

 

5.     VM Mode 화면에서, 아래의 정보들을 입력하고 다음 화살표를 누르십시오.

l  Standalone Virtual Machine: 이 옵션을 유지하십시오.

l  DNS NAME: Type yourcloudapp.

l  STORAGE ACCOUNT: Select yourstorageaccount.

l  REGION/AFFINITY GROUP/VIRTUAL NETWORK: 드롭다운 리스트에서, YourVirtualNetwork를 선택하십시오.

 

 

6.     VM Options 화면에서, 다음의 정보들을 입력하고, 다음 확인 표시 버튼을 클릭하십시오. 가상머신은 이제 생성됩니다. 대략 10분 정도 지나서 새로운 가상머신이 생성됩니다.

l  AVAILABILITY SET: none을 선택하십시오.

l  VIRTUAL NETWORK SUBNETS: FrontEndSubnet를 선택하십시오.

NOTE: 하나 이상의 서브넷을 선택해야 하고, 게이트웨이 서브넷을 선택하지 마십시오.

 

 

7.     가상머신이 생성되면 가상머신 화면에 STATUSRunning로 표시됩니다.

 

 

8.     탐색 참에서 ALL ITEMS를 클릭합니다. 당신이 만든 모든 개체는 자신의 현재 상태와 함께 표시됩니다.

 

 

다음 단계

Active Directory에 연결하려는 경우, 다음 튜토리얼 들을 계속할 수 있습니다:

l  Install a Replica Active Directory Domain Controller in Windows Azure Virtual Network

l  Install a New Active Directory Forest in Windows Azure

 

저작자 표시
신고
Posted by 마호메이

이번 시간에는 구내 연결을 위한 가상 네트워크 생성에 대해서 알아 보겠습니다.

( 참고 URL : http://www.windowsazure.com/en-us/manage/services/networking/cross-premises-connectivity/#ConfigVPN )

Create a Virtual Network for Cross-Premises Connectivity

이 기능과 Windows Azure 다른 새로운 기능들을 사용하기 위해서는 free preview 에 가입해야 합니다.

 

Tutorial 은 관리 포탈을 이용해서 사내의 네트워크와 연결이 되는 Windows Azure 의 가상 네트워크를 생성하는 단계를 안내합니다. Tutorial 을 완료 한 후, Windows Azure 서비스에 배포할 수 있는 회사 네트워크와 통신하는 가상 네트워크를 갖게 됩니다.

 

Tutorial 은 이전에 Windows Azure 사용 경험이 없다는 것은 가정합니다.

 

가상 머신 또는 Active Directory 에 대한 추가 정보는 다음을 참고하십시오:

 

l  Add a Virtual Machine to a Virtual Network

l  Install a Replica Active Directory Domain Controller in Windows Azure Virtual Network

l  Install a New Active Directory Forest in Windows Azure

 

목표

tutorial 을 통해 다음의 것들을 배울 수 있습니다. :

l  Windows Azure 에 추가할 수 있는 기본 Windows Azure 의 가상 네트워크를 설정하는 방법

l  회사의 네트워크와 통신할 가상 네트워크를 구성하는 방법

l  Windows Azure 의 가상 네트워크와 통신하기 위해 VPN 장비를 구성하는 방법

 

전제 조건

l  최소 하나의 유효한 활성화된 Windows Live 계정이 있어야 합니다.

l  주소 공간이 ( CIDR 표기법에서 ) 가상 네트워크와 서브넷을 위해 사용할 수 있습니다.

l  DNS 서버의 IP 주소와 이름 ( 구내에서 name resolution 을 위한 DNS 서버를 사용하기를 원하는 경우 )

l  VPN 장치를 위한 Public IP 주소. VPN 장비는 NAT 뒤에 있을 수 없습니다. 귀하의 네트워크 엔지니어로부터 이것을 얻을 수 있습니다.

l  로컬 네트워크를 위한 주소 공간 (사내 네트워크)

 

높은 수준 단계

1.     Create a Virtual Network

2.     Start the gateway and gather information for your network administrator

3.     Configure your VPN device

 

가상네트워크 생성

회사 네트워크에 연결하는 가상 네트워크를 만들려면:

1.     Windows Azure (Preview) Management Portal 에 로그인 합니다.

2.     화면 왼쪽 하단에 New 를 클릭합니다.

 

 

3.     navigation pane 에 있는 Network 를 클릭하고, Custom Create 를 클릭합니다.

 

 

4.     Virtual Network Details 화면에서, 아래의 정보들을 입력하고, 다음 화살표를 누릅니다.

l  NAME: Type YourVirtualNetwork.

l  AFFINITY GROUP: 드롭다운 리스트에서, Create a new affinity group를 선택합니다. 선호 그룹은 성능을 향상할 수 있는 동일한 데이터 센터에서 물리적인 그룹으로 함께 Windows Azure 서비스를 할 수 있는 방법입니다. 하나의 가상 네트워크만 선호 그룹을 할당 할 수 있습니다.

l  REGION: 드롭다운 리스트에서, 원하는 지역을 선택합니다. 당신의 가상네트워크는 선택한 지역의 데이터센터에 만들어집니다..

l  AFFINITY GROUP NAME: Type YourAffinityGroup.

 

 

5.     Address Space and Subnets 화면에서, 아래의 정보를 입력하고, 다음 화살표를 클릭합니다. 주소 공간은 private 주소 범위 내여야 하며, CIDR 표기법 10.0.0.0/8, 172.16.0.0/12, 또는 192.168.0.0/16 (RFC 1918 에 의해 지정된) 이어야 합니다..

NOTE: 각각의 주소 공간 추가 후, 플러스 버튼을 누릅니다.

l  ADDRESS SPACE: Type 10.4.0.0/16.

l  SUBNETS: 아래의 것들을 입력합니다:

n  FrontEndSubnet, 10.4.2.0/24

n  BackEndSubnet, 10.4.3.0/24

n  ADDNSSubnet, 10.4.4.0/24

 

 

6.     DNS Servers and Local Network 화면에서, 아래의 정보들을 입력하고, 다음 화살표를 클릭합니다.

l  DNS SERVERS: Type YourDNS, 10.1.0.4.

l  Configure connection to local network: Check this box.

l  GATEWAY SUBNET: Type 10.4.1.0/24.

l  LOCAL NETWORK: Select the default Create a new local network.

 

 

7.     Create New Local Network 화면에서, 아래 정보들을 입력하고, 오른쪽 하단의 체크 마크를 클릭합니다.  몇 분 후에 가상 네트워크가 만들어 집니다.

NOTE: VPN 장비 IP 주소는 네트워크 관리자에게 문의합니다.

l  NAME: Type YourCorpHQ.

l  VPN DEVICE IP ADDRESS: VPN 장비의 public ip 를 입력합니다. 장비는 NAT 뒤에 있을 수 없습니다.

l  ADDRESS SPACE: Type 10.1.0.0/16.

 

 

8.     이제 포탈의 Virtual Network 탭에서 가상 네트워크를 볼 수 있습니다.

 

 

Gateway를 시작합니다.

Gateway를 시작하려면:

1.     가상네트워크를 생성하게되면, 네트워크화면은 StatusCreated로 보여줍니다.

Name 컬럼에서, YourVirtualNetwork 클릭해서 dashboard 를 엽니다.

 

 

2.     Dashboard 페이지에서, 페이지 하단의, Create Gateway 를 클릭합니다. Gateway 생성을 원하는지를 물어보는 화면이 나타나면, YES 를 클릭합니다.

 

 

3.     Gateway 생성이 시작되면, 아래 화면에서와 같은 메시지를 볼 수 있습니다.

대략 15분 정도면 Gateway를 생성할 수 있습니다.

 

 

4.     gateway 생성 후에, 네트워크 관리자가 VPN 장비를 설정 할 수 있게, 몇 가지 정보를 모아서 보내야 합니다. 다음 단계들은 이 과정입니다.

5.     대시보드에서 Gateway IP 주소를 복사합니다:

 

 

6.     Shared Key 를 가져옵니다. 대시보드 하단에 VIEW KEY 를 클릭하고, 대화상자의 SHARED KEY 를 복사합니다.

 

 

7.     VPN 설정 파일을 다운로드 합니다. 대시보드에 DOWNLOAD 를 클릭합니다.

 

 

8.     Download VPN Device Config Script 대화상자에서, 귀하의 회사 VPN 장비의 the vendor, platform, 그리고 operating system 등의 정보를 선택합니다. 체크 버튼을 선택해서 저장합니다.

 

추가적으로 지원되는 VPN 장비들과 스크립트 템플릿들은 About VPN Devices for Virtual Network를 참고하시기 바랍니다.

 

 

9.     네트워크 관리자에게 아래의 정보를 보냅니다:

l  Gateway IP address

l  Shared key

l  VPN configuration script

 

VPN 장비 설정 ( 네트워크 관리자 )

이 절차는 네트워크 관리자가 수행해야 합니다. 왜냐하면 각각의 VPN 장비들은 다르기 때문에, 이것은 단지 고도의 절차입니다.

 

관리 포탈이나 MSDN 라이브러리의 About VPN Devices for Virtual Network 섹션에서 VPN 설정 스크립트를 얻을 수 있습니다.

 

자세한 정보는 Establish a Site-to-Site VPN Connection 및 귀하의 VPN 장비 매뉴얼을 참고하시기 바랍니다.

 

이 절차는 다음을 가정합니다:

 

l  VPN 장비는 귀하의 회사에서 구성되었습니다.

 

VPN 장비를 구성하려면:

 

1.     VPN 구성 스크립트를 수정해야 합니다. 다음을 구성합니다:

A.    Security policies (보안정책)

B.     Incoming tunnel (수신터널)

C.    Outgoing tunnel (송신터널)

2.     귀하의 VPN 장치를 구성하는 수정된 VPN 구성 스크립트를 실행합니다.

3.     다음 명령 중 하나를 실행해서 연결을 테스트합니다:

 

Cisco ASA

Cisco ISR/ASR

Juniper SSG/ISG

Juniper SRX/J

 

Check

main  mode SAs

show crypto isakmp sa

show crypto isakmp sa

get ike cookie

show security ike security-association

Check quick mode SAs

show crypto ipsec sa

show crypto ipsec sa

get sa

show security ipsec security-association

 

다음 단계

원하는 경우 다음 tutorials 을 계속 할 수 있습니다:

l  Add a Virtual Machine to a Virtual Network

l  Install a Replica Active Directory Domain Controller in Windows Azure Virtual Network

l  Install a New Active Directory Forest in Windows Azure

 

저작자 표시
신고
Posted by 마호메이

안녕하십니까?

Windows Azure Virtual Network 에 대해서 알아보겠습니다.

( 출처 : http://www.windowsazure.com/en-us/manage/services/networking/create-a-virtual-network/)

Virtual Network 은 여러 Chapter로 나눠져 있으므로, 몇 차례로 나눠서 진행하게 될 듯싶습니다.

Create a Virtual Network in Windows Azure

이 기능과 Windows Azure 의 다른 몇 가지 새로운 기능을 사용하기 위해서는 free preview 에 가입해야 합니다.

tutorial 을 따라 함으로서, Windows Azure 관리 포탈 (미리 보기)를 사용하여 Windows Azure Virtual Network 를 생성할 수 있습니다.

tutorial Windows Azure 에 대해 이전에 경험이 없다는 것을 가정합니다.

tutorial 이 끝나고 나면, 귀하의 Windows Azure Service 에 배포할 수 있는 Virtual network 을 가지게 됩니다.

교차 구내 연결 ( , 회사 내에 있는 Active-Directory 또는 SharePoint 연결 ) 에 대해서는 다음의 tutorial 을 참고하시기 바랍니다.

l  Create a Virtual Network for Cross-Premises Connectivity

l  Install a Replica Active Directory Domain Controller in Windows Azure Virtual Network

l  Install a new Active Directory forest in Windows Azure

목표

tutorial 을 통해 다음의 것들을 배울 수 있게 됩니다.

l  Windows Azure Cloud Service 에 추가할 수 있는 Windows Azure Virtual Network 을 설정하는 방법

 

전제조건

l  최소 한 개의 유효한 Windows Live 계정을 보유하고 있어야 합니다.

l  가상 네트워크 ( CIDR 표기법에서 ) 내에서 가상 네트워크와 서브 넷을 위해 사용되는 공간을 다룹니다.

가상 네트워크 생성

To create a cloud-only virtual network:

1.      Windows Azure (Preview) Management Portal 에 로그인 합니다.

2.      왼쪽 하단에 New 를 클릭합니다.

 

 

3.      navigation pane 에서 Network 클릭하고 Custom Create 클릭합니다.

 

 

4.        Virtual Network Details 화면에서 아래의 정보들을 입력하고 다음 화살표를 클릭합니다.

A.        NAME: Type YourVirtualNetwork.

B.         AFFINITY GROUP: 드롭다운 리스트에서 Create a new affinity group 선택합니다. 선호 그룹은 성능 향상을 위해서 Windows Azure Service 동일 데이터 센터 내에서 수행할 물리적인 그룹입니다. 단지 하나의 가상 네트워크만 선호 그룹의 할당이 가능합니다.

C.        REGION: 드롭 다운 리스트에서 원하는 지역을 선택합니다. 가상 네트워크는 선택한 위치에 생성이 됩니다.

D.        AFFINITY GROUP NAME: Type YourAffinityGroup.

 

 

5.        Address Space and Subnets 화면에서, 아래의 정보를 입력하고, 다음 화살표를 클릭합니다. 주소 공간은 CIDR 표기법 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16 (RFC 1918 명세) 하에서 private 주소 범위로 명세 되어야 합니다.

NOTE: plus 버튼을 누른 후에 다음의 주소 공간을 추가합니다.

A.        ADDRESS SPACE: Type 10.4.0.0/16.

B.         SUBNETS: Enter the following:

                         i.              FrontEndSubnet, 10.4.2.0/24

                        ii.              BackEndSubnet, 10.4.3.0/24

 

 

6.        DNS Servers and Local Network 화면에서 오른쪽 아래의 체크 버튼을 클릭합니다.

Note:만약 공용 DNS 서비스를 사용하고자 한다면, 화면에서 정보를 입력하면 됩니다. 그렇지 않으면, name resolution Windows Azure Service 에서 기본 값으로 사용합니다. 보다 자세한 정보를 보기 원하시면 Windows Azure Name Resolution Overview 참고하여 주시기 바랍니다.

 

 

7.      이제 Windows Azure 의 가상 네트워크를 가지게 되었습니다. 포탈의 Virtual Network 탭에서 확인해볼 있습니다.

 

다음 단계

원한다면 다음 단계의 tutorial 계속 진행 있습니다.

l  Add a Virtual Machine to a Virtual Network

l  Install a Replica Active Directory Domain Controller in Windows Azure Virtual Network

l  Install a new Active Directory forest in Windows Azure

 

 

신고
Posted by 마호메이

 

안녕하십니까?

 

오랜만에 다시 글을 올립니다.

 

Windows Azure 6월 공식 런칭되면서, 많은 기능이 추가되었습니다.

 

그 중 대표적인 기능 중 하나인 IaaS 에 대해서 이야기를 풀어 볼까 합니다.

사이트에 나온 설명 외에 추가적으로 언급할 만한 내용이 그다지 많지 않아서,

우선은 사이트에 나와 있는 내용을 위주로 이야기할까 합니다.

 

( 출처 : http://www.windowsazure.com/en-us/develop/net/tutorials/windows-virtual-machine/ )

 

Create a Virtual Machine Running Windows Server 2008 R2

 

윈도우 Azure 관리 포탈에서 이미지 갤러리를 사용해서 윈도우 서버 운영 체에의 가상 머신을 만드는 것은 간단합니다.

 

이 튜토리얼에서는 액세스하고 사용자 정의 할 수 있는 가상 머신을 클라우드에서 어떻게 생성할 수 있는 지를 가르쳐 줄 것입니다.

이 튜토리얼을 사용하기 위해서 Windows Azure 의 사전 경험이 필요하지는 않습니다.

 

여기서 배울 수 있는 것들은

 

l  Windows Azure 의 가상 머신이 무엇인지

l  윈도우 서버가 구동되는 사용자 정의 가상 머신을 포탈에서 어떻게 생성하는지

l  가상 머신을 생성한 후 로그온은 어떻게 하는지

l  새로운 가상 머신에 데이터 디스크를 붙이는 방법

l  어떻게 가상 머신과 통신을 하는지

 

주의

 

이 튜토리얼을 완료하려면, 가상 머신을 생성할 수 있는 Windows Azure 계정이

필요합니다. 무료 평가판에서 미리 보기 기능을 사용해서 수 분 후에 생성할 수 있습니다.

보다 자세한 내용은 윈도우 Azure 계정 생성 미리 보기 기능을 선택하십시오.

 

Windows Azure 가상 머신이 무엇입니까?

Windows Azure 의 가상 머신은 클라우드 환경하에서 구동되는 서버이며, 컨트롤이나 관리가 가능합니다. 가상 머신을 생성 후에 삭제나 재 생성은 필요에 따라 언제든지 가능하며, 마치 다른 서버처럼 가상 머신에 접근할 수 있습니다. 가상 머신을 만드는 가상 하드 디스크 (VHD) 파일을 사용합니다. 가상 머신을 만들 VHD 파일은 다음과 같은 형식으로 사용할 수 있습니다.

 

l  이미지 새로운 가상 머신을 만드는 템플릿으로 사용되는 VHD 입니다. 이미지는 컴퓨터 이름이나 유저 계정 설정과 같은 실행중인 가상 머신의 특별한 설정이 없으므로 템플릿입니다. 만약에 이미지를 사용하여 가상 머신을 생성하는 경우, 운영 체제 디스크는 새로운 가상 머신을 위해 자동으로 생성됩니다.

 

l  디스크 디스크는 운영 체제의 실행 버전으로 부팅하고 마운트 하는 VHD 입니다. 디스크는 실행할 수 있는 이미지의 버전입니다. VHD 는 가상화된 하드웨어에 첨부되며 서비스의 일부로 실행되는 디스크입니다. 이미지가 프로비저닝되면 디스크가 됩니다. 가상머신을 만드는 이미지를 사용할 때 디스크는 항상 생성됩니다.

가상 머신을 만들 때, 다음의 옵션을 사용할 수 있습니다.

l  Windows Azure 관리 포탈의 이미지 갤러리의 이미지를 사용하여 가상머신을 생성할 수 있습니다.

 

l  생성 및 업로드 윈도우 Azure 에 이미지를 포함하는 VHD 파일 다음 이미지를 사용하여 가상 시스템을 만듭니다. Windows Azure 의 이미지는 생성하고 업로드할 수 있으며, 그것을 이용해 가상 머신을 만들 수 있습니다. 사용자 이미지의 생성 및 업로드 방법에 대한 보다 자세한 정보는 Windows Server 운영 체제를 포함하는 가상 하드 디스크의 생성 업로드를 참고하시기 바랍니다.

 

포탈 관리자를 통해 Windows Server 가 구동되는 사용자 정의 가상 머신을 생성하는 방법

관리 포탈의 갤러리 기능을 통해 사용자 정의 가상 머신을 이용할 수 있습니다. 가상 머신을 생성할 때, 가상 머신의 크기 , 연결되는 자원 정보 , DNS 이름 및 네트워크 연결 설정 들을 필요에 따라 정의 할 수 있습니다.

 

1.     관리 포탈에 로그인 합니다.

 

2.     Command Bar에서 New 버튼을 클릭합니다.

 

 

3.     가상 머신을 선택하고 갤러리를 클릭합니다.

 

 

대화 상자에서 VM OS 선택을 합니다. 이제 갤러리에서 제공하는 이미지를 선택할 수 있습니다.

 

 

4.     플랫폼 이미지를 클릭합니다. Windows Server 2008 R2 SP1 이미지를 선택하고, 화살표를 클릭해서 계속 진행합니다.

 

 

5.     가상 머신 이름에 원하는 가상 머신 이름을 기입합니다. 이 가상 머신을 위해 MyTestVM1 이라 이름을 지정하였습니다.

6.     새 비밀번호에 가상 머신의 관리자 계정의 비밀 번호를 입력합니다. 이 가상 머신을 위해서 MyPassword1 이라 비밀 번호를 지정하였습니다. 비밀번호 확인에 동일한 비밀 번호를 입력합니다.

7.     가상 머신의 크기를 선택합니다. 선택한 크기는 응용 프로그램에서 필요로 하는 코어 수에 따라 달라집니다. 이 가상 머신의 경우 엑스트라 스몰을 선택하였습니다.

8.     화살표를 선택해서 계속합니다.


 

VM Mode 대화 상자가 나타납니다.

 

 

9.     강력한 어플리케이션을 제공하는 클라우드 서비스하에서 기존의 가상 머신을 연결할 수 있지만, 이 튜토리얼에서는 하나의 가상 머신만 생성하고 있습니다. 따라서, 독립 실행형 가상 머신을 선택합니다.

10.   사용자가 만든 가상 머신은 클라우드 서비스에 포함되어 있습니다. DNS 이름에서 가상머신을 위해 만들어진 클라우드 서비스에 대한 이름을 입력합니다. 3-24 자의 소문자와 숫자를 포함할 수 있습니다. 이 값은 가상 머신이 속해 있는 클라우드 서비스에 연결하는데 사용되는 URI 의 일부가 됩니다. 이 가상 머신을 위해서 MyService1 이라고 하였습니다.

11.   VHD 파일을 위해 스토리지 계정을 선택합니다. 이 튜토리얼에서는 자동으로 생성된 스토리지 계정을 사용하여 선택합니다.

12.   지역/선호 그룹/가상 네트워크에서 가상 머신의 위치로 West US 를 선택합니다.

13.   화살표를 눌러서 계속 합니다.

 

VM Options 대화 상자가 나타납니다.

 

 

14.   이 페이지의 옵션은 가상 머신을 다른 가상 머신에 연결하거나, 가상 네트워크에 가상 머신을 추가하는 경우에만 적용됩니다. 이 가상 머신의 경우, 가용성 세트를 생성하지 않거나 가상 네트워크에 연결하지 않습니다. 가상 머신 생성 체크를 클릭합니다.

 

Windows Azure 는 가상 머신을 만들고 운영 체제 설정을 구성합니다. Windows Azure 에서 가상 머신을 생성하면 관리 포탈에서는 실행 상태로 나타납니다.

 

 

생성 후 가상 머신에 접속하는 방법

실행 중인 어플리케이션 관리 및 세팅을 위해 생성한 가상 머신에 로그온 할 수 있습니다.

1.     관리 포탈에 로그인 합니다.

2.     가상 머신을 클릭하고, MyTestVM1 가상 머신을 선택합니다.

3.     Command Bar 에서 Connect 를 선택합니다.

4.     가상 머신을 위해 자동으로 만들어진 원격 데스크톱 프로토콜 파일을 사용하려면 Open 을 선택합니다.

5.     Connect 를 클릭합니다.

6.     비밀번호 입력상자에서 MyPassword1 을 입력하고 OK 를 클릭합니다.

7.     가상 머신 자격 증명에서 YES 를 선택합니다.

이제 사무실에 서버가 있는 것 처럼 가상 머신을 이용해 작업을 수행할 수 있습니다.

 

새로운 가상 머신에 데이터 디스크를 붙이는 방법

응용프로그램은 데이터를 저장해야 할 수도 있습니다. 이것을 설정하려면 가상 머신에 데이터 디스크를 첨부합니다. 이 작업을 수행하는 가상 쉬운 방법은 가상 머신에 빈 데이터 디스크를 장착하는 것입니다.

1.     Windows Azure 관리 포탈에 로그인 합니다.

2.     Virtual Machines 을 클릭하고 MyTestVM1 가상 머신을 선택합니다.

3.     Command Bar 에서 Attach 를 클릭하고, Attach Empty Disk 을 클릭합니다.

 

 

4.     Attach Empty Disk 대화 상자가 나타납니다.

 

 

5.     가상 머신 이름 , 저장 위치 그리고 파일명 은 이미 정의한 대로 되어 있습니다. 디스크의 원하는 크기를 입력합니다. 여기서는 크기 필드에 5 를 입력합니다.

주의 : 모든 디스크는 Windows Azure 저장소의 VHD 로부터 만들어집니다. 당신은 저장소 공간에 추가되는 VHD 파일의 이름을 제공할 수 있지만, Windows Azure 는 자동으로 디스크 이름을 생성합니다.

6.     가상머신에 데이터 디스크 장착 확인 표시를 클릭합니다.

7.     대시보드를 표시할 가상 머신의 이름을 클릭하십시오. 이것은 가상 머신에 데이터 디스크가 성공적으로 연결되었는지를 확인할 수 있습니다.

 

가상 머신을 위한 디스크 개수는 2 입니다. 당신의 첨부된 디스크는 Disks 테이블에 나타납니다.

 

 

가상 머신에 디스크를 첨부하고 나서, 디스크는 초기화되지 않는 상태의 오프라인으로 되어 있습니다. 가상 머신에 로그인해서 데이터를 저장하기 전에 초기화 하여야 합니다.

1.     Log on to the virtual machine 의 순서에 따라 가상 머신에 연결합니다.

2.     가상 머신에 로그온 후에 Server Manager 를 엽니다. 왼쪽 패널에서 Storage 를 확장하고, Disk Management 를 클릭합니다.

 

 

3.     Disk 2 를 오른쪽 클릭하고, Initialize Disk 를 클릭합니다.

 

 

4.     OK 를 클릭하여 초기화 프로세스를 시작합니다.

5.     오른쪽 클릭을 해서 Disk 2 에 공간을 할당합니다. New Simple Volume 를 클릭하고, 기본 값으로 마법사를 종료합니다.

 

 

Disk 는 이제 온라인이 되었고, 새로운 드라이브 문자를 가지고 사용할 준비가 되었습니다.

 

가상머신과 통신을 설정하는 방법

Windows Azure 에서 생성한 모든 가상 머신은 자동으로 같은 클라우드 서비스 또는 가상 네트워크에 있는 다른 가상 머신과 통신할 수 있습니다. 그러나, 인터넷 또는 다른 가상 네트워크 상의 자원과 통신을 하기 위해서는 가상 머신의 끝 점을 설정해야 합니다. 특정 포트와 종단점에 대한 프로토콜을 연결할 수 있습니다.

1.     관리 포탈에 로그인 합니다.

2.     Virtual Machines 를 클릭하고 MyTestVM1 가상 머신을 선택합니다.

3.     Endpoints 를 클릭합니다.

 

 

4.     이 튜토리얼에서는 TCP 프로토콜을 사용하는 가상 머신을 위해 종단점을 추가할 것입니다. Add Endpoint 를 클릭합니다.

 

 

5.     Add Endpoint 대화 상자가 나타납니다.

 

 

6.     Add Endpoint 기본 값으로 선택하고 계속 화살표를 클릭합니다.

7.     New Endpoint Details 대화상자가 나타납니다.

 

 

8.     필드에 MyTCPEndPoint1 을 입력합니다.

9.     Public Port Private Port 필드에 80 을 입력합니다. 이 포트 번호는 변경할 수 있습니다. Public Port 번호는 Windows Azure 외부로부터 접속할 때, 사용되는 진입점을 위한 것입니다. Windows Azure Load Balancer Public Port 를 사용합니다. 어플리케이션에 적합한 방식으로 트래픽을 리다이렉트 하도록 가상 머신에 방화벽 규칙이나 Private Port 를 사용할 수 있습니다.

10.   Endpoint 생성 마크를 클릭합니다.

 

이제 EndPoints 페이지에 리스트된 endpoint 를 볼 수 있습니다.

 

 

지금까지 Windows Azure 의 새로운 기능인 Virtual Machine 에 대해서 알아 보았습니다.

다음 시간에도 새로운 기능 또는 변경된 기능에 대해서 계속 알아보도록 하겠습니다.

 

신고
Posted by 마호메이

안녕하십니까?

이번 시간에는 Azure 의 기본 구성 요소에 대해서 간략하게 살펴 보도록 하겠습니다.

이번 시간에 SQL Azure 부분까지 소개할 수 있을 지 모르겠네요.

SQL Azure 를 소개해드리고 나면, 간략하게 실습이 1~2회 강좌 정도에 걸쳐서,

올릴 예정입니다. 이후는 좀더 깊은 내용들을 다루고, 7월 이후쯤에는 바뀐 내용들에 대해서,

전반적으로 다뤄볼 예정입니다. 실습 부분까지가 Intro 부분입니다.

Intro 가 내용이 제일 긴 거 같네요.

 

. Overview

 

1. 무한한 가능성

Windows Azure 는 전 세계의 Microsoft 데이터 센터에서 응용 프로그램을 빌드하고, 배포하고,

관리 할 수 있는 유연한 개방형 클라우드 플랫폼 입니다. 사용자는 모든 언어, 도구 또는

프레임워크를 사용하여, 응용 프로그램을 빌드 할 수 있습니다. 또한, 공용 클라우드 응용

프로그램을 기존의 IT 환경과 통합 할 수 있습니다.

 

Microsoft 에서는 Azure 를 위한 데이터 센터를 대륙별로 두고 있습니다. 현재 공식적으로는

미국에 3 ( 1개는 얼마전에 증설된 것으로 알고 있습니다. ), 유럽에 2 , 아시아에 2

등으로 이야기되고 있으며, 비 공식적으로는 10 ~ 100개 정도의 데이터 센터가 있을 거라는

이야기가 있습니다. Azure 관련 서비스를 위한 데이터 센터의 서버 총합이 추산으로

대략 3,500 만대 정도 되지 않을 까라고 하는 글을 본적이 있네요.

(실 서버와 실 데이터 센터의 수는 정확히 밝히지 않고 있습니다. )

 

개발 언어 및 SDK 지원에 있어서는 자바,루비,파이선,PHP 등도 지원하는 것으로 나와 있습니다.

자바의 경우 톰 캣과 아파치도 올릴 수 있습니다.

 

2. 무중단 서비스

Windows Azure 는 월별 99.95% SLA 를 제공하므로, 인프라에 신경쓰지 않고, 고 가용성

응용 프로그램을 빌드하고, 실행할 수 있습니다. 또한, OS 및 서비스의 자동 패치 , 네트워크

부하 분산 , 하드웨어 실패 복구 기능을 제공합니다. 가동 중단 시간 없이 응용 프로그램을

업그레이드 할 수 있는 배포 모델을 지원합니다.

 

Windows Azure 2개의 Instance 를 사용할 때, 월별 99.95 % SLA 보장합니다.

또한, IaaS 기반 클라우드와는 다른 PaaS 기반 클라우드의 특징이라 할 수 있겠습니다만,

OS 및 서비스의 자동 패치 , 네트워크 부하 분산 ( AWS 의 경우는 별도의 요금을

지불해야 합니다. ) , 하드웨어 실패 복구 기능 등을 제공합니다. IaaS 기반 클라우드의 경우는

이러한 작업을 사용자가 직접 해주어야 하는 Overload 가 있습니다.

 

3. 개방성

Windows Azure 는 모든 언어, 프레임워크 또는 도구를 사용하여 응용프로그램을 빌드 할

수 있습니다. 기능 및 서비스는 개방형 Rest 프로토콜을 사용하여, 노출됩니다. Windows Azure

클라이언트 라이브러리는 여러 프로그래밍 언어에 사용할 수 있으며, 오픈 소스 라이선스로

릴리즈되고 GitHub 에 호스팅 됩니다.

 

REST 프로토콜을 사용하여, WCF I/F 를 노출 할 수 있습니다. 이를 통해서, 외부 시스템과

I/F 또는 모바일 Client 에게 I/F 를 제공할 수 있습니다.

 

4. 무제한 서버 , 무제한 스토리지

Windows Azure 는 응용 프로그램을 모든 크기로 간단하게 확장할 수 있습니다. 완벽하게

자동화된 자체 서비스 플랫폼이며, 몇 분 이내에 리소스를 프로비전 할 수 있습니다.

필요에 따라 리소스 사용량을 탄력적으로 늘이거나 줄일 수 있습니다. 응용 프로그램에서

사용한 리소스에 대한 요금만 지불하면 됩니다. Windows Azure 는 전 세계 데이터 센터에서

사용 가능하며, 가까운 곳의 고객에게 응용 프로그램을 배포 할 수 있습니다.

 

관리 포탈을 이용하여, Instance 의 확장/축소가 탄력적으로 이뤄지며, 소스 코트로 구현도

가능합니다. 소스를 배포시에는 서비스를 하시는 지역의 데이터 센터에 배포하시면 보다

빠른 응답을 기대할 수 있습니다. 예를 들어 북미에 서비스를 한다면, 북미쪽 데이터 센터를

선택해서 배포하면 됩니다. 아시아에는 현재, 홍콩과 싱가폴에 데이터 센터가 존재합니다.

 

5. 강력한 기능

Windows Azure는 모든 응용 프로그램 요구사항을 만족할 수 있는 유연한 클라우드 플랫폼을

제공합니다. 이를 통해 계산 역할 안에서 응용 프로그램 코드를 안정적으로 호스트 및 확장할 수

있습니다. 관계형 SQL 데이터베이스, NoSQL 테이블 저장소, 구조화되지 않은 Blob 저장소를

사용하여 데이터를 저장하고, Hadoop 및 비즈니스 인텔리전스 서비스를 사용하여

데이터마이닝을 수행할 수도 있습니다. Windows Azure의 견고한 메시징 기능을 활용하여

확장형 분산 응용 프로그램을 구현하고 클라우드 및 온-프레미스 엔터프라이즈 환경에서

실행되는 하이브리드 솔루션을 제공할 수도 있습니다. Windows Azure의 분산 캐싱 및

CDN 서비스를 사용하면 대기 시간을 줄이고 세계 어디에서나 뛰어난 응용 프로그램 성능을

제공할 수 있습니다.

 

기본적으로는 클라우드에 특성에 맞지 않는 솔루션 혹은 어플리케이션이라면 당연히 클라우드에

배포하는 것을 권장하지 않습니다. 이전 포스팅에도 언급되었던 바와 같이, 실시간성 , 보안에

매우 민감한 데이터를 가진 경우 , 인프라에 종속된 구조인 경우 등등과 같이 클라우드에 적합

하지 않은 구조나 데이터 유형을 가진 경우는 고려해봐야 할 대상이라 할 수 있습니다.

하지만, 클라우드에 적합한 어플리케이션의 구조라면 Azure 의 여러가지 기능을 활용하여,

시스템을 탄력적이고 강력하게 구현하는 것이 가능합니다. 또한 최근 이슈가 되고 있는

Big Data 처리를 위한 Hadoop 도 지원하고 있습니다.

 

. Overview Compute

 

Compute Role 의 경우는 앞서 포스팅한 바와 같이 3가지 타입을 가집니다.

 

1. Web Role

IIS7 이 설치된 VM 으로 이해하시면 빠릅니다. 실질적으로 웹 어플리케이션을 구동하기 위한

인스턴스를 호스팅 하는데 사용됩니다.

 

2. Worker Role

윈도우 서비스와 같은 개념으로 이해하시면 빠릅니다. 실질적으로 무한 루프를 수행하는

코드가 들어가 있고, 백 앤드에서 처리되어야 할 작업을 호스팅하는데 사용됩니다.

 

3. VM Role

이 부분은 많은 변화가 있습니다. 포스팅 하는 시점에서는 VM Role 은 베타 버전이었습니다만,

새로운 기능에서는 매우 많은 변화가 있습니다. 새로운 변화는 추후 다시 포스팅 하겠습니다.

 

*. Compute 비용 관련 내용을 포스팅 하려고 했습니다만, 기능 부분이 바뀌어서, 가격 정책도

변경이 되었네요..

( 가격 정책은 : https://www.windowsazure.com/ko-kr/pricing/calculator/ ) 참고하시기 바랍니다.

 

. Overview Service Bus

 

Service Bus 에 대한 기본 개념은 Private Cloud Public Cloud 환경 간의 응용 프로그램의

연결 상태를 유지하는 것입니다. 요컨데, 하이브리드 클라우드 환경을 구축하기 위해서,

필요한 서비스라고 보시면 될 거 같습니다. 하이브리드 클라우드 시나리오 중 하나는

보안의 민감한 데이터는 Private Cloud 에 두고, 인증을 받고서, 인증 토큰을 던져,

이후 서비스는 Public Cloud 에서 활용하는 방안입니다.

 

*. EAI(Enterprise Application Integration)는 사용자 지정 플랫 파일, 복합 EDI 메시지, 웹 서비스

 또는 사용자 지정 API(: SAP 또는 Oracle eBS)의 여러 메시지 형식을 사용한 서로 다른 시스템

 간 연결을 지원합니다. EAI에서는 또한 코드를 작성할 필요 없이 다른 메시지 구조를 공통

형식으로 조작할 수 있습니다.

 

EAI 사용 이점:

 

연결 지점 간소화

 

EAI 브리지를 사용하면 FTP 서비스, 서비스 버스 큐 및 항목과 같은 통합 지점에 대한 연결을

간소화하고 메시지 형식 변환 및 메시지 라우팅을 시각적으로 생성할 수 있습니다.

서비스 버스 릴레이에 의존하는 온-프레미스 구성 요소를 사용하여 LOB(기간업무) 시스템을

통해 브리지에 직접 연결할 수 있습니다.

 

응용 프로그램 간 브리지 구축

 

가장 일반적인 통합 프로토콜/형식 중 하나인 특정 EDI 브리지 및 관련 거래 파트너 포털은 B2B

솔루션 구축을 위한 EDI 메시지 교환 및 관리를 효율화 및 간소화합니다.

 

EAI Service Bus 에서는 새로운 개념으로 보입니다.

새로운 개념들은 추후 다시 포스팅 할 예정입니다만, 여기서 EAI 만 잠깐 언급하고 넘어갑니다.

 

. Overview CDN

 

Windows Azure CDN은 콘텐츠를 필요한 장소에서 가장 가까운 위치에 캐시함으로써 더 나은

응용 프로그램 환경을 제공합니다. Windows Update Bing 지도와 같이 가용성이

높은 Microsoft 서비스를 지원하는 동일 네트워크 인프라를 믿고 사용할 수 있습니다.

 

CDN 사용 이점:

 

응용 프로그램에 첨단 캐싱 기능을 쉽게 추가

 

CDN BLOB 저장소와 완벽하게 통합되므로 한 번의 클릭으로 Windows Azure 관리 포털에서

응용 프로그램에 대한 CDN 전달 기능을 사용할 수 있습니다.

 

연결 범위를 전 세계로 확장

 

미국, 유럽, 아시아, 오스트레일리아 및 남아메리카에 있는 CDN은 개발자에게 고대역폭 콘텐츠를

배달할 수 있는 글로벌 솔루션을 제공합니다.

 

관리포탈에서 Blob 을 배포할 때, CDN 사용 여부를 체크해서 배포하게 되면, 바로 CDN 서비스를

사용할 수 있습니다. 새로 나온 기능에서는 보다 확장된 서비스도 나왔습니다. 이 부분도 추후

다시 포스팅 예정입니다.

 

. Overview Caching

 

캐싱은 Windows Azure 응용 프로그램에 대한 분산된 메모리 내 응용 프로그램 캐시 서비스를

제공합니다. 느린 디스크 기반 저장소에 의존하는 대신 응용 프로그램은 메모리 내에

유지되는 데이터에 빠르게 액세스하고 확장할 수 있습니다. 캐싱은 Microsoft에서 운영하는

관리되는 서비스로 99.9% 월별 SLA를 제공합니다.

캐싱은 여러 가지 실제 상황에서 사용할 수 있습니다. 자주 사용되는 경우는 다음과 같습니다.

 

읽기 전용 데이터

캐싱을 사용하면 응용 프로그램이 자주 사용되는 데이터에 빠르게 액세스할 수 있습니다.

저장소 또는 데이터베이스에서 데이터를 가져오는 대신 데이터를 캐시에 보관하면 응용

프로그램의 확장성, 성능 및 사용 가능성이 높아집니다.

예를 들어 응용 프로그램에서 자주 읽는 제품 카탈로그 또는 국가 목록을 나타내는 데이터는

응용 프로그램이 시작될 때 캐시에 쉽게 로드될 수 있으므로 성능과 전반적인 최종 사용자

환경이 향상됩니다.

 

사용자 세션 데이터

캐싱을 사용하면 응용 프로그램이 특정 사용자의 세션 데이터에 빠르게 액세스할 수 있습니다.

이러한 유형의 데이터는 자주 읽고 업데이트됩니다. 이러한 데이터를 캐시에 보관하면 응용

프로그램 성능이 향상되고, 확장 시나리오에서 데이터에 액세스할 수 있으며,

데이터베이스에서 불필요한 로드가 제거됩니다.

예를 들어 온라인 상거래 응용 프로그램에서 사용자 장바구니 데이터는 구매가 완료되고 해당

데이터가 영구 저장소 또는 데이터베이스에 저장될 때까지 메모리 내에 관리될 수 있습니다.

 

응용 프로그램 리소스 데이터

사용자 세션 데이터와 마찬가지로 특정 세션과 관련이 없고 응용 프로그램 간에 공유되는

공유 리소스 데이터도 응용 프로그램 실행 중 자주 업데이트됩니다.

예를 들어 항공사의 좌석 인벤토리 데이터는 다양한 비행편의 좌석 예약을 위해 검색되고

업데이트되므로 여러 사용자 세션에 걸쳐 자주 액세스됩니다.

 

일반적인 캐시 메모리와 비슷하다고 생각하면 됩니다. 새로운 버전에서는 가격 정책도 변경이

있고, 기능 자체도 확장된 서비스를 제공합니다.

 

. Overview Networking

 

-프레미스 인프라를 공용 클라우드에 연결하기 위한 가장 완벽한 네트워킹 기능 집합

 

가상 네트워크

 

Windows Azure 가상 네트워크에서는 Windows Azure에서 VPN(가상 사설망)을 프로비전 및

관리할 수 있을 뿐만 아니라 이러한 네트워크를 온-프레미스 IT 인프라와 안전하게 연결할 수

있습니다. 가상 네트워크를 통해 IT 관리자는 IP 주소 구성, 라우팅 테이블 및 보안 정책을

포함하여 네트워크 토폴로지에 대한 제어를 통해 온-프레미스 네트워크를 클라우드로 확장할

수 있습니다.

 

가상 네트워크 사용 이점:

 

데이터 센터를 안전하게 확장

 

가상 네트워크를 통해 기존의 '사이트 간' VPN을 구축하여 데이터 센터 기능을 안전하게

확장할 수 있습니다. 가상 네트워크는 산업 표준 IPSEC 프로토콜을 사용하여 기업 VPN

게이트웨이 및 Windows Azure 간의 보안 연결을 제공합니다. VPN 게이트웨이 뒤에 원하는

만큼 시스템을 추가할 수 있습니다.

 

하이브리드 클라우드 시나리오 지원

 

가상 네트워크는 다양한 하이브리드 클라우드 시나리오를 지원하는 유연성을 제공합니다.

메인프레임 및 Unix 시스템과 같은 어떤 유형의 온-프레미스 시스템에도 클라우드 기반 응용

프로그램을 안전하게 연결할 수 있습니다.

 

Windows Azure Connect

 

Windows Azure Connect를 사용하면 Windows Azure 서비스와 데이터베이스 서버, 도메인

컨트롤러와 같은 온-프레미스 리소스 사이에 에이전트 기반의 시스템 간 연결을 제공할 수

있습니다. Windows Azure는 가상 네트워크를 만들고 클라우드에서 IP 주소를 구성하는 완전한

제어 기능을 제공합니다.

 

Connect 사용 이점:

 

분산 응용 프로그램 작성

 

Windows Azure Connect를 사용하면 사용자 지정 코드를 작성할 필요 없이 온-프레미스

인프라와의 보안 연결을 유지하면서 하이브리드 환경에서 호스트되는 클라우드 응용

프로그램을 쉽게 작성할 수 있습니다. 예를 들어 Windows Azure에서 호스트되는 웹 응용

프로그램은 온-프레미스 SQL Server 데이터베이스 서버에 보안 방식으로 액세스하거나

-프레미스 Active Directory 서비스에 따라 사용자를 인증할 수 있습니다.

 

응용 프로그램 원격 디버깅

 

Windows Azure Connect를 사용하면 Windows Azure에 호스트되는 응용 프로그램과 로컬

개발 컴퓨터 사이에 직접적 연결을 만들어 온-프레미스 응용 프로그램에 사용하는 것과 같은

도구를 사용하여 문제를 해결하고 디버깅할 수 있습니다.

 

트래픽 관리자

 

트래픽 관리자를 사용하면 수신 트래픽 부하를 여러 호스팅 Windows Azure 서비스(동일한

데이터센터 또는 전 세계의 여러 데이터센터에서 실행되는지 여부와 상관 없음)에 분산할 수

있습니다. 트래픽을 효과적으로 관리함으로써 응용 프로그램의 고성능, 가용성 및 복구 기능을

보장할 수 있습니다. 트래픽 관리자에서는 성능, 장애 조치(failover), 라운드 로빈 중에서 부하

분산 방법을 선택할 수 있습니다.

 

트래픽 관리자 사용 이점:

 

응용 프로그램의 고가용성 보장

 

트래픽 관리자를 사용하면 Windows Azure에서 호스팅되는 서비스를 모니터링하고 서비스

중단 시 자동 장애 조치(failover) 기능을 제공하여 중요 응용 프로그램의 가용성을 향상할 수

있습니다.

 

응답성 높은 응용 프로그램 실행

 

Windows Azure를 사용하면 전 세계에 있는 데이터 센터에서 서비스를 실행할 수 있습니다.

트래픽 관리자는 최종 사용자에게 네트워크 지연 시간의 측면에서 가장 가까운 호스팅

서비스를 제공함으로써 응용 프로그램의 응답성 및 콘텐츠 배달 시간을 향상할 수 있습니다.

 

. Overview ID

 

클라우드 응용 프로그램 간의 SSO(Single Sign-On)를 위한 온-프레미스 Active Directory 통합

 

Windows Azure Active Directory

 

Windows Azure Active Directory는 클라우드 응용 프로그램을 위해 ID 관리 및 액세스 제어

기능을 제공하는 현대적인 REST 기반 서비스입니다. 이제 Windows Azure, Microsoft Office 365,

Dynamics CRM Online, Windows Intune 및 기타 타사 클라우드 서비스 간에 하나의 ID 서비스를

사용할 수 있습니다. Windows Azure Active Directory는 사용자의 온-프레미스 AD 배포 및

타사 ID 공급자의 전체 지원과 쉽게 통합되는 클라우드 기반 ID 공급자를 제공합니다.

 

Active Directory 사용 이점:

 

-프레미스 Active Directory와의 통합

 

기존 온-프레미스 Active Directory를 신속하게 확장하여 정책을 적용하고 기존 기업 자격

증명으로 Windows Azure 및 기타 클라우드 서비스에 대해 사용자를 제어 및 인증할 수 있습니다.

 

응용 프로그램에 대한 액세스 제어 제공

 

중앙화된 정책 및 규칙을 기반으로 하는 응용 프로그램에 대한 액세스를 쉽게 관리합니다.

중요한 인터넷 보안 및 준수 요구 사항을 충족할 수 있도록 조직 응용 프로그램에 대한

일관되고 적합한 액세스가 유지 관리되는지 보장합니다. Windows Azure AD 액세스 제어는

개발자에게 Windows Azure에서 소비자 ID 공급자 또는 온-프레미스 Windows Server

Active Directory를 사용하는 응용 프로그램을 위한 중앙화된 인증 및 권한 부여 기능을

제공합니다.

 

엔터프라이즈 간 소셜 연결 빌드

 

Windows Azure AD 그래프는 정보 및 관계를 쉽게 탐색할 수 있도록 탐색기 보기를 통해 사용자

, 그룹 및 역할과 같은 개체에 액세스하기 위한 간편한 RESTful 인터페이스를 제공하는

혁신적인 소셜 엔터프라이즈 그래프입니다.

 

클라우드 응용 프로그램 간 SSO(Single Sign-On) 제공

 

Microsoft Online Services, 타사 클라우드 서비스 및 Windows Azure에서 유명한 웹 ID

공급자(: Windows Live ID, Google, Yahoo! Facebook)로 빌드된 응용 프로그램 간에

효율적인 SSO(Single Sign-On)를 사용자에게 제공합니다.

 

ID 부분은 이전에 준비했던 ppt 의 자료 내용과 크게 차이는 없습니다만, 소소한 부분은 조금

변경이 있습니다.

 

. Overview HPC

 

비즈니스 분석

 

보고 기능 응용 프로그램을 쉽게 작성하고 신속한 분석을 위해 클라우드 활용

 

Microsoft Windows Azure용 비즈니스 분석 솔루션에는 Hadoop for Big Data와 같은 현재

및 가까운 미래의 기술들에 사용되는 새로운 범위, 확장성 및 다양성을 갖는 데이터가

포함됩니다. Microsoft의 비즈니스 분석 솔루션은 Microsoft 및 타사에서 승인된 조정된

데이터, 서비스 및 응용 프로그램에 대한 전 세계 마켓플레이스를 통해 전 세계의 데이터를

액세스할 수 있게 해줍니다. 데이터 및 정보 서비스를 검색하고 조합하여 소셜 분석과 같은

정보 및 타사 데이터 집합을 통해 다양한 분석을 수행할 수 있습니다. 마지막으로

Windows Azure SQL Reporting을 통해 보고 기능을 Windows Azure 응용 프로그램에 쉽게

제공 및 구축할 수 있습니다.

 

Hadoop for Big Data

 

Microsoft Active Directory 및 시스템 센터뿐만 아니라 Apache Hadoop API와 완전히

호환되는 개방형 플랫폼을 포함하는 핵심 구성 요소와의 통합을 통해 엔터프라이즈급

Hadoop 배포를 제공합니다. 복잡한 분산형 저장소를 설정하고 향후 확장이 필요한

클러스터를 계산할 필요 없이 파일, 이미지, 비디오, 웹 로그 및 클릭 스트림으로부터 PB

데이터를 처리하고 분석할 수 있습니다.

 

Windows Azure Marketplace

 

Windows Azure Marketplace SaaS 응용 프로그램 및 고급 데이터 집합을 거래하는 글로벌

온라인 시장입니다. 이 마켓플레이스에 Windows Azure 기반 응용 프로그램을 게시하여

작성한 응용 프로그램을 국제적으로 상용화 및 판매할 수 있습니다. 또한 응용 프로그램

내에서 마켓플레이스에 나열된 다양한 고급 데이터 집합을 구독하거나 마켓플레이스를 통해

내 데이터 집합을 활용 및 배포할 수 있습니다.

 

SQL Reporting

 

Windows Azure SQL Reporting을 사용하면 Windows Azure 응용 프로그램에 쉽게 액세스할 수

있는 보고 기능을 구축할 수 있습니다. SQL Reporting을 통해서는 표, 차트, 지도, 계기 등이

포함된 보고서를 작성할 수 있을 뿐만 아니라 이를 사설 및 공용 클라우드에 배포할 수 있습니다.

클라우드 서비스를 사용하면 자체 보고 인프라를 관리하거나 유지할 필요가 없습니다.

몇 개월이 아니라 며칠 내에 준비가 가능합니다. Windows Azure SQL Database에 대해

자세히 알아보십시오.

 

Windows Azure 가상 컴퓨터에서 비즈니스 분석

 

Windows Azure 가상 컴퓨터를 사용하면 보고 및 분석 서비스는 물론 SharePoint Server

같은 SQL Server 비즈니스 분석 관련 기술을 가상 컴퓨터에서 실행할 수 있습니다.

 

아마도 이전 Azure 버전과 큰 차이점을 가져가는 부분 중에 하나가 아닐까 싶습니다. HPC

대해서는 이전에는 하둡 노드를 생성해서, 빅 데이터의 분석을 할 수 있다는 점에 포커스가

맞춰져 있었다면, 새로운 Azure 버전에서는 공식적으로 하둡을 지원하고, BI 수준까지 기능이

확장된 것을 볼 수 있습니다. 하둡과 같은 빅 데이터 분석은 일반적으로 PB (펩타 바이트) 급의

데이터를 다루는 모델입니다. 기존의 경우도 MS 에서는 Azure 상의 BI On-Premises 상의 BI

등 크게는 3가지 모델을 제공하였으나, 새로운 버전에서의 Azure 에서는 Azure 상에서의

BI 부분이 좀더 강화된 느낌입니다.

 

하둡에 관련된 주제는 이후에 별도로 빅 데이터 처리에 대한 포스팅으로 다뤄볼까 합니다.

 

마켓 플레이스의 경우는 기존의 경우 데이터 마켓과 Azure 마켓이 존재하였습니다.

, Azure 상의 응용 프로그램을 판매하거나, 가치가 있는 데이터를 판매할 수 있습니다.

 

. Overview WebSite

 

웹 사이트

 

필요한 만큼 강력한 웹 사이트를 수 초 내에 만들고 배포

 

무료로 시작하고 향상된 격리 수준 및 성능으로 공유 및 예약된 인스턴스 간의 클라우드

플랫폼 전환에 맞춰 확장할 수 있습니다. ASP.NET, PHP 또는 Node.js를 통해 아무 도구 또는

OS를 사용하여 수 초 내에 웹 사이트를 구축하십시오.

 

웹 사이트 사용 이점:

 

무엇이든 간단하게 실행 가능

 

웹 사이트는 있는 그대로 클라우드에 쉽게 배포할 수 있습니다. 사이트가 ASP.NET, PHP

또는 Node.js로 작성된 경우 Windows Azure 웹 사이트에서도 그대로 작동합니다.

 

개방형 소스로 시작

 

WordPress, Joomla!, Drupal, DotNetNuke Umbraco 등 일반적인 개방형 소스 응용

프로그램을 사용하여 몇 번의 클릭만으로 사이트를 시작할 수 있습니다.

 

통합 소스 제어 이점 활용

 

Windows Azure 웹 사이트에서는 소스 코드 저장소로부터 직접 배포할 수 있습니다. 선택한

Git 저장소에서 단순히 ‘git push’만 실행하거나 Team Foundation Service 프로젝트를 연결하고

계속되는 소스 통합 기능을 활용하십시오. 자동화된 배포로 작업이 매우 간소화되었습니다.

 

새로 추가된 개념입니다. 잠깐 언급하고 넘어간다면, 소규모 웹 사이트를 빠르게 배포하고,

이후 확장이 가능하다는 형식으로 기능 그 자체로만 보면 IaaS 와 비슷한 서비스입니다.

IaaS 기능의 경우는 별도로 제공하고 있습니다.

 

. Overview Cloud Service

 

가용성 및 확장성이 뛰어난 응용 프로그램 및 API 만들기

 

Windows Azure 클라우드 서비스를 통해 강력한 성능의 응용 프로그램과 서비스를 신속하게

배포하고 관리할 수 있습니다. 단순히 응용 프로그램을 업로드하면 Windows Azure

프로비전부터 부하 분산 및 지속적인 가용성을 위한 상태 모니터링까지 모든 배포 세부

작업을 처리합니다. 응용 프로그램은 업계 선두의 99.95% 월간 SLA로 지원됩니다. 인프라가

아닌 응용 프로그램에만 집중하십시오. 그만큼 뛰어난 성능을 제공합니다.

 

클라우드 서비스 사용 이점:

 

인프라가 아닌 응용 프로그램에 집중

 

패치 적용, 하드웨어 오류 또는 네트워크 문제는 더 이상 신경 쓸 필요가 없습니다.

Windows Azure 클라우드 서비스는 시스템 업그레이드 및 하드웨어 오류 시에도 지속적으로

사용할 수 있는 응용 프로그램을 빌드할 수 있도록 설계되었습니다. 이제는 코드에만 집중할 수

있습니다.

 

전 세계 장치를 위한 인터넷 규모의 API 개발

 

모든 새로운 모바일 응용 프로그램에는 강력한 서버 측 서비스 집합이 필요합니다.

Windows Azure 클라우드 서비스가 있으면 그동안 꿈꾸던 가장 강력하고 확장성이

뛰어난 API를 빌드할 수 있습니다. 새 코드를 전혀 작성할 필요 없이 성공적인 결과를 얻을

수 있도록 인스턴트 액세스를 활용하여 무제한적으로 확장할 수 있습니다.

 

현대적인 클라우드 아키텍처 빌드

 

Windows Azure 클라우드 서비스는 가장 현대적인 분산 컴퓨팅 응용 프로그램을 지구 상에

빌드하기 위한 가장 효과적인 응용 프로그램 환경을 제공합니다. 더 빠르게 응답하고 절대로

중지되지 않는 응용 프로그램의 이점을 고객에게 제공할 수 있습니다.

 

새로운 버전에서 별도의 기능처럼 튀어나온 메뉴라서, 내용을 좀 살펴보았습니다만, 기존의 Azure

Cloud PaaS 만 지원했던 형식에서 IaaS 를 지원하면서, 기존 PaaS 기반의 Cloud Service

Cloud Service 기능 카테고리로 명시를 한 듯한 느낌을 받았습니다. 다만, 기존과 다른 점이

있다면 기존 PaaS 에서도 제한적으로나마 API 가 제공되는 부분이 있었다면, 새로운 버전에서는

모바일 응용 프로그램 개발을 위한 API 가 좀 더 강력하게 제공된다는 점을 볼 수 있습니다.

 

. Overview Media Service

 

미디어 서비스

 

Windows Azure 미디어 서비스를 사용하여 미디어 생성, 관리 및 배포를 위한 워크플로 구축

 

미디어 서비스는 전 세계 고객들을 위한 고품질 미디어 환경을 처리하기 위해 유연성, 확장성 및

안정성이 뛰어난 클라우드 플랫폼을 제공합니다. 미디어 서비스에는 수집, 인코딩, 형식 변환,

콘텐츠 보호, 요청 시 및 라이브 스트리밍 기능을 비롯하여 클라우드를 기반으로 하는 Microsoft

Media Platform 및 미디어 파트너의 여러 가지 기술이 포함됩니다. 기존 솔루션을 향상시키거나

새 워크플로를 생성하든지 간에 미디어 서비스를 쉽게 조합 및 관리하여 모든 요구에 적합한

사용자 지정 워크플로를 만들 수 있습니다.

 

미디어 서비스 사용 이점:

 

종단 간 워크플로 구축

 

완전히 클라우드 환경 내에서 포괄적인 미디어 워크플로를 구축합니다. 미디어 업로드에서

콘텐츠 배포까지 미디어 서비스는 사전 구축되어 바로 사용할 수 있는 다양한 고유 및 타사

구성 요소를 제공하며, 이러한 구성 요소를 사용자의 고유한 요구에 맞게 조합할 수 있습니다.

이러한 기능에는 업로드, 저장, 인코딩, 형식 변환, 콘텐츠 보호 및 전달이 포함됩니다.

 

하이브리드 워크플로 개발

 

이미 사용 중인 도구 및 프로세스와 미디어 서비스를 쉽게 통합합니다. 예를 들어 콘텐츠를

온사이트에서 인코딩하고, 미디어 서비스로 업로드해서 여러 형식으로 전환하고, 타사 CDN

통해 전달할 수 있습니다. 미디어 서비스는 외부 응용 프로그램 및 서비스와 쉽게 통합할 수

있도록 표준 REST API를 통해 개별적으로 호출할 수 있습니다.

 

여러 장치 및 플랫폼에 대한 클라우드 지원 제공

 

여러 장치 간 미디어 작성, 관리 및 전달이 훨씬 쉬워졌습니다. 미디어 서비스는 Xbox

Windows PC에서 MacOS, iOS Android까지 다양한 장치에 콘텐츠를 제공하기 위해

필요한 모든 것을 제공합니다.

 

기존의 CDN 을 확장한 기능과 같은 개념으로 접근할 수 있을 듯 합니다. 차이점이라면 CDN

보다 좀더 큰 개념으로 보다 다양한 디바이스를 지원하기 위한 기능들이 제공된다는 점과

CDN 으로 Deploy 가 가능하다는 점을 들 수 있습니다. 또한, 미디어 서비스라는 이름에

걸 맞게 수집,인코딩,형식 변환,콘텐츠 보호,요청 시 및 라이브 스트리밍 기능 제공 등등

미디어 서비스를 위한 특화된 기능들을 제공합니다.

99. Summary

 

SQL Azure 에 대한 부분은 다음 포스팅으로 넘겨야 할거 같습니다. 그 자체적으로도

많은 내용이 변경된 부분이 있는 듯 하여, 좀 더 변경된 기능을 검토하고 포스팅 하겠습니다.

 

Azure 의 새로운 변화 중 큰 맥락의 하나는 IaaS 기능 제공이라고 할 수 있겠습니다.

기존의 경우 IaaS AWS 가 대표주자라고 할 수 있었습니다. MS Azure 에서도 새로운

버젼을 통해 IaaS 를 제공하게 됨으로서, MS 는 명실상부 IaaS , PaaS 를 모두 제공하는

현시점에서는 유일한 프로바이더가 되었다고 생각이 됩니다.

 

IaaS 제공이 가지는 또 하나의 큰 의미는 비 Windows 계열 OS 의 사용이 가능하다는 점입니다.

이 이야기는 Linux 의 배포가 공식적으로 가능해졌다는 점입니다. 이를 통해서, 자바 계열 또는

MS 계열의 솔루션을 보유하고 있던 벤더들 입장에서도 보다 쉽게 MS Cloud 서비스에

접근이 가능해졌다는 점이 큰 변화 중 하나가 아닐까 싶습니다.

 

 

 

신고
Posted by 마호메이

안녕하십니까?

이번 시간에는 Single Tenant Multi tenant , 그리고 Azure 의 아키텍처 구조에 대해서

살펴 보겠습니다.

 

. Single Tenant Multi tenant

 

Single Tenant Multi tenant 는 클라우드 기반의 솔루션을 설계하는 데, 한번쯤 짚고 넘어가야

하는 부분입니다. 원래는 좀 더 뒤에 Role 에 대한 이야기가 나오고 나서 설명 드려야 하는

부분입니다만, 어떤 면에서는 Role 과는 별개로 이해를 하고 있는 쪽이 후에 Role 을 이용해서,

아키텍처를 설계할 때, 왜 이런 구조로 해야 하는 지를 쉽게 이해 할 수 있으리라 생각이 듭니다.

 

Single Tenant

-       단일 인스턴스로 단일 클라이언트에게 서비스가 가능한 방식

-       클라이언트 마다 서로 다른 인스턴스를 사용한다.

 

Multi tenant

-       단일 인스턴스로 다수의 클라이언트에게 서비스 가능한 방식

-       다수의 클라이언트가 하나의 인스턴스를 사용한다.

 

멀티테넌트가 지원이 된다면 하나의 인스턴스로 다수의 클라이언트에 대해 동일한 서비스가

가능해지는 장점이 있다. 이는 또한 자원 활용도의 극대화를 추구할 수 있다.

다만, 멀티 테넌트 아키텍처 구조에서는 상대적으로 싱글 테넌트 아키턱체 비해서

취약한 점이 존재한다

 

싱글 테넌트의 경우 단일 인스턴스가 장애가 발생하면 단일 클라이언트에게만 영향을 주지만,

멀티 테넌트 방식에서는 모든 클라이언트가 영향을 받는다. 그러나, 윈도우 애저에서는

애플리케이션과 동일한 복사본을 다수의 윈도우 애저 역할 인스턴스에 배포해 인스턴스

장애 리스크를 줄일 수 있다.

 

*. Single Tenant Multi tenant

 

왼쪽 그림이 Multi instance & Single Tenant 방식입니다. Service Provider Web Server

가정하고, Instance 들을 웹 사이트라 가정하면 이해하기가 쉽습니다. 웹 서버 1대에 3개의

웹 사이트가 있고, 웹 사이트 별로 고객들이 붙어 있습니다.

 

오른쪽 그림은 Single instance & Multitenant 방식입니다. 하나의 웹 서버에 하나의 웹 사이트가

있고, 3명의 클라이언트가 붙어 있습니다.

 

이와 같은 구조를 가지고 있을 때, 만약에 인스턴스 1개가 죽었다고 가정한다면, 왼쪽의 경우는

1명의 클라이언트만 떨어져 나갈 것입니다. 반면에 오른쪽은 모든 클라이언트가 떨어져나가

버립니다.

 

Azure 에서는 이와 같은 문제가 발생할 것을 대비하기 위해서 최소 2개의 Role 을 사용하는

것을 권장합니다. ( Role 에 다음에 자세히 설명을 드리겠습니다. )

 

*. Windows Azure 의 일반적인 아키텍처

 

위의 그림은 Windows Azure 의 일반적인 아키텍처 그림으로, 이와 같은 형식으로 지원이

가능하다는 것일 뿐이지, 이런 형태로 설계해야 한다는 것은 아닙니다.

 

구조를 살펴보면 앞 단에서는 개별 인스턴스가 클라이언트들과 연결되어 있고, 중간에

멀티터넌트 형식의 인스턴스가 있고, 뒷 단에는 개별 인스턴스가 존재합니다.

 

이와 같은 경우라고 하더라도, 중간 계층의 멀티터넌트의 인스턴스가 죽을 경우를 대비해서,

인스턴스를 이중화 하는 것을 권장하고 있습니다.

 

. Windows Azure Architecture

 

그러면 Windows Azure 의 기본적인 아키텍처를 살펴보도록 하겠습니다.

첫 회에 말씀 드렸던 바와 같이 Azure 도 많은 변화가 있을 예정입니다.

하지만, 지금 설명 드리는 아키텍처는 기본적인 부분이기 때문에, 아마 큰 변화는 없으리라

생각이 듭니다.

 

 

일반적인 아키텍처 구조입니다. Enterprise 환경은 기존의 기업 환경입니다.

기업 내 user 들 혹은 인터넷 상의 user 들이 접근이 가능한 구조를 보이고 있으며,

Cloud 내의 Service Bus 를 통해서 Cloud 상의 Application On-Premises 상의

Database 에 접근이 가능하다는 것을 보여주고 있습니다.

 

 

조금 더 펼쳐 놓고 보면, Azure 에는 Windows Azure , SQL Azure AppFabric 이 있습니다.

AppFabric OS 의 커널이라고 생각하시면 무난합니다. AppFabric 이 수행하는 역할은

LoadBalancing , Instance 들의 생성 , 재 시작 등등여러 가지 역할을 수행합니다.

 

 

Windows Azure 내에서는 Compute Storage 가 존재합니다. Compute 에는 Role

존재하는 데, 이 부분은 후에 좀 더 자세히 설명하겠습니다.

Storage 는 공용 저장소 정도라고 우선은 이해하고 넘어가겠습니다.

Azure 에는 디스크의 개념이 존재하지 않기 때문에, 저장해야 할 데이터는 모두 Storage

저장해야 합니다.

 

 

http / https 요청을 받으면 AppFabric L/B 를 수행해 Web Role 들 중에서 하나의 instance

에 요청을 던지게 됩니다.

 

Role 에는 다음과 같은 Role 들이 존재합니다.

 

Web Role

-       IIS 7 이 설치된 웹 서버 VM 이라고 이해하시면 무난합니다.

-       실지로 웹 어플리케이션이 구동되는 Role 입니다.

Worker Role

-       Windows 2008 R2 서버라고 이해하시면 무난합니다.

-       윈도우 서비스 형태로 무한 반복하면서 수행되는 서비스 입니다.

VM Role

-       Web Role 이나 Worker Role 로 패키징 되기 어려운 이미지를 묶어서 사용하는

역할입니다.

-       현재는 베타 서비스입니다.

 

Storage 는 공용 저장소이며, 다음과 같은 것들이 존재합니다.

보다 자세한 내역은 후에 다시 언급하겠습니다.

 

Blob

-       바이너리 파일을 저장하는 저장소입니다.

-       컨테이너 (폴더라고 이해하시면 됩니다.) 단위로 권한 설정을 하여 관리가 가능합니다.

-       CDN ( Content Delivery Network ) 에서 사용됩니다.

Tables

-       No-SQL 저장소입니다.

-       흔히, MongoDB , 카산드라와 비슷한 개념입니다.

-       LINQ 가 가능합니다.

Queues

-       말 그대로 큐입니다.

-       Web Role Worker Role 같이 Role 간의 통신에 주로 사용됩니다.

 

 

SQL Azure SQL Server 와 유사합니다만, SQL Server 를 그대로 Cloud 에 올려놓은 구조가

아니기 때문에, 구조적인 차이점이 존재합니다.

이 부분도 개념 정도만 후에 설명하겠습니다. MSDN 발췌 자료로 엄청난 양이 있더군요

 

 

기존 SQL Server 처럼 TDS 를 이용해서 접근한다는 것을 보여줍니다.

TDS ( Tabular data stream )

 

 

여러 데이터 베이스 사용에 대한 부분도 나타내고 있습니다.

여기서 주의할 점은 Cloud 환경하에서는 기본적으로 분산 처리가 지원되지 않습니다.

따라서, 분산 처리를 해야 하는 구조의 Application 인 경우,

아키텍처 구조 상에서 처리 방식을 변경하거나 다른 방법으로 우회해야 할 수 있습니다.

( 우회하는 방법은 몇 가지가 있습니다. )

 

. Role Over View

 

Role 에 대한 부분을 간단히 정리하고 넘어가겠습니다.

보다 자세한 내용들이 많습니다만, Over View 에서 보여드리는 정도만 이해하셔도 쓰시는 데는

큰 무리는 없으리라 생각이 됩니다.

 

1. 웹 응용 프로그램 ( Web Role )

Windows Azure의 웹 역할은 특수한 목적을 가진 역할로, 프런트 엔드 웹 응용 프로그램을

호스팅하는 데 사용되는 전용 IIS(인터넷 정보 서비스) 웹 서버를 제공합니다.

웹 응용 프로그램을 웹 역할에 빠르고 쉽게 배포한 다음 요구 사항에 맞게 계산 용량을

늘리거나 줄일 수 있습니다.

 

2. 백 엔드 응용 프로그램 ( Worker Role )

작업자 역할 내부에서 호스팅되는 응용 프로그램은 사용자 상호 작용 또는 입력과 무관하게

비동기적이거나, 오래 실행되거나, 영구적인 작업을 실행할 수 있습니다. 작업자 역할에

응용 프로그램의 백그라운드 프로세스를 분리하고 웹 역할에서 프런트 엔드를 호스팅하면

응용 프로그램 논리를 더 잘 분배하고 응용 프로그램의 확장을 더 세밀하게 제어할 수 있습니다.

 

3. 레거시 응용 프로그램 ( VM Role )

현재 베타 단계인 VM(가상 컴퓨터) 역할을 사용하여 사용자 지정 Windows Server 2008

R2(Enterprise 또는 Standard) 이미지를 Windows Azure에 배포할 수 있습니다.

응용 프로그램에 필요한 서버 OS 사용자 지정 항목이 많고 자동화할 수 없는 경우

VM 역할을 사용할 수 있습니다. VM 역할을 통해 응용 프로그램 환경을 완벽하게 제어하고

기존 응용 프로그램을 클라우드로 마이그레이션할 수 있습니다.

 

99. 부가적으로

Worker Role 에서는 시작 스크립트와 같은 것을 이용해서 Tomcat , Apahce , JVM 을 비롯한

여러 유형의 응용 프로그램을 호스팅 할 수 있습니다.

 

Role 을 통해 배포되게 되면, 인스턴스하에서 구동이 되는 데, 사용하지 않는 인스턴스는

삭제를 하거나 스테이징으로 변경시켜두어야 비용이 발생하지 않습니다.

 

신고
Posted by 마호메이

Senior Consultant 한성배 입니다.

 

처음 Cloud 관련 칼럼을 쓰려고 할 때 많이 망설였습니다.

이미 Cloud 에 관련해서는 업계의 화두라고 이야기 되는 만큼 많은 자료가 쇄도하고 있는

상태이고, MS Azure, Amazon AWS 등 관련 정보도 다 읽지도 못할 정도로 많은

정보가 Posting 된 현실이기 때문입니다.

 

하지만, 그 많은 자료 중에서 막상 Cloud 가 무엇일까 라고 생각하게 된다면,

또한 적절한 자료를 찾기에 쉽지 않은 것도 현실인 듯싶습니다.

 

저는 우선 MS PaaS Platform Azure Cloud 를 위주로 이야기를 풀어 나갈까 합니다만,

Azure 도 많은 변화가 있을 예정입니다.

 

Azure 의 변화와 관련해서는 이후 차분히 포스팅을 해 나갈 예정입니다.

 

또한 본격적으로 기술 적인 내용을 다루게 될 초 중반 이전 단계에서는 Cloud 에 대한

일반적인 이해를 돕기 위한 내용과 왜 Cloud 를 도입하는가 등에 대한 소개 관점에서

풀어나갈까 합니다.

 

전체 강좌는 몇 회로 끝날지 모르겠습니다.

그만큼 다루고 싶은 내용도 많고 주제도 많은 만큼, 부지런히 정리하고, 번역해서 올리도록

하겠습니다.

 

첫 시간에는 Cloud 에 대한 소개와, Cloud 를 도입하는가 등에 대한 이야기부터 풀어

나갈까 합니다.

 

. What is Cloud Service ?

 

Cloud 라고 하면, 흔히 Daum Cloud , 네이버 N 드라이브 등을 연상하게 됩니다. 실지로

On-Site 에서 만나 뵙는 고객 분들도 그런 질문을 많이 던지시기도 합니다. 혹은, P2P 파일 공유

같은 것으로 인지하시는 분들도 많은 현실입니다.

 

그렇다면 Cloud 의 사전적인 정의부터 보고 넘어가도록 하겠습니다.

출처는 위키백과입니다.

 

클라우드 컴퓨팅(cloud computing)은 인터넷 기반(cloud)의 컴퓨팅(computing) 기술을 의미한다.

인터넷 상의 유틸리티 데이터 서버에 프로그램을 두고 그때 그때 컴퓨터나 휴대폰 등에 불러와서

사용하는 웹에 기반한 소프트웨어 서비스이다. “

일반적으로

l  클라우드 컴퓨팅은 IT 관련된 기능들이 서비스 형태로 제공되는 컴퓨팅 스타일이다.

l  사용자들은 지원하는 기술 인프라스트럭처에 대한 전문 지식이 없어도 또는 제어할 줄

몰라도 인터넷으로부터 서비스를 이용할 수 있다.

l  IEEE 에서는 "정보가 인터넷 상의 서버에 영구적으로 저장되고 데스크탑이나 테이블

컴퓨터, 노트북, 벽걸이 컴퓨터, 휴대용 기기 등과 같은 클라이언트에는 일시적으로

보관되는 패러다임이다." 라고 말한다.

l  일반적인 클라우드 컴퓨팅에서 소프트웨어와 데이터는 서버에 저장된다.

l  클라우드 컴퓨팅은 웹 2.0, SaaS(software as a service)와 같이 최근 잘 알려진

기술 경향들과 연관성을 가지는 일반화된 개념이다.

l  이들 개념들의 공통점은 사용자들의 컴퓨팅 요구를 만족시키기 위해 인터넷을

이용한다는 사실이다.

 

와 같은 내용으로 서술하고 있습니다.

 

IEEE 에서의 정의와 같이 위의 그림을 보면 수 많은 정보가 다양한 형태로 인터넷 상의 서버에

영구적으로 저장되고, 데스크 탑이나 테이블 컴퓨터 , 노트북 , 벽걸이 컴퓨터 , 휴대용 기기

등과 같은 클라이언트에는 일시적으로 보관되어지는 형태를 볼 수 있습니다.

 

, 정보의 형태가 특정 형태 (파일 or 문서 등) 로 한정되어지지 않는 다는 것을 의미합니다.

 

Cloud 는 용도에 따라 사용하는 Cloud 의 형태가 달라지지 않을 까라고 생각합니다만,

Global Business 를 하고 있지 않은 상황이 하더라도, Public Cloud 를 고려한다면,

Globalization 이 가능한 Cloud Provider 를 고려하는 방향으로 하는 것이 나아 보입니다.

 

하지만, Cloud Service 를 제공하는 IDC 의 국제 보안 인증이나,

각종 규약 등의 차원에서 고려해볼 문제입니다.

 

이 부분은 후에 좀더 깊은 내용을 다루면서 보다 자세히 언급할까 합니다.

 

. Why Cloud ?

 

다음은 On-Premises 에서 운영 중인 서버에서 나타나는 Workload Patterns 에 대한 부분입니다.

 

On-Premises 환경은 기업 사내 환경 또는 IDC 에 서버를 두고 운영하는 환경을 통틀어서,

Cloud 에 올라가 있지 않는 환경으로 이해하시면 될 거 같습니다.

 

================================================================

 

이 패턴은 일정 시간 load 가 발생하다가 일정 시간은 load 가 아예 없다가 하는 형태를

반복하는 패턴입니다. Load 가 언제 발생할지 예측할 수 있다고 해도, 항상 최대 load 만큼의

서버 자원을 확보하여 운영하거나, 혹은 매번 서버 자원을 교체하는 번거로운 작업을

수행해야 할 수 있습니다.

 

이 패턴은 사용량이 점진적으로 증가하는 패턴을 나타냅니다. 이 경우는 비교적 무난하게

서버를 증설 하여 대응할 수 있겠지만, 어느 시점에 어느 정도의 서버를 증설해서

Bandwidth 를 확보해야 할지 명확히 알기는 어려운 문제입니다.

 

 

이 패턴은 load 가 일정 시간만 증가하는 일종의 이벤트 행사와 같은 형태입니다. 어느 시점에

Load 가 증가할지 모르므로 항상 maximum size 로 서버 자원을 확보해둬야 하는 문제가

있습니다. 그만큼 Max 시점이 아닌 경우에는 서버의 자원이 낭비된다는 것을 의미합니다.

 

 

이 경우는 load 가 증가/감소를 반복하는 패턴입니다. 어느 시점에 증가하고, 어느 시점에

감소할지 명확히 알 수 있다면 적절하게 서버를 증설/철수가 가능할거라 예상이 되지만,

실지로는 시점을 명확히 알 수도 없고, 매번 서버를 증설/철수 한다는 것도 쉬운 문제가 아닙니다.

 

================================================================

 

Cloud Service 는 이러한 Workload Pattern 에 최적화 되어 있습니다.

Workload 가 발생할 때, 유연하게 증설되어 load 를 처리하고, load 가 감소하면,

리소스를 줄여서 리소스의 낭비를 막고, 비용을 절검하는 효과를 가져올 수 있습니다.

 

이러한 것을 cloud elastic 한 환경이라고 하며, 기술 구현적인 관점에서는 Cloud 환경이

Auto Scaling 을 지원해야 가능한 문제입니다.

 

*. 왜 클라우드를 사용하는 가?

 

왜 클라우드를 사용하는 가라고 하는 추가적인 이점을 살펴보면 다음과 같은 점들을

언급해 볼 수 있습니다.

 

1. 버전 업그레이드에 따라 re-deploy 할 필요가 없다.

+ 서비스가 전 세계적이거나, 혹은 특정 지역에 종속적이라고 할지라도 많은 서버를

보유하고 있다면, 버전 업그레이드에 따른 re-deploy 도 상당한 작업이 될 것입니다.

하지만, Cloud 는 이러한 배포 문제에 있어서 클라우드 환경에서는 매우 빠르게 배포가

가능하며, 버전 관리 또한 수월한 편입니다.

 

2. 소프트웨어 유통 비용이 없다.

+ 소프트웨어를 생산하였다 하더라도, 유통을 위해서는 많은 절차와 판매 루트의 확보 등 유통 루트를 개척하는 일이 매우 어려운 일입니다. 하지만, 클라우드의 경우 전 세계를 대상으로

배포가 가능하므로, 이러한 유통 루트를 확보하고 유지하기 위한 비용이 들어가지 않습니다.

 

3. Reseller , 총판 등의 중간 Broker 가 없어 Margin 을 높일 수 있다.

+ 기존의 소프트웨어 제품들을 판매하거나 할 때는, Reseller 나 총판 등 거쳐야 하므로,

중간 유통 비용이 많이 소모되었다면, 클라우드 환경에서는 클라우드 프로바이더와

솔루션 프로바이더가 직접 거래를 하게되고, 소비자는 클라우드 환경에서 직접 받게 되므로

이러한 유통 과정을 줄일 수 있어서, 마진의 폭을 높일 수 있게 됩니다.

 

4. 고객과 Cloud Service Vender 간의 관계가 Rock-in 된다.

+ 비슷한 이야기입니다만, 중간 과정이 없으므로 고객과 솔루션 프로바이더의 관계가 직접적으로

Rock-in 이 됩니다.

 

5. 서비스 별 Pricing 을 다양화 할 수 있다.

+ 이 부분은 쉽게 이해하기에는 기존에 Box 타입으로 솔루션을 납품하던 벤더가 PaaS 기반의

클라우드에 서비스를 올려서 가입형 서비스로 전환 시켜 SaaS 형태로 서비스를 함으로써,

Case By Case 의 비용 구조를 월단위,년단위, 혹은 특정 계약 단위 등으로 다양한 과금 모델을

만들 수 있게 됩니다.

 

6. 초기 개발의 Risk 를 줄일 수 있다.

+ 서비스를 Deploy 해보고, 반응이 안 좋을 경우 서비스를 내리는 것도 신속하게 적용이

가능합니다. 우스개 소리로 안 되는 사업은 빨리 접을 수 있습니다. ^^

 

7. 원가 Risk 를 줄일 수 있다.

+ 사용량 만큼만 과금이 되는 구조이므로, 원가 Risk 를 줄일 수 있습니다.

 

8. Azure 에 올라가는 순간 3개의 복사본이 생기므로 가용성이 자동적으로 보장된다.

+ 이 부분은 SQL Azure 에 대한 이야기입니다. 향후에도 언급하겠지만, SQL Azure 의 경우는

배포할 경우, 시스템적으로는 Main Instance 하나만 바라보고 있지만, 내부적으로는 총 3개의

Instance Active 되어 있어서, Main Instance Crush 가 발생했을 경우, 다음 Instance

자동으로 연결이 됩니다. 동시에 새로운 Instance 가 하나 더 Active 됩니다.

아주 운이 안 좋게 3개가 동시에 죽는 천재지변과 같은 사태가 발생하지 않는 이상은

높은 수준의 가용성이 확보가 됩니다.

 

9. HA 구축 비용이 없다.

+ 고 가용성을 보장하기 위한 구축 비용을 이야기하는 부분입니다만, 일반적으로 시스템의

고 가용성을 보장하기 위해서는 인프라 구축에 매우 많은 비용이 소모됩니다. 이중화 처리 ,

백업 처리 , 보안 처리 등등 이러한 많은 초기 투자 비용을 줄일 수 있다는 점은 매우

큰 이점이 아닐까 합니다.

10. 구독 모델이기 때문에 매출이 계속 누적되어 시간이 지날수록 매출이 증가합니다.

+ 위에 부분에 나온 내용과 다소 중복인 듯 싶습니다만, 단일 제품을 납품하는 구조가 아니라

가입 형 서비스로의 구축이 가능하기 때문에, 초기 매출이 높지는 않지만, 시간이 지날수록

매출이 증가하는 구조를 가져가게 됩니다.

 

*. Cloud Solution Business 를 위한 요구 사항

 

클라우드 솔루션이 장점을 가지고 있다고 해도, 클라우드로 전환하기 위해서 고려해야 하는

사항들이 분명이 존재할 것입니다. 여기서는 몇 가지 사항에 대해서 우선 언급해 볼까 합니다.

 

1. 솔루션 마이그레이션

+ 기존의 솔루션을 클라우드 플랫폼 구조에 맞게 수정해야 하는 문제가 발생합니다.

때에 따라서는 아키텍처 구조부터 변경을 해야 하는 경우도 발생 할 수가 있는 데,

플랫폼에 종속적인 아키텍처 구조를 가져야 하는 솔루션이나 실시간성이 매우 중요한 솔루션의

경우는 클라우드로의 이관이 불가능 할 수도 있습니다.

 

2. 비즈니스 모델 추가

+ 앞 단에 나왔던 바와 같이 구독형 모델을 추가할 수가 있습니다.

 

3. 월 과금 시스템 구축

+ 클라우드 제공자는 월 과금 시스템을 일반적으로 사용하고 있습니다. 그에 따라서, 솔루션

제공자는 클라이언트에게 월 과금 시스템을 운영하시거나 혹은 클라우드의 월 과금 비용을

클라이언트가 알아서 결제하게 하는 시스템을 채택할 수도 있습니다.

 

4. Overhead 발생 매월 과금,입금 확인,서류 처리 등

+ 월 과금 시스템에 기반해서 처리를 하다보면, 기존의 단일 솔루션 납품 구조와는 다른

매월 과금 처리에 대한 Overhead 가 발생할 수도 있습니다.

 

. 클라우드 서비스 모델

 

 

*. Cloud 서비스 모델을 이해하기 좋은 그림은 위와 같습니다.

노란색 부분은 직접 설정하는 부분이라고 이해하시면 됩니다.

 

1. Packaged Software

+ 클라우드에 들어 있지 않는 솔루션입니다. IDC 에 있건, 회사 내부에서 서비스하건 모두

마찬가지라고 보시면 될 거 같습니다. 일반적으로 네트워크 설정부터, 저장 장치 설정 ,

서버 설정 , 가상화 지원 , O/S 설정 , 미들웨어 , 런타임 설정 , 어플리케이션에서 사용하는

데이터 구조 및 관리에 대한 설정 , 서비스 하는 어플리케이션 설정 등을 모두 직접 관리해야

하며, 보안 , 백업 , 패치 , 업데이트 등등 모두 직접 수행해야 하는 모델입니다.

세세하게 직접 다 컨트롤이 가능하며, 인프라에 종속적인 솔루션이나 실시간성이 중요한 솔루션

구조에 적합하다고 볼 수 있습니다.

기존의 대 부분의 솔루션이 이 구조에 해당됩니다.

 

2. Infrastructure (as a Service) = IaaS

+ AWS 가 대표 주자라고 할 수 있을 거 같습니다. 가상화 단계까지는 클라우드 제공자가

제공하며, 솔루션 개발사는 O/S 단부터의 관리를 수행하게 됩니다. 기존의 솔루션을 거의

그대로 포팅이 가능한 클라우드이며, 몇몇 PaaS 플랫폼에서 지원할 수 없는 미들웨어나 3rd Party

솔루션 등을 사용할 수 있습니다. 국내의 클라우드 제공사는 IaaS 의 초기 모델 수준이라고

보시면 될 거 같습니다. IaaS 모델도 클라우드 플랫폼이므로 어느 정도 Elastic 한 특성을

가지고 있습니다.

 

3. Platform (as a Service) = PaaS

+ 클라우드 플랫폼에서는 제일 상위의 개념이라고 할 수 있을 거 같습니다. MS Azure

Force.com (세일즈포스닷컴의 Salesforces – SaaS 와 다른 서비스 입니다.) PaaS 의 대표적이라

할 수 있을 거 같습니다. PaaS 는 개발자와 개발사에게 인프라나 OS , 플랫폼 관리 등의 부담을

거의 대 부분 경감시킵니다만, 모든 부담을 없애지는 않습니다.

 

4. Software (as a Service) = SaaS

+ 어플리케이션의 소비 관점에서 제공되는 IT 의 서비스 방식을 의미합니다. 쉽게 생각하면,

웹 메일 기업용 서비스나 ERP 서비스 등과 비슷하다고 볼 수 있습니다. 다만, ASP 서비스와

SaaS 서비스는 차이점을 가지고 있습니다. 해외의 경우 세일즈포스닷컴의 CRM 과 같은 서비스가

PaaS 기반위에서 구축되어 서비스 되는 SaaS 서비스라고 볼 수 있을 거 같습니다.

 

99. 그렇다면

+ On-Premises , IaaS , PaaS 는 서로 배타적이거나 이질적인 관계가 아닙니다. 비즈니스의

요구 사항에 맞게 필요에 따라 적절한 플랫폼을 선택하여 제공하는 것이 가장 최적이 아닐까

합니다.

 

신고
Posted by 마호메이