본문 바로가기

기술동향/클라우드 컴퓨팅

클라우드 컴퓨팅 #마이크로소프트 2탄. MS Azure(마이크로소프트 애저)란 무엇인가?

지난 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)와 경쟁관계에 있다.

Gartner, Magic Quadrant for Cloud Infrastructure and Platform Services, 2020 

 

2. Azure로 어떤걸 할 수 있어? [Azure 메뉴얼]

MS Azure는 600개 이상의 서비스가 존재하며 까다로운 비즈니스 과제를 해결할 수 있다.

Azure에서 사용 가능한 서비스 및 기능 개요

 

가장 일반적으로 사용되는 범주는 다음과 같다.

  • 컴퓨팅
  • 네트워킹
  • Storage
  • 모바일
  • 데이터베이스
  • IoT(사물인터넷)
  • 빅 데이터
  • AI
  • DevOps[각주:1](Development + Operations)

위 범주에 대해 지원하고 있는 기능들에 대해 자세하게 다뤄보려 한다.

1. 컴퓨팅

컴퓨팅 서비스는 고객이 Azure 플랫폼으로 이전(migration)하는 주된 이유 중 하나이다.

아래는 Azure의 컴퓨팅 서비스 예제이다.

서비스 이름 서비스 기능
Azure Virtual Machines Azure에서 호스트된 Windows 또는 Linux VM(가상 머신)
Azure Virtual Machine Scale Sets Azure에서 호스트된 Windows 또는 Linux VM의 스케일링
Azure Kubernetes[각주:2] 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 고성능 VPN[각주:8] 게이트웨이를 통해 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는 비관계형 정형 데이터(정형 NoSQL[각주:9] 데이터라 함)를 클라우드에 저장하여 키/특성 스토어에 스키마 없는 설계를 제공

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 고가용성과 보안을 제공하며 완벽하게 관리되고 스케일링 가능한 PostgreSQL[각주:10] 관계형 데이터베이스
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 개발자, 파트너 및 직원에게 API[각주:12]를 안전하게 대규모로 게시
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 Spark[각주:15]기반의 공동 작업용 분석 서비스를 Azure의 다른 빅 데이터 서비스와 통합

 

9. AI(Artificial Intelligence)

클라우드 컴퓨팅과 관련된 AI는 광범위한 서비스에 기반하며 이러한 서비스 중에는 머신 러닝(Machine Learning, 기계 학습)이 핵심이다. 머신 러닝은 컴퓨터에서 기존 데이터를 사용하여 미래 동작, 결과 및 추세를 예측하는 데이터 과학 기술이다. 머신 러닝을 통한 예측은 좀 더 똑똑한 앱 및 디바이스를 만드는 데 도움이 되는데 온라인 쇼핑을 예로 들면, 사용자가 구매한 제품에 따라 좋아할 만한 다른 제품을 추천하는 것이다.

다음은 Azure에서 가장 일반적인 AI 및 머신 러닝 서비스 유형이다.

서비스 이름 서비스 기능
Azure Machine Learning 서비스 기계 학습 모델의 개발, 교육, 테스트, 배포, 관리 및 추적에 사용할 수 있는 클라우드 기반 환경으로 모델을 자동으로 생성하여 사용자에 맞게 조정이 가능하다. 이를 통해 로컬 머신의 학습을 시작한 다음, 클라우드로 확장할 수 있다.
Azure ML Studio 미리 빌드된 기계 학습 알고리즘 및 데이터 처리 모듈을 사용하여 기계 학습 솔루션을 빌드, 테스트, 배포할 수 있는 공동 작업용 시각적 작업 영역

머신 러닝과 관련이 있는 제품 세트를 Cognitive Services[각주:16]라고 하는데 Azure에서는 다음과 같은 미리 빌드된 API 서비스를 지원한다.

