170325 스마트앱개발자포럼-세선1-부산창조혁신센터

74
Azure 아키텍처 둘러보고 준비하기 (부제: 아파트 둘러보기) Sejun Kim Microsoft Azure Korea Group

Upload: -

Post on 21-Jan-2018

27 views

Category:

Education


0 download

TRANSCRIPT

Page 1: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Azure 아키텍처둘러보고준비하기(부제: 아파트둘러보기)

Sejun Kim

Microsoft Azure Korea Group

Page 2: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

아파트를알아볼때?

Cloud를알아볼때?

Page 3: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

어디가좋을까?

Page 4: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터
Page 5: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터
Page 6: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터
Page 7: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터
Page 8: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터
Page 9: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

아파트? 주택?

Page 10: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

주거의선택의기준은?

재정상태

구축연도편의시설

경비실그냥

수압

치안

회사와거리

브랜드

보상/보험가격

집주인의인상

교통편의

크기

부동산의싸가지

Page 11: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

인프라선택의기준은?

가격

생산성 서비스안정화

Use Case

그냥편리성

속도

DataCenter 위치

Hipster

SLA

안정성

민첩성플랫폼

지인추천

Page 12: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

아파트의좋은점

•경비실이있고, 택배를받아줄수있는곳이있다.

•건물과주위가관리된다.

•거주자가밀집되어있어편의시설이많다.

•쓰레기처리시설등정규화된시설이있다.

•아파트주민만의특권이주어진다. (행사, 할인등)

•주민끼리접근성이좋다.

•생활이보장될수있도록규칙/수칙이있다.

Page 13: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

비용

•Cloud를사용하면비용을절감할수있대요 (?)

• IDC, Server의구매가없어도바로사용가능

•사용한만큼과금지불 (종량제)

Page 14: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

속도

• IDC 계약, Server 구매, 발주등이없어요

•Software Licence 계약을위한고민이줄어들어요

•가상머신을생성하는시간만걸릴뿐...

VM 하나만줘봐

ㄱㄷ

여기있음ㄱㅅ

Page 15: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

확장성

•이미확보해둔 Computing 자원을가져다쓰면됨

•32개의 Global Region을지원

Page 16: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

생산성/성능

•관리형서비스사용시인프라의운영을알아서함

•고성능이필요할시마음대로성능을높일수있음

•인프라를구매하는데에노력을최소화할수있음

아!아!

Page 17: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

안정성

•Cloud에서기본적인물리/논리적접근을차단해줌

•자체보안장비운용으로 Network 접근제어를지원

•3rd party 제품을추가하여추가보안가능

Page 18: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Azure의보안인증

https://www.microsoft.com/ko-kr/TrustCenter/Compliance/default.aspx

Page 19: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터
Page 20: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터
Page 21: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터
Page 22: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

클라우드모델

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Application

Data

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Application

Data

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Application

Data

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Application

Data

직접

관리해야

부분

직접

관리해야

부분

직접

관리해야

부분

공급자

책임

공급자

책임

공급자

책임

On-premise IaaS PaaS SaaS직접

관리해야

부분

Page 23: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

클라우드의약점

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Application

Data

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Application

Data

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Application

Data

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Application

Data

장애

처리

가능한

부분

장애

처리

가능한

부분

장애

처리

가능한

부분

놓고

있는

부분

놓고

있는

부분

놓고

있는

부분

On-premise IaaS PaaS SaaS장애

처리

가능한

부분

Page 24: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Cloud사별 SLA 비교Azure AWS GCP

Compute

이중화구성시 99.95%

프리미엄디스크사용시단일99.9%

이중화구성시 99.95% 이중화구성시 99.95%

Storage99.9%

RA-GRS 사용시 99.99%

99.9%

Standard 99%

99.9%

Multi-Regional 99.95%

Managed SQL99.99%

Web and Business 99.9%이중화구성시 99.95% 이중화구성시 99.95%

DNS 99.99% 100% 100%

CDN 99.9% 99.9% 99.95%

Web Managed 99.95% - 99.95%

전용선/VPN

(파트너제외)

Basic 99.9%

Standard, High 99.95%- VPN 99.9%

Page 25: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Cloud사별 SLA 비교Azure AWS GCP

Compute

이중화구성시 99.95%

프리미엄디스크사용시단일99.9%

이중화구성시 99.95% 이중화구성시 99.95%

Storage99.9%

RA-GRS 사용시 99.99%

99.9%

Standard 99%

99.9%

Multi-Regional 99.95%

Managed SQL99.99%

Web and Business 99.9%이중화구성시 99.95% 이중화구성시 99.95%

