본문으로 바로가기

Asure(애저), MS의 클라우드 플랫폼

category Cloud 2023. 6. 8. 15:43

 

제공되는 서비스 범위에 따라 아래와 같은 모델로 나뉜다.

  • 인프라 영역 = Networking(네트워크망) ~ Virtualization(가상화)
  • 플랫폼 영역 = O/S ~ Runtime
  • S/W 영역 = Data ~ Applications

클라우드 서비스 타입(Model)

* 자료출처 : https://dev.to/cloudtech/iaas-vs-paas-vs-saas-41d2

* 좌측부터: On-premise(온-프라미스) | Iaas(이아스) | Paas(파스) | Saas(사스)

* Middleware: 웹 서버, DBMS, DNS(service-domain 연결) 등

* Runtime: .NET, java, pythone, Node.js 등

* 웹 개발에서는 주로 IaaS(Virtual Machine), PaaS 활용(∵인프라 관리 필요 없이 개발소스만 업로드해서 개발가능)

* SaaS: 로그인만 하면 바로 사용가능한 서비스를 제공하는 형태. 예를 들어 Office365 등.

 

Asure에서 WIndows VM 사례(IaaS Cloud Model)

https://learn.microsoft.com/ko-kr/azure/architecture/reference-architectures/n-tier/windows-vm

 

App Services (IaaS)

https://pin.it/1y0iHdU

https://learn.microsoft.com/en-us/previous-versions/azure/security/blueprints/pcidss-paaswa-overview

 

Azure Security and Compliance Blueprint - PaaS Web Application for PCI DSS

 

Asure Web 운영에 필요한 Service

  • DNS: service-domain 연결. private/public.
  • Traffic Manager 기능 포함.
  • CDN(Content Delivery Network): 예를 들면 youtube서비스.
  • Load Balancer: L4(TCP/IP Level) 부하분산기.  <IaaS>
  • Application Gateway: L4=TCP/IP, L7=HTTP. WAF(Web Application Firewall) 제공.
  • Azure Functions: 이벤트 기반 간단한 동작을 하도록 조각 코드 제공.
  • Storage: Queue, Table, Blob, File

 

부하분산이란..?

  Scale Up: 서버 용량을 올리기. 예를 들어 DBMS.

  Scale Out: 서버 수를 늘리기. 예를 들어 웹 서버 → 여러 대 서버간 부하분산(Load Balancing) 필요 → L3, L4 Switch


Serverless

- 서버(인프라) 걱정 없이 개발/운영(서비스)에만 집중할 수 있도록 한다는 개념.

- 서버리스 컴퓨팅, 서버리스 아키텍처

- 비용 절감. 유연한 확장성. 종량제(사용할때만 과금)

- FaaS(Functions as a Services): 일반 클라우드 서비스는 부하에 따라 확장되는 방식. 이와 달리 호출될 때마다 인스턴스 기동 및 동작하므로 트래픽 변화에 따라 유연한 동작.

 

Azure Web > 솔루션 아이디어: 확장 가능한 전자 상거래 웹앱 설계

 https://learn.microsoft.com/ko-kr/azure/architecture/solution-ideas/articles/scalable-ecommerce-web-app

 

확장 가능한 전자 상거래 웹앱 설계 - Azure Architecture Center

Azure가 인프라를 처리하는 동안 개인 설정된 환경을 만들 수 있도록 Azure Functions 및 Web Apps를 사용하여 확장 가능한 전자 상거래 웹앱을 빌드합니다.

learn.microsoft.com

Azure Serverless Services

https://cloudacademy.com/blog/microsoft-azure-functions-vs-google-cloud-functions-fight-for-serverless-cloud-domination-continues/

 

Microsoft Azure Functions vs. Google Cloud Functions vs. AWS Lambda

Rather than declaring a "winner," this post takes a look at comparing between Microsoft Azure Functions vs Google Cloud Functions vs AWS Lambda. Read more.

cloudacademy.com

 

Azure Functions

Azure Functions

