지난 1탄에 이어 마이크로소프트에서 클라우드 컴퓨팅하면 바로 떠오르는 MS Azure에 대해 설명하려 한다.
1. Microsoft Azure가 뭐야?
MS Azure는 마이크로소프트에서 만든 클라우드 컴퓨팅 플랫폼 및 인프라(infrastructure) 서비스이다. 2010년에 클라우드 컴퓨팅 플랫폼 서비스(PaaS, Platform as a Service)로 시작하였으며 2013년에는 IaaS(Infrastructure as a Service) 서비스를 출시하면서 현재 AWS(Amazon Web Service), GCP(Google Cloude Platform)와 경쟁관계에 있다.

2. Azure로 어떤걸 할 수 있어? [Azure 메뉴얼]
MS Azure는 600개 이상의 서비스가 존재하며 까다로운 비즈니스 과제를 해결할 수 있다.

가장 일반적으로 사용되는 범주는 다음과 같다.
- 컴퓨팅
- 네트워킹
- Storage
- 모바일
- 데이터베이스
- 웹
- IoT(사물인터넷)
- 빅 데이터
- AI
- DevOps1(Development + Operations)
위 범주에 대해 지원하고 있는 기능들에 대해 자세하게 다뤄보려 한다.
1. 컴퓨팅
컴퓨팅 서비스는 고객이 Azure 플랫폼으로 이전(migration)하는 주된 이유 중 하나이다.
아래는 Azure의 컴퓨팅 서비스 예제이다.
| 서비스 이름 | 서비스 기능 |
| Azure Virtual Machines | Azure에서 호스트된 Windows 또는 Linux VM(가상 머신) |
| Azure Virtual Machine Scale Sets | Azure에서 호스트된 Windows 또는 Linux VM의 스케일링 |
| Azure Kubernetes2 Service | 컨테이너화된 서비스를 실행하는 VM을 위한 클러스터 관리 |
| Azure Service Fabric | Azure 또는 온-프레미스3에서 실행되는 분산 시스템 플랫폼 |
| Azure Batch | 병렬 및 고성능 컴퓨팅 애플리케이션을 위한 관리 서비스 |
| Azure Container Instances | 서버 또는 VM을 프로비저닝4하지 않고 Azure에서 실행되는 컨테이너화된 앱 |
| Azure Functions | 이벤트 기반의 서버리스 컴퓨팅 서비스 |
2. 네트워킹
네트워킹 서비스는 컴퓨팅 리소스를 연결하고 애플리케이션에 대한 액세스를 제공하는 것을 주 기능으로 하는 Azure 서비스이며 기능은 다음과 같다.
| 서비스 이름 | 서비스 기능 |
| Azure Virtual Network | 수신 VPN(가상 사설망) 연결에 VM을 연결 |
| Azure Load Balancer | 애플리케이션 또는 서비스 엔드포인트5에 대한 인바운드 및 아웃바운드6 연결의 균형을 맞춤 |
| Azure Application Gateway | 애플리케이션 보안을 강화하는 동시에 앱 서버 팜7 제공을 최적화 |
| Azure VPN Gateway | 고성능 VPN8 게이트웨이를 통해 Azure 가상 네트워크에 액세스 |
| Azure DNS | 매우 빠른 DNS(Domain Name System) 응답과 매우 높은 도메인 가용성을 제공 |
| Azure Content Delivery Network | 전 세계 고객에게 고대역폭 콘텐츠를 제공 |
| Azure DDoS Protection | Azure에서 호스트되는 애플리케이션을 DDoS(배포된 서비스 거부) 공격으로부터 보호 |
| Azure Traffic Manager | 전 세계 Azure 지역에 네트워크 트래픽을 분산 |
| Azure ExpressRoute | 고대역폭 전용 보안 연결을 통해 Azure에 연결 |
| Azure Network Watcher | 시나리오 기반 분석을 사용하여 네트워크 문제를 모니터링하고 진단 |
| Azure Firewall |
스케일링 성능에 제한이 없고 보안 수준이 높은 고가용성 방화벽을 구현 |
| Azure 가상 WAN |
로컬 사이트와 원격 사이트를 연결하는 통합 WAN(광역 네트워크)을 구축 |
3. 스토리지
Azure는 네 가지 기본 유형의 스토리지(Storage) 서비스를 제공한다.
| 서비스 이름 | 서비스 기능 |
| Azure Blob Storage | 비디오 파일이나 비트맵 같은 대규모 개체를 위한 스토리지 서비스 |
| Azure File 스토리지 | 파일 서버처럼 액세스하고 관리할 수 있는 파일 공유 |
| Azure Queue 스토리지 | 애플리케이션 간 메시지를 큐에 넣고 안정적으로 전달하기 위한 데이터 저장소 |
| Azure Table Storage | Table Storage는 비관계형 정형 데이터(정형 NoSQL9 데이터라 함)를 클라우드에 저장하여 키/특성 스토어에 스키마 없는 설계를 제공 |
Azure Storage 서비스는 아래와 같은 공통적인 특성을 가지고 있다.
- 중복 및 복제 기능을 갖추고 있어 내구성과 가용성이 뛰어남
- 자동 암호화와 역할 기반 액세스 제어를 통해 보안 유지
- 사실상 스토리지에 제한이 없으므로 확장성이 뛰어남
- 유지 및 사용자에 대한 중요한 문제를 관리하고 처리
- HTTP 또는 HTTPS를 통해 전 세계 어디에서든 액세스 가능
4. 모바일
Azure에서는 개발자가 iOS, Android 및 Windows 앱용 모바일 백 엔드 서비스를 쉽고 빠르게 만들 수 있다. 로그인을 추가한 후 SAP, Oracle, SQL Server, SharePoint 등 온-프레미스 리소스에 연결하는 작업과 같이 시간이 오래 걸리고 프로젝트 위험을 높이는 기능을 간단하게 포함시킬 수 있다. 또한 아래와 같은 기능을 수행할 수 있다.
- 오프라인 데이터 동기화
- 온-프레미스 데이터 연결
- 푸시 알림 브로드캐스트
- 비즈니스 요구 사항과 일치하도록 자동 크기 조정
5. 데이터베이스
Azure에서는 다양한 형식과 볼륨의 데이터를 저장하도록 여러 데이터베이스 서비스를 제공한다. 글로벌 연결을 통해 사용자는 이러한 데이터를 바로 사용할 수 있다. 서비스 기능은 아래와 같다.
| 서비스 이름 | 서비스 기능 |
| Azure Cosmos DB | NoSQL 옵션을 지원하는 글로벌 분산형 데이터베이스 |
| Azure SQL Database | 자동 스케일링과 필수 인텔리전스, 강력한 보안을 통해 완벽하게 관리되는 관계형 데이터베이스 |
| Azure Database for MySQL | 고가용성과 보안이 포함되어 완벽하게 관리되고 스케일링 가능한 MySQL 관계형 데이터베이스 |
| Azure Database for PostgreSQL | 고가용성과 보안을 제공하며 완벽하게 관리되고 스케일링 가능한 PostgreSQL10 관계형 데이터베이스 |
| Azure Virtual Machines의 SQL Server | 클라우드에서 엔터프라이즈 SQL Server 앱을 호스트하는 서비스 |
| Azure Synapse Analytics | 추가 비용 없이 모든 스케일링 수준에서 필수 보안을 제공하며 완벽하게 관리되는 데이터 웨어하우스 |
| Azure Database Migration Service | 애플리케이션 코드 변경 없이 데이터베이스를 클라우드로 이전하는 서비스 |
| Azure Cache for Redis | 자주 사용하는 정적 데이터를 캐시하여 데이터 및 애플리케이션 대기 시간을 줄이는 완전 관리형 서비스 |
| Azure Database for MariaDB | 고가용성과 보안이 포함된 완벽하게 관리되고 스케일링 가능한 MariaDB 관계형 데이터베이스 |
6. 웹
오늘날 비즈니스 환경에서는 훌륭한 웹 환경을 구축하는 것이 중요하다. 따라서 Azure에서는 웹앱 및 HTTP 기반 웹 서비스의 빌드 및 호스트에 대한 지원 기능이 포함되어 있다. 서비스 기능은 웹 호스팅에 초점을 맞추며 다음과 같다.
| 서비스 이름 | 서비스 기능 |
| Azure App Service | 강력한 클라우드 웹 기반 앱을 신속하게 생성 |
| Azure Notification Hubs | 원하는 백 엔드11에서 원하는 플랫폼으로 푸시 알림을 전송 |
| Azure API Management | 개발자, 파트너 및 직원에게 API12를 안전하게 대규모로 게시 |
| Azure Cognitive Search | 완전 관리형 SaaS(Search as a Service)13 배포 |
| Azure App Service의 Web Apps 기능 | 주요 업무용 웹앱을 대규모로 만들고 배포 |
| Azure SignalR Service | 실시간 웹 기능 추가 |
7. IoT(Internet of Things)
오늘날에는 과거의 그 어느 때보다 자세한 정보에 액세스할 수 있다. 개인용 정보 단말기가 스마트폰으로 이어졌고, 스마트워치, 스마트 온도 조절기, 스마트 냉장고까지 다양한 사물들에 대해 정보를 수집할 수 있다. Azure에서는 IoT를 위한 엔드투엔드14 솔루션을 지원하고 구동 가능하다. 서비스 기능은 아래와 같다.
| 서비스 이름 | 서비스 기능 |
| IoT Central | 대규모 IoT 자산의 연결, 모니터링 및 관리를 도와주는 완전 관리형 글로벌 IoT SaaS(Software as a Service) 솔루션 |
| Azure IoT Hub | 수백만 개의 IoT 디바이스 간에 안전한 통신 및 모니터링을 제공하는 메시징 허브 |
| IoT Edge | 데이터 분석 모델을 IoT 디바이스로 직접 푸시할 수 있는 완전 관리형 서비스로, 클라우드 기반 AI 모델을 참조할 필요 없이 상태 변화에 신속하게 대응 |
8. 빅 데이터
날씨 시스템, 통신 시스템, 유전체 연구, 이미징 플랫폼 및 다른 여러 시나리오의 데이터는 수백 GB(기가바이트)의 데이터를 생성한다. 이러한 많은 양의 데이터는 분석하고 결론을 내리기 쉽지 않은데 대규모 데이터셋을 처리하기 위해 오픈 소스 클러스터 기술이 개발되었다. Azure는 빅 데이터 및 분석 솔루션을 제공하기 위해 광범위한 기술 및 서비스를 지원한다. 서비스 기능은 아래와 같다.
| 서비스 이름 | 서비스 기능 |
| Azure Synapse Analytics | 대규모 병렬 처리를 활용하여 페타바이트 규모 데이터에서 복잡한 쿼리를 빠르게 실행하는 클라우드 기반 엔터프라이즈 데이터 웨어하우스를 사용하여 대규모 분석을 실행 |
| Azure HDInsight | 클라우드의 관리형 Hadoop 클러스터를 사용하여 대규모 데이터를 처리 |
| Azure Databricks | Apache Spark15기반의 공동 작업용 분석 서비스를 Azure의 다른 빅 데이터 서비스와 통합 |
9. AI(Artificial Intelligence)
클라우드 컴퓨팅과 관련된 AI는 광범위한 서비스에 기반하며 이러한 서비스 중에는 머신 러닝(Machine Learning, 기계 학습)이 핵심이다. 머신 러닝은 컴퓨터에서 기존 데이터를 사용하여 미래 동작, 결과 및 추세를 예측하는 데이터 과학 기술이다. 머신 러닝을 통한 예측은 좀 더 똑똑한 앱 및 디바이스를 만드는 데 도움이 되는데 온라인 쇼핑을 예로 들면, 사용자가 구매한 제품에 따라 좋아할 만한 다른 제품을 추천하는 것이다.
다음은 Azure에서 가장 일반적인 AI 및 머신 러닝 서비스 유형이다.
| 서비스 이름 | 서비스 기능 |
| Azure Machine Learning 서비스 | 기계 학습 모델의 개발, 교육, 테스트, 배포, 관리 및 추적에 사용할 수 있는 클라우드 기반 환경으로 모델을 자동으로 생성하여 사용자에 맞게 조정이 가능하다. 이를 통해 로컬 머신의 학습을 시작한 다음, 클라우드로 확장할 수 있다. |
| Azure ML Studio | 미리 빌드된 기계 학습 알고리즘 및 데이터 처리 모듈을 사용하여 기계 학습 솔루션을 빌드, 테스트, 배포할 수 있는 공동 작업용 시각적 작업 영역 |
머신 러닝과 관련이 있는 제품 세트를 Cognitive Services16라고 하는데 Azure에서는 다음과 같은 미리 빌드된 API 서비스를 지원한다.
| 서비스 이름 | 서비스 기능 |
| Vision | 이미지 처리 알고리즘을 사용하여 사진 및 동영상을 스마트하게 식별, 캡셔닝17, 인덱싱, 조정 |
| Speech | 음성을 텍스트로 변환하거나, 음성을 인증에 사용하거나, 앱에 화자 인식을 추가 |
| 지식 매핑 | 지능형 추천 및 의미 체계 검색 등의 작업을 해결하기 위해 복잡한 정보와 데이터를 매핑 |
| Bing Search | Add Bing Search API를 앱에 추가하고 단일 API 호출 기능을 활용하여 수십억 개의 웹 페이지, 이미지, 동영상 및 뉴스를 철저히 검색하는 기능을 활용 가능 |
| 자연어 처리 | 앱에서 미리 빌드된 스크립트를 사용하여 자연어를 처리하고, 감정을 평가하고, 사용자가 원하는 것을 인식하는 방법을 학습 가능 |
10. DevOps
DevOps는 사람, 프로세스 및 기술 통합을 통해 소프트웨어 제공을 자동화하고, 이를 사용자에게 지속적으로 제공할 수 있다. Azure DevOps를 사용하면 애플리케이션에 연속 통합, 제공 및 배포를 제공하는 빌드 및 릴리즈 파이프라인18을 만들 수 있다. 이러한 기능은 애플리케이션의 일관적이고 반복 가능한 배포가 가능하며 빌드 및 릴리즈 프로세스가 간소화된다. 서비스 이름과 기능은 아래와 같다.
| 서비스 이름 | 서비스 기능 |
| Azure DevOps | 고성능 파이프라인, 무료 개인 Git 리포지토리, 구성 가능한 Kanban19 보드, 광범위한 자동화 및 클라우드 기반 부하 테스트와 같은 개발 공동 작업 도구를 사용 가능 |
| Azure DevTest Labs | 배포 파이프라인에서 바로 애플리케이션을 테스트하거나 시연하기 위해 주문형 Windows 및 Linux 환경을 신속하게 만들 수 있음 |
11. Blockchain
Azure에서는 대규모로 블록체인 네트워크를 확장하고 운영할 수 있는 완전 관리형 원장 서비스를 제공한다. Azure Blockchain Service는 블록체인 네트워크 거버넌스 뿐만 아니라 인프라 관리를 통합적으로 제어하여 다음과 같은 기능을 제공한다.
- 간단한 네트워크 배포 및 작업
- 기본 제공 컨소시엄20 관리
- 친숙한 개발 도구를 사용하여 스마트 계약 개발
- IBFT(Istanbul Byzantine Fault Tolerance)21 합의 매커니즘을 사용하여 Ethereum(이더리움) Quorum22 원장을 지원
| 서비스 이름 | 서비스 기능 |
| Azure Blockchain 서비스 | 컨소시엄 블록 체인 네트워크 구축, 관리 및 확장 |
| Azure Blockchain Tokens | 원장 기반 토큰을 쉽게 정의, 생성 및 관리 |
| Azure Blockchain Workbench | 클라우드에서 손쉽게 블록 체인 앱 프로토 타입 |
| Azure Cosmos DB | 규모에 관계없이 개방형 API가있는 빠른 NoSQL 데이터베이스 |
| Azure 논리 앱 | 코드를 작성하지 않고도 클라우드 전반에서 데이터 액세스 및 사용 자동화 |
MS Azure 실제로 사용하는 방법과 학생용 구독 사용법 등은 다음 포스팅에서 자세하게 다루어 보도록 하겠다.
Reference)
- 마이크로소프트 홈페이지 Azure 소개
- "AWS, Gartner 인프라 및 플랫폼 서비스 부문 매직 쿼드런트에서 10년 연속 클라우드 리더 선정". AWS 한국블로그. Danilo Poccia. 2020.08.
- "[용어 아하!] 온프레미스(On-premise)". 디지털타임스. 2017.01.25.
- Virtual Network 서비스 엔드포인트. Microsoft. 2019.11.08.
- "What is Search as a Service?". Algolia Blog. Ashley Stirrup. 2019.10.17.
- "인텔코리아 '사물인터넷 전략은 엔드투엔드'". 매일경제. 2014.12.11.
- "What is a kanban board?". ATLASSIAN Agile Coach. MAX REHKOPF.
- 컨소시엄 블록체인. 해시넷.
- "Scaling Consensus for Enterprise: Explaining the IBFT Algorithm". Consensys blog. 2018.06.22.
궁금하거나 더 알고싶은 내용, 오타나 수정할 내용, 자신의 생각 모두 댓글로 남겨주세요!
여러분과 같이 성장하는 블로그가 되도록 힘내겠습니다.
좋아요와 댓글은 큰 힘이됩니다. 감사합니다.
- 소프트웨어의 개발과 운영의 합성어로 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화. 이를 통해 애플리케이션과 서비스를 빠른 속도로 제공할 수 있음 [본문으로]
- 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼 [본문으로]
- On-premise, 소프트웨어 등 솔루션을 클라우드 같이 원격 환경이 아닌 자체적으로 전산실 서버에 직접 설치해 운영하는 방식 [본문으로]
- 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것 [본문으로]
- 가상 네트워크에 대해 중요한 서비스리소스 보호할 수 있게함 [본문으로]
- Inbond : 서버 내부로 들어오는 것, Outbound : 서버 바깥으로 나가는 것 [본문으로]
- server farm, server cluster라고도 하는 컴퓨터 서버의 모임 [본문으로]
- Virtual Private Network, 가상 사설망으로 두 개 이상의 물리적 네트워크(또는 장치) 사이의 인터넷/공용 네트워크를 통해 생성된 가상 네트워크 [본문으로]
- NoSQL 데이터베이스는 특정 데이터 모델에 대해 특정 목적에 맞추어 구축되는 데이터베이스로서 현대적인 애플리케이션 구축을 위한 유연한 스키마를 갖추고 있음 [본문으로]
- 오픈소스 (범용) 객체-관계형 데이터베이스 관리 시스템 [본문으로]
- Back-End, 웹페이지의 컨텐츠를 공급하며 내부적으로 DB를 저장하거나 관리 [본문으로]
- Application Programming Interface, 애플리케이션 소프트웨어의 개발 및 통합에 사용되는 정의 및 프로토콜 세트 [본문으로]
- Software as a Service 모델을 사용하는 사이트 검색 유형으로 이를 통해 기업은 호스팅, 운영 및 유지 관리에 대해 걱정할 필요가 없게됨 [본문으로]
- end-to-end, 사물인터넷 생태계의 처음(송신)부터 끝(수신)까지 모든 접속 정보 [본문으로]
- 대규모 데이터 처리를위한 통합 분석 엔진 [본문으로]
- 기계 학습 분야의 전문 지식이 없어도 모든 개발자가 손쉽게 AI를 사용할 수 있도록 지원하는 서비스 [본문으로]
- 이미지를 이미지를 설명하는 문장으로 변환시켜주는 기술 [본문으로]
- pipeline, 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조 [본문으로]
- 작업을 시각화하고, 진행중인 작업을 제한하며 효율적인 흐름을 최대화하도록 설계된 프로젝트 관리 도구 [본문으로]
- 동일한 목적이나 가치를 가지고 있는 다수의 기업과 단체들이 하나의 컨소시엄을 구성하고, 그 안에서 작동하도록 만든 블록체인 [본문으로]
- 이더리움 네트워크에서 작업증명으로 쓰이는 합의 알고리즘 [본문으로]
- 개인 블록체인 네트워크에서 사용하기 위해 특별히 설계된 오픈소스 브록체인 프로토콜로 모든 노드를 소유한느 단일 구성원 또는 여러 구성원이 각각 네트워크의 일부를 소유하는 컨소시엄 블록체인 네트워크 [본문으로]
'기술동향 > 클라우드 컴퓨팅' 카테고리의 다른 글
| 클라우드 컴퓨팅 #마이크로소프트 3탄. MS Azure 학생계정으로 등록하기(신용카드 필요X) Azure for Students (0) | 2021.02.18 |
|---|---|
| 클라우드 컴퓨팅 #마이크로소프트 1탄. 사티아 나델라 (0) | 2021.02.04 |