서비스 이름 서비스 기능
Vision 이미지 처리 알고리즘을 사용하여 사진 및 동영상을 스마트하게 식별, 캡셔닝[각주:17], 인덱싱, 조정
Speech 음성을 텍스트로 변환하거나, 음성을 인증에 사용하거나, 앱에 화자 인식을 추가
지식 매핑 지능형 추천 및 의미 체계 검색 등의 작업을 해결하기 위해 복잡한 정보와 데이터를 매핑
Bing Search Add Bing Search API를 앱에 추가하고 단일 API 호출 기능을 활용하여 수십억 개의 웹 페이지, 이미지, 동영상 및 뉴스를 철저히 검색하는 기능을 활용 가능
자연어 처리 앱에서 미리 빌드된 스크립트를 사용하여 자연어를 처리하고, 감정을 평가하고, 사용자가 원하는 것을 인식하는 방법을 학습 가능

 

10. DevOps

DevOps는 사람, 프로세스 및 기술 통합을 통해 소프트웨어 제공을 자동화하고, 이를 사용자에게 지속적으로 제공할 수 있다. Azure DevOps를 사용하면 애플리케이션에 연속 통합, 제공 및 배포를 제공하는 빌드 및 릴리즈 파이프라인[각주:18]을 만들 수 있다. 이러한 기능은 애플리케이션의 일관적이고 반복 가능한 배포가 가능하며 빌드 및 릴리즈 프로세스가 간소화된다. 서비스 이름과 기능은 아래와 같다.

서비스 이름 서비스 기능
Azure DevOps 고성능 파이프라인, 무료 개인 Git 리포지토리, 구성 가능한 Kanban[각주:19] 보드, 광범위한 자동화 및 클라우드 기반 부하 테스트와 같은 개발 공동 작업 도구를 사용 가능
Azure DevTest Labs 배포 파이프라인에서 바로 애플리케이션을 테스트하거나 시연하기 위해 주문형 Windows 및 Linux 환경을 신속하게 만들 수 있음

 

11. Blockchain

Azure에서는 대규모로 블록체인 네트워크를 확장하고 운영할 수 있는 완전 관리형 원장 서비스를 제공한다. Azure Blockchain Service는 블록체인 네트워크 거버넌스 뿐만 아니라 인프라 관리를 통합적으로 제어하여 다음과 같은 기능을 제공한다.

  • 간단한 네트워크 배포 및 작업
  • 기본 제공 컨소시엄[각주:20] 관리
  • 친숙한 개발 도구를 사용하여 스마트 계약 개발
  • IBFT(Istanbul Byzantine Fault Tolerance)[각주:21] 합의 매커니즘을 사용하여 Ethereum(이더리움) Quorum[각주:22] 원장을 지원
서비스 이름 서비스 기능
Azure Blockchain 서비스 컨소시엄 블록 체인 네트워크 구축, 관리 및 확장
Azure Blockchain Tokens 원장 기반 토큰을 쉽게 정의, 생성 및 관리
Azure Blockchain Workbench 클라우드에서 손쉽게 블록 체인 앱 프로토 타입
Azure Cosmos DB 규모에 관계없이 개방형 API가있는 빠른 NoSQL 데이터베이스
Azure 논리 앱 코드를 작성하지 않고도 클라우드 전반에서 데이터 액세스 및 사용 자동화

 

MS Azure 실제로 사용하는 방법과 학생용 구독 사용법 등은 다음 포스팅에서 자세하게 다루어 보도록 하겠다.


Reference)

  1. 마이크로소프트 홈페이지 Azure 소개
  2. "AWS, Gartner 인프라 및 플랫폼 서비스 부문 매직 쿼드런트에서 10년 연속 클라우드 리더 선정". AWS 한국블로그. Danilo Poccia. 2020.08.
  3. "[용어 아하!] 온프레미스(On-premise)". 디지털타임스. 2017.01.25.
  4. Virtual Network 서비스 엔드포인트. Microsoft. 2019.11.08.
  5. "What is Search as a Service?". Algolia Blog. Ashley Stirrup. 2019.10.17.
  6. "인텔코리아 '사물인터넷 전략은 엔드투엔드'". 매일경제. 2014.12.11.
  7. "What is a kanban board?". ATLASSIAN Agile Coach. MAX REHKOPF. 
  8. 컨소시엄 블록체인. 해시넷.
  9. "Scaling Consensus for Enterprise: Explaining the IBFT Algorithm". Consensys blog. 2018.06.22.