- 데이터 처리, 시스템 통합, IoT 작업, 간단한 API/마이크로 서비스 빌드 시에 유용한 솔루션.

- 트리거(Trigger) - 입/출력 데이터 바인딩 지원.

Azure Functions 활용 설계 예

https://twitter.com/duward/status/1055616772873879553/photo/1 (Cloud Engineer @duward)

 

 


3. Azure Data Platform

#OLTP+OLAP

데이터 종류 (Data Categories)

https://epictrave.tistory.com/27

 

Azure 무료 계정이 있는 무료 SQL Database - Azure SQL Database

Azure 무료 계정을 사용하여 Azure SQL Database를 무료로 배포하는 방법에 대한 지침입니다.

learn.microsoft.com

무과금을 위한 설정:&nbsp;컴퓨팅 + 스토리지 에서&nbsp; 데이터베이스 구성

 

SQL-Server-Sample-Database(2023-06-21).zip
0.10MB
샘플 데이터 구조(sqlservertutorial.net)

 

데이터베이스

비관계형 데이터베이스(noSQL)

  • noSQL 강점: 유연성과 확장성. 대용량 데이터에 대한 빠른 처리속도.
  • noSQL 한계: 복잡한 데이터 트랜잭션이나 높은 수준의 일관성이 필요한 애플리케이션에는 부적합. 관계형 데이터베이스 처럼 표준화 및 잘 정의된 스키마가 없기 때문에 데이터 관리가 더 복잡해질 수 있습니다.