DNS 99.99% 100% 100%

CDN 99.9% 99.9% 99.95%

Web Managed 99.95% - 99.95%

전용선/VPN

(파트너제외)

Basic 99.9%

Standard, High 99.95%- VPN 99.9%

99.99% = 4분 23초99.95% = 21분 54.9초99.9% = 42분 49.7초99% = 7시간 18분 17.5초

Page 26: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

SLA가왜중요해?

Page 27: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

SLA가왜중요해?

Page 28: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

SLA가왜중요해?

Page 29: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Azure SLAVirtual Machines 99.95%, 99.9% Media Services 99.9% IoT Hub 99.9%

App Service 99.95% Azure Search 99.9% Event Hubs 99.9%

Logic Apps 99.9% Mobile Engagement 99.9% Stream Analytics 99.9%

Azure Function 99.95% API Management 99.95%, 99.9% Notification Hubs 99.9%

Batch 99.9% SQL Database 99.99% BizTalk Services 99.9%

Cloud Services 99.95% Data Warehouse 99.9% Service Bus 99.9%

Application Gateway 99.9% Stretch Database 99.9% Security Center 99.9%

VPN Gateway 99.95%, 99.9% DocumenDB 99.99% Key Vault 99.9%

Azure DNS 99.99% Redis Cache 99.9% Azure AD 99.9%

CDN 99.9% Data Fectory 99.9% Azure AD B2C 99.9%

Traffic Manager 99.99% HDInsight 99.9% AD DS 99.9%

ExpressRoute 99.95% Machine Learning 99.95%, 99.9% MFA 99.9%

Storage 99.99%, 99.9%, 99% Stream Analytics 99.9% VSTS 99.9%

Data Lake Store 99.9% Cognitive Service 99.9% Application Insights 99.9%

StorSimple 99.9% Power BI Embedded 99.9% HockeyApp 99.9%

Backup 99.9% Data Catalog 99.9% Automation 99.9%, None(무료)

Sire Recovery 99.9% Log Analytics 99.9% Scheduler 99.9%

Default SLA = 99.9%, 2017-03-14

https://azure.microsoft.com/ko-kr/support/legal/sla/

Page 30: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

SLA 상세페이지

Compute SLA Azure AWS GCP

99.9%~99.95%

(7시간 18분~22분)10% 10% 10%

> 99.9%

(7시간 18분이상)25% 30% -

95%~99%

(36시간 31분~7시간 18

분)

- - 25%

> 95%

(36시간 31분이상)- - 50%

Page 31: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

IaaS 리더

CRM 리더

DR 구성리더

PaaS 리더

DB 관리리더

Storage 리더

Virtualization 리더

2016년 8월가트너자료

Page 32: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터
Page 33: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

BCDR (Azure Paired Region)

https://azure.microsoft.com/ko-kr/documentation/articles/best-practices-availability-paired-regions/

Geography 쌍을이루는지역

한국 한국중부 한국남부

북아메리카 미국중북부 미국중남부

북아메리카 미국동부 미국서부

북아메리카 미국동부 2 미국중부

북아메리카 미국서부 2 미국중서부

유럽 북유럽 서유럽

아시아 동남아시아 동아시아

중국 중국동부 중국북부

일본 일본동부 일본서부

브라질 브라질남부(1) 미국중남부

오스트레일리아 오스트레일리아동부 오스트레일리아남동부

미국정부 미국정부아이오와 미국정부버지니아

인도 인도중부 인도남부

캐나다 캐나다중부 캐나다동부

영국 영국 서부 영국 남부

Page 34: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Demo #1

BCDR을알아보자

Page 35: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터
Page 36: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

부부방서재 아이방

옷방

부엌창고

창고1창고2

Page 37: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

T

V쇼파 침대

T

V책상

책장

냉장고

화장대

4인식탁

테이블

에어컨

침대

책상

헹거

헹거

Page 38: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Resource Group

•그림을그릴수있는도화지 (aka 변수)

•모든 Azure의 Resource는 Resource Group에속한다.

•Region에관계없이 Life Cycle이같은 Resource를하나의 Group으로관리하는것이용이

Page 39: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Resource Group

한국중부한국중부 한국중부

한국중부한국중부

한국남부한국남부 한국남부

저장소그룹 컴퓨터그룹 IP 그룹

Page 40: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Resource Group

Load Balancer Front End Back End

Page 41: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Virtual Network

부부방서재 아이방

옷방

부엌창고

창고1창고2

•용도에맞게 Network를분리하는작업

•가상네트워크를생성한후그안에 Subnet이라는별도의공간을 CIDR 기준으로생성해야함