궁금하거나 더 알고싶은 내용, 오타나 수정할 내용, 자신의 생각 모두 댓글로 남겨주세요!

여러분과 같이 성장하는 블로그가 되도록 힘내겠습니다.

좋아요와 댓글은 큰 힘이됩니다. 감사합니다. 


  1. 소프트웨어의 개발과 운영의 합성어로 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화. 이를 통해 애플리케이션과 서비스를 빠른 속도로 제공할 수 있음 [본문으로]
  2. 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼 [본문으로]
  3. On-premise, 소프트웨어 등 솔루션을 클라우드 같이 원격 환경이 아닌 자체적으로 전산실 서버에 직접 설치해 운영하는 방식 [본문으로]
  4. 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것 [본문으로]
  5. 가상 네트워크에 대해 중요한 서비스리소스 보호할 수 있게함 [본문으로]
  6. Inbond : 서버 내부로 들어오는 것, Outbound : 서버 바깥으로 나가는 것 [본문으로]
  7. server farm, server cluster라고도 하는 컴퓨터 서버의 모임 [본문으로]
  8. Virtual Private Network, 가상 사설망으로 두 개 이상의 물리적 네트워크(또는 장치) 사이의 인터넷/공용 네트워크를 통해 생성된 가상 네트워크 [본문으로]
  9. NoSQL 데이터베이스는 특정 데이터 모델에 대해 특정 목적에 맞추어 구축되는 데이터베이스로서 현대적인 애플리케이션 구축을 위한 유연한 스키마를 갖추고 있음 [본문으로]
  10. 오픈소스 (범용) 객체-관계형 데이터베이스 관리 시스템 [본문으로]
  11. Back-End, 웹페이지의 컨텐츠를 공급하며 내부적으로 DB를 저장하거나 관리 [본문으로]
  12. Application Programming Interface, 애플리케이션 소프트웨어의 개발 및 통합에 사용되는 정의 및 프로토콜 세트 [본문으로]
  13. Software as a Service 모델을 사용하는 사이트 검색 유형으로 이를 통해 기업은 호스팅, 운영 및 유지 관리에 대해 걱정할 필요가 없게됨 [본문으로]
  14. end-to-end, 사물인터넷 생태계의 처음(송신)부터 끝(수신)까지 모든 접속 정보 [본문으로]
  15. 대규모 데이터 처리를위한 통합 분석 엔진 [본문으로]
  16. 기계 학습 분야의 전문 지식이 없어도 모든 개발자가 손쉽게 AI를 사용할 수 있도록 지원하는 서비스 [본문으로]
  17. 이미지를 이미지를 설명하는 문장으로 변환시켜주는 기술 [본문으로]
  18. pipeline, 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조 [본문으로]
  19. 작업을 시각화하고, 진행중인 작업을 제한하며 효율적인 흐름을 최대화하도록 설계된 프로젝트 관리 도구 [본문으로]
  20. 동일한 목적이나 가치를 가지고 있는 다수의 기업과 단체들이 하나의 컨소시엄을 구성하고, 그 안에서 작동하도록 만든 블록체인 [본문으로]
  21. 이더리움 네트워크에서 작업증명으로 쓰이는 합의 알고리즘 [본문으로]
  22. 개인 블록체인 네트워크에서 사용하기 위해 특별히 설계된 오픈소스 브록체인 프로토콜로 모든 노드를 소유한느 단일 구성원 또는 여러 구성원이 각각 네트워크의 일부를 소유하는 컨소시엄 블록체인 네트워크 [본문으로]