▼noSQL 데이터베이스 4가지 유형 (○참조: https://wikidocs.net/190247)

Document Database 일반적으로 데이터를 JSON 또는 BSON 형식의 문서로 저장. 스키마가 없다. 콘텐츠 관리 시스템, 전자 상거래 및 복잡한 데이터 구조가 필요한 기타 응용 프로그램에서 일반적으로 사용
Key-Value Database 데이터는 키-값 쌍으로 저장. 확장성이 뛰어나고 많은 양의 데이터를 빠르게 처리할 수 있다. 캐싱, 세션 저장소 및 실시간 입찰 시스템에서 사용
Column Family Database Column을 나타내는 Column Key/Data/Timestamp Tuple을 Row를 나타내는 Row Key에 Mapping하여 Data Table을 표현하는 DB.
noSQL: Column Family DB

https://ssup2.github.io/theory_analysis/NoSQL_Column-oriented_Column_Family_DB/ (RDBMS와 구조 비교)
빅 데이터 애플리케이션, 분석 및 콘텐츠 관리 시스템에서 사용
Graph Database 그래프를 구성하는 노드(Node, 엔터티 또는 개체)와 에지(Edge, 엔터티 간의 관계) 형태로 데이터를 저장.  소셜 네트워크, 추천 엔진 및 엔터티 간의 복잡한 관계에 의존하는 기타 애플리케이션에서 사용

 


애저 데이터 분석 서비스(Azure Data Analysis Service)..?

: Azure 데이터 분석 플랫폼을 활용한 분석 처리 서비스

Azure Data Analysis Service 과정
데이터 분석 플랫폼 역할

 

Azure의 데이터 분석 플랫폼

▼최신 Data warehouse용 Azure 서비스(2023.06)

https://learn.microsoft.com/en-us/azure/?product=analytics


Azure Data Factory
- 여러 데이터 원본을 정제(노이즈 필터링)해서 필요한 데이터 생성. 데이터를 통합.
- 데이터소스→파이프라인(노이즈 필터)→필요데이터 생성
 

Azure Data Lake Analytics

Azure Data Lake Storage
Azure Data Lake Analytics:
- 빅데이터 분산 분석 서비스
Azure Data Lake Storage:
- 데이터 웨어하우스의 레파지토리
- 파일 엑세스 효율을 위해 디렉터리로 구성
- POSIX,RBAC(Role-Based Access Control,역할 기반)접근 권한 지원
- Hadoop 분산 파일 시스템 호환
 

Azure Databrics
- 빅데이터 처리 및 스트리밍 기능을 제공하는 Apache Spark 기반 플랫폼
- 공동작업 간소화
- 파일 엑세스 효율을 위해 디렉터리로 구성
- POSIX,RBAC 접근 권한 지원
- Hadoop 분산 파일 시스템 호환
- Power BI(Business Insight) 연동
Apache Spark
- 빅데이터 처리를 위한 오픈소스 분산 처리 플랫폼(엔진)
- in memory방식으로 초고속 수행.
- 주요 기능은 초고속 병렬처리, 데이터 가공/추출, 데이터 분석 전처리

HDInsight
HD:Hadoop의 약자, 하둡 빅데이터 분산 처리 소스를 Azure 클라우드로 포팅. Hadoop


Azure Synapse Analytics
- 빅데이터 쿼리 서비스
- 구성 서비스: Synapse SQL, Synapse Pipelines, Synapse Link, Synapse Studio, Synapse Spark
구글의 Big query와 유사한 서비스.
Power BI 데이터를 Visualize 
- Dashboard, Report

 

 

빅데이터 플랫폼 구성 기능

수집 →저장 →처리 →관리
다양한 형태/채널의 데이터 수집/취합   가공,추출,분석 전처리
(Apache Spark)
보안,데이터품질,백업,플랫폼시스템 관리

 

Azure Data Factory 프로세스

일반적인 파이프라인(데이터 기반 워크플로우) 단계

▲Azure Data Factory 개념이해: https://learn.microsoft.com/ko-kr/training/modules/data-integration-azure-data-factory/4-explain-process

 

Power BI

- https://powerbi.microsoft.com/

- 최종 데이터를 대시보드, 레포트 등 시각화하는 도구.

- Power BI Desktop로 작성: *.bpix(데이터포함), *.bpit(템플릿)

 

IoT(Internet of Things)

- IoT Platform = Device(아두이노,라즈베리파이 등) + Service(Azure IoT Hub) + S/W(결과물로 New Data생성/뷰)

IoT Platform Layer
IoT Solution Layers

▲ 출처: IoT 플랫폼에 대한 조사: 통신, 보안 및 개인 정보 보호 관점

 

Aazure IoT Platform end-to-end services

#ETL 

 

IoTClient 프로그래밍: Device ↔ Client

Azure Portal에서 IoT Hub 생성 → Device 등록하고 Client에서 데이터 Send/Receive 해보기.

1. Microsoft.Azure.Devices.Client SDK 설치하여 활용

// https://github.com/KoreaEva/IoT/blob/master/Labs/IoT_Hub/3.Device_Programming.md
// Visual Studio > New Project : C#, Console
using Microsoft.Azure.Devices.Client;

// IoT Hub의 Device 연결 준비물: DeviceID, DeviceConnectionString
private const string DeviceConnectionString = "HostName=byhouiothub01.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=XXXXXXXXX";
private const string DeviceID = "device01"; // 등록한 DeviceID

private DeviceClient SensorDevice = new DeviceClient.CreateFromConnectionString(DeviceConnectionString, DeviceID);

// Send to device.
static async Task SendEvent()
{
    string json = Newtonsoft.Json.JsonConvert.SerializeObject(데이터모델Obj);

    Console.WriteLine(json);

    Message eventMessage = new Message(Encoding.UTF8.GetBytes(json));
    await SensorDevice.SendEventAsync(eventMessage);
}

// Receive from device.
static async Task ReceiveCommands()
{
    Message receivedMessage;
    string messageData;

    receivedMessage = await SensorDevice.ReceiveAsync(TimeSpan.FromSeconds(1));

    if (receivedMessage != null)
    {
        messageData = Encoding.ASCII.GetString(receivedMessage.GetBytes());
        Console.WriteLine("\t{0}> Received message: {1}", DateTime.Now.ToLocalTime(), messageData);

        await SensorDevice.CompleteAsync(receivedMessage);
    }
}

IoTClient_C#_Console_src_20230629.zip
0.00MB

 

 

 

2. DeviceConnectionString 가져오기: Azure Portal > IoT Hub 상세 > Security settings
   └ Shared access policies : Manage shared access policies 

Azure Portal에서 IoT Hub의 DeviceConnectionString 조회하기
Azure Portal에서 IoT Hub의 DeviceConnectionString 조회하기

 

 

IoT Hub to Stream Analytics Service

https://www.element61.be/en/competence/microsoft-azure-stream-analytics

 

Azure Cognitive Service

:Azure의 인공지능 서비스, Cognitive(인지,뇌과학,AI) 를 활용한 AI 서비스 개발 연습

(개발언어를 이용하여 Pre-Built AI, Conversational A, Custom AI 등 Azure 플랫폼 이해)

 

1. REST API 기반으로 제공

2. 여러 OS 및 개발언어 지원(.NET, Java, JavaScript, Python)

3. 이 REST API 기반이므로 웹통신 가능한 언어는 모두 지원

 

 

Microsoft Azure AI Platform

  • Pre-Built AI: 많이 사용되는 서비스를 미리 만들어 둠(마치 아파트의 빌트인과 유사)
  • Conversational AI(대화형AI): 챗봇, 자연어 처리
  • Custom A > Azure Machine Learning: Jupiter Notebook 서비스, 디자인, Auto M/L

 

영역별 Azure Cognitive 서비스

Computer Vision:

# OCR(Optical Character Recognition), 이미지 분석(구별Classification,추출Object Detection), 공간분석 등

# 활용예

  - OCR 활용: 자동차 번호판 인식

  - 추출Object Detection 활용: 자율주행, 교통혼잡도 분석 등.

# 이미지 분석 서비스 조건:

  - 지원 포맷/파일크기/이미지사이즈: JPEG, PNG, GIF, BMP / 4MB미만 / 50x50px이상

  - Read API에서 이미지크기는 50x50 ~ 10000x10000px

Face(안면인식): 카메라의 웃으면 자동으로 찍히는 기능(Smile: 73%)

Content Moderator: 공격을 받을 수 있거나 위험한 또는 바람직하지 않은 콘텐츠를 걸러냄(예를 들어 19금,폭력성 등)

Emotion: 8가지 지표로 사람의 감정분석. 인권문제로 축소중인 서비스.

 

설명: https://learn.microsoft.com/ko-kr/azure/cognitive-services/

 

 

 

 

 

용어

  1. OLTP(OnLine Transaction Processing, 온라인 트랜잭션 처리): 온라인 뱅킹, 쇼핑, 주문 입력 또는 텍스트 메시지 전송 등 동시에 발생하는 다수의 트랜잭션을 실행하는 데이터 처리 유형
  2. OLAP(OnLine Analytical Processing): 데이터 분석하여 목적에 따라 의미있는 정보 생성.
    ├ OLTP vs OLAP: https://www.oracle.com/kr/database/what-is-oltp/
    └ 데이터 워크로드는 OLTP, OLAP로 나눌 수 있다.
  3. ETL(추출(Extract), 변환(Transform), 로드(Load)): 여러 소스의 데이터를 추출, 변환하여 데이터 웨어하우스나 기타 통합 데이터 저장소에 로딩하는 프로세스.
  4. Stream Analytics Job: IoT Hub 로부터 발생하는 스트림 데이터 처리 서비스.
  5. 프리딕티브 메인터넌스(Predictive Maintenance, 예지 정비): 머신러닝+IoT서비스를 활용한 예측 서비스. 비행기, 선박, 스타벅스 머신의 데이터를 기반으로 분석하여 고장을 미리 예측.
  6. confidence: AI 서비스의 정확도 값(0~1)
  7. Data Mining: 축적된 데이터에서 유용한 정보를 추출하는 과정. 챗봇.  Azure QnA Maker 서비스
  8. xxxxxx

References

# Azure REST API : https://learn.microsoft.com/ko-kr/rest/api/?view=Azure

# Azure Certification Map(2024.03): https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2PjDI

 

 

 

 

 

 
 
반응형

'Cloud' 카테고리의 다른 글

AWS - 정리중  (0) 2023.09.06
[용어] Cloud (정리중)  (0) 2023.07.10