•Compute Resource는 Subnet 안에서동작하게됨

Page 42: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

CIDR?

•Classless Inter-Domain Routing 의약어

• IP를표현할때사용하는표기법으로 Subnet Mask와비슷한기능을한다.

CIDR Class Hosts Mask

/32 1/256 C 1 255.255.255.255

/31 1/128 C 2 255.255.255.254

/30 1/64 C 4 255.255.255.252

/29 1/32 C 8 255.255.255.248

/28 1/16 C 16 255.255.255.240

/24 1 C 256 255.255.255.000

/16 256 C, 1 B 65536 255.255.000.000

/8 65536 C, 256B, 1 A 16777216 255.000.000.000

Page 43: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Network Security Group

•Network ACL과동일한 Format

•Subnet 또는 vNIC에연결

•기본 Network Tag가존재• VIRTUAL_NETWORK

• AZURE_LOADBALANCER

• INTERNET

•각 Resource는 1개의 SG만연결

•TCP/UDP 패킷만제어가능

Page 44: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Network Security Group

우선순위

원본 IP 원본포트 대상 IP 대상포트 프로토콜 Access

65000 VIRTUAL_NETWORK *VIRTUAL_NETWOR

K* * 허용

65001AZURE_LOADBALANCE

R* * * * 허용

65500 * * * * * 거부

우선순위

원본 IP 원본포트 대상 IP 대상포트 프로토콜 Access

65000 VIRTUAL_NETWORK *VIRTUAL_NETWOR

K* * 허용

65001 * * 인터넷 * * 허용

65500 * * * * * 거부

Inbound Default Policy

Outbound Default Policy

Page 45: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Blob

•Azure에서저장소로활용할수있는공간

•VM Disk 또는 Access Log 등을저장할수있음

•Table을지원하여 Key-Value 값을저장할수있음

•미디어, 이미지, html 등의문서등을저장할수있음

•Queue 저장소도있으며, 메세징처리가능

•File Storage를지원해 SMB 연결을할수있음

•Blob 계정당최대 500TB 까지저장가능

Page 46: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Blob

Korea Central

Async

Korea Central Korea South

Async

Korea Central Korea South

LRS GRS RA-GRS

• 단일 Region내 3개복제본

• Disk와 Node, Rack단위장애요소분리하여보호

• 쓰는즉시복제

• 매우우수한듀얼 RAID

• 두개 Region내 6개복제본

• Region 단위데이터를보호

• 두번째복제는 Async로일어남

• GRS + Read Access

• 별도의 Read Endpoint가존재

Page 47: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Virtual Machine

에어컨

•궁극적 Cloud를사용하는대표적인이유가되는자원

•원본 Disk Image에따라 Compute 환경이변함

•Bare-metal Server(aka 깡통서버) 대비약 99.9%

성능

•정형화된 Compute 옵션제공

•원본이미지가작을수록빨리배포됨

Page 48: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Virtual Machine 크기

https://docs.microsoft.com/ko-kr/azure/virtual-machines/virtual-machines-windows-

sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json

Page 49: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

가용성집합?

•Fault Domain(aka FD) 이라는개념의 Farm이있음

•FD는전원, 네트워크, 배선등장애를기준으로분리되어있는리소스공간이라지칭할수있음

•Update Domain(aka UD)은 Windows 또는 Software

등의 Update가발생할시업데이트를할수있는그룹을지칭할수있음

Page 50: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

가용성집합?

Page 51: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Temporary storage

•VM이배포된 Host의 Local Disk의일부를 VM에할당

•Windows는 D:\, Linux는 /mnt (일반적으로 /dev/sdb)

•Disk는휘발성으로데이터가유지되지않을수있음

•일반적으로 Log 또는 Dump File등을생성할시사용

•필요한데이터는 Temp Storage에생성하였다가 VM

종료시 blob으로이동하도록설정해야함

https://docs.microsoft.com/ko-kr/azure/storage/storage-about-disks-and-vhds-linux

https://blogs.msdn.microsoft.com/mast/2013/12/06/understanding-the-temporary-drive-on-windows-azure-

virtual-machines/

Page 52: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Load Balancer

•L4 기반 Load Balancer

•VM의 Availability set을설정하지않으면 1:1만가능

•특정 VM에 Port Forwarding 설정을할수있음

•Source IP 선호도모드와해시기반배포모드설정

•유휴제한시간이있으며, 기본적으로 4분

Page 53: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

해시기반배포모드

Page 54: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

소스 IP 선호도모드

Page 55: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Managed Disk

•기존 Blob에 VM Disk를저장하는방식과달리 Disk만관리가가능

•Snapshot, Capture 등의기능이제공됨

•완전독립형 Disk이기때문에 Blob의종속성이사라짐

•Auto Scale Set 설정시최대 10배의 VM 개수를지정할수있음

•Blob에종속되지않기때문에 Export 및 File관리가별도로필요함

Page 56: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Demo #2

Resource Group ~ Load Balancer

Page 57: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Web App

• IaaS? VM? Disk? 아몰랑~ 웹개발만할래

•Plan에따라다른기능을제공하기에눈여겨봐야함

•Windows Server가기본이며, Web App on Linux가Preview 상태

•Windows Server가기본이어서 Service도 IIS가기본

• Infra와 Platform이완벽히분리되어동작한다!

Page 58: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Logic App

•Scheduler를직접구현하지말자!

•Azure에서제공하는 Plug-in으로코딩없이연동하자!

•이건백문의불여일견이다.

Page 59: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Azure CDN

•우리는지구촌, 거리는백만리, 속도는…

•정적컨텐츠는동네까지배달해주자

•Akamai와 Verizon을쓸수있음

•중국은지구에있지만지구가아님 (.cn의위엄)

Page 60: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Demo #3

Web App과 Logic App

Page 61: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Azure SQL

•PaaS에준하는관리형데이터베이스서비스

•SQL Server를기준으로하고있으며 MySQL은 Soon..

•ClearDB라는업체에서 MySQL을서비스중

•Auto Scale 등이지원되지만, 사용할수있는기능은제한적이며 Azure에서제공하는 Add-in만가능

•VM이아닌 eDTU라는단위로고객에게서비스제공

https://docs.microsoft.com/ko-kr/azure/sql-database/sql-database-features

Page 62: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

DTU?

•단일 Azure SQL의보장된리소스의측정단위

•CPU, 메모리및 Data 와트랜잭션 I/O의혼합된측정치

http://dtucalculator.azurewebsites.net/

Page 63: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Demo #4

Azure SQL

Page 64: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

깨알비교! Azure vs AWS

https://docs.microsoft.com/ko-kr/azure/architecture/aws-professional/services

카타고리 AWS Azure

Virtual Service Elastic Cloud Compute (EC2) Virtual Machines

Virtual Network Virtual Private Cloud (VPC) Virtual Network

Web Application Elastic Beanstalk Web Apps, Cloud Services

Container Management EC2 Container Service Container Service

Backend process logic Lambda Function, Web Jobs, Logic Apps

Object Storage Simple Storage Service (S3) Blob Storage

Relational Database RDS SQL Database

NoSQL database DynamoDB DocumentDB

Load Balancing Elastic Load Balancing Load Balancer, Application Gateway

Seatch Elasticsearch Service Search

Page 65: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

드리고싶은말씀

Page 66: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

보안공지

PHP 기반웹서버의보안취약점을노리는행위가늘어나고있습니다. 특정클라우드상의톰캣서버를노리고있지만점차타클라우드 IP 대역으로확산중입니다.PHP 취약점에대한패치및방화벽관리를하시기바랍니다.

Page 67: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터
Page 68: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

장애가난다고!?

•Azure의모든 Resource는비정상동작할수있음

• IaaS / PaaS / SaaS 등서비스를제공하기때문에보안패치또는부득이한재부팅이필요

•언제나 Azure Status를모니터링할필요가있음

•내가사용하는서비스의 SLA는꼭확인이필요

https://azure.microsoft.com/ko-kr/support/legal/sla/

Page 69: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Azure Status History

https://azure.microsoft.com/en-us/status/history/

Page 70: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

Cloud... 정말쌀까?

•Life Cycle이 2년안쪽의 Spot성 Service에는저렴

•Cloud가저렴한이유중가장큰요소는인력비

•Virtualization Infrastructure를구성할수있는엔지니어가있다면, Cloud는오히려과대과금시스템

•Azure는모든것을해주는것같지만, 모든제약사항을전부알지못하면언젠가내발목을잡을수있음

Page 71: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

우리에게중요한건서비스

•Cloud에서서비스를한다는것은모든 Resource는HA구성이되어야함

• Infra 또는 Application의단일장애에의해전체서비스장애가일어나지않도록구성되어야함

•선조치후분석을위한 Log를자세히남기는것이중요

•Netflix에서사용하는 Chaos Monkey의도움도고려

Page 72: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

혼자고민하지마세요.

전문가와상의하세요.

Page 73: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

고맙습니다.

Page 74: 170325 스마트앱개발자포럼-세선1-부산창조혁신센터

한국Azure 사용자그룹fb.com/groups/krazure