[Cloud] Azure Services
Azure 서비스 1 :
Azure에서 제공하는 서비스
1. Azure 의 장점
Azure는 시장에 출시되어 있는 클라우드 중 유일하게 일관성 있는 하이브리드 클라우드를 사용하여 원하는 위치에서 개발과 배포 가능하다.
2. Azure 전체 서비스

2.1. Azure Kubernetes Service (AKS)
- kubernetes service = k8s
- 마스터 서버 별도 구성 필요 없고, 노드 풀만 생성해서 사용하면 됨
- 모든 환경에서 사용 가능
2.2. Azure Databases
1) Azure SQL Database
- 비즈니스 크리티컬 SKU
- 4초 이내 failover, 고가용성, 로컬 디스크 사용으로 높은 성능
2) Azure Database for MySQL
- 고가용성, 클릭 만으로도 복제 서버 구축 가능
3) Azure Cosmos DB
- 모든 규모에서 빠르고 분산된 NoSQL 및 관계형 데이터베이스이다.
- 오픈 소스 PostgreSQL, MongoDB, Apache Cassandra 지원하는 완전 관리형 서버리스 분산형 데이터베이스를 사용하여 모든 규모의 고성능 애플리케이션 개발 가능하다.
- Azure 데이터 센터 구축 시 가장 먼저 구축되는 DB로 전 세계 모든 리전에 기본적으로 배포되어 있어 탄력적 확장 가능하다.
- 99.9999% 고가용성, 처리량, 일관성, 대기시간 업계 최고의 SLA 제공한다.
- Service Level Agreement : 서비스 수준 협약으로 고객이 공급업체로부터 기대하는 서비스 수준
- 주요 이점
- 글로벌 배포: 전 세계 여러 지역에서 데이터를 확장 및 복제 기능을 통해 글로벌 배포를 지원하므로 전 세계 어디에서나 대기 시간이 짧은 데이터 액세스 가능
- 확장성: 데이터 센터 내의 여러 노드 또는 전 세계 여러 데이터 센터 간에 수평 확장 기능을 통해 높은 확장성을 제공하도록 설계되어 애플리케이션이 많은 양의 데이터 및 트래픽을 처리 가능
- 낮은 대기 시간: 대기 시간이 짧은 전역적으로 분산된 데이터베이스 서비스를 제공하여 애플리케이션이 데이터에 대한 빠르고 응답성이 뛰어난 액세스를 제공 (10ms, 15ms 짧은 대기시간 보장)
- 다중 모델 지원: 문서, 키-값, 그래프 및 열 계열을 비롯한 여러 NoSQL 데이터 모델을 지원하므로 개발자가 애플리케이션에 가장 적합한 데이터 모델을 사용 가능
- 엔터프라이즈급 보안: 유휴 및 전송 중인 데이터의 암호화, ID 및 액세스 관리, 산업 규정 준수를 포함하여 엔터프라이즈급 보안을 제공
- 비용 효율적: 종량제 가격 책정 모델을 제공하여 사용한 리소스에 대해서만 비용을 지불 가능하기에 데이터에 대한 높은 확장성과 낮은 대기 시간 액세스가 필요한 애플리케이션을 위한 비용 효율적인 솔루션
4) Azure DataBase 비교
| 데이터베이스 유형 | 특성 | 강점 | 약점 |
|---|---|---|---|
| Azure SQL Database | Microsoft SQL Server 기반 관계형 데이터베이스 서비스 | 확장 가능, 고가용성, 완전 관리형, T-SQL 지원, Azure 서비스와 통합 | 제한된 사용자 정의 옵션, 오픈 소스 옵션에 비해 높은 비용 |
| Azure Cosmos DB | 전 세계적으로 분산된 다중 모델 데이터베이스 서비스 | 여러 데이터 모델(문서, 키-값, 열군, 그래프) 지원, 짧은 대기 시간, 자동 확장, 여러 API 지원 | 다른 NoSQL 데이터베이스에 비해 높은 비용 |
| Azure Database for MySQL | 완전 관리형 MySQL 데이터베이스 서비스 | 온프레미스 MySQL에서 확장 가능하고 손쉬운 마이그레이션, 널리 사용되는 MySQL 확장 지원 | 제한된 사용자 지정 옵션 |
| Azure Database for PostgreSQL | 완전 관리형 PostgreSQL 데이터베이스 서비스 | 온프레미스 PostgreSQL에서 확장 가능하고 손쉬운 마이그레이션, 널리 사용되는 PostgreSQL 확장 지원 | 제한된 사용자 정의 옵션 |
| Azure Cache for Redis | Redis를 기반으로 하는 완전 관리형 인메모리 데이터 저장소 | 고성능, 짧은 대기 시간, 캐싱, 게시/구독 및 기타 Redis 기능 지원 | 제한된 내구성, 다른 캐싱 옵션에 비해 높은 비용 |
| Azure Synapse Analytics | 데이터 웨어하우징과 빅데이터 분석을 결합한 분석 서비스 | 정형 데이터와 비정형 데이터를 모두 지원하고 Power BI, Azure Machine Learning 및 기타 Azure 서비스와 통합 | 다른 데이터 웨어하우징 옵션에 비해 높은 비용 |
| Azure Time Series Insights | 시계열 데이터 처리 및 분석을 위한 분석 서비스 | 확장 가능, 대규모 데이터 처리 지원, Azure IoT 서비스와 통합 | 비시계열 데이터에 대한 제한된 지원 |
2.3. BigData
1) Azure Databricks
- 오픈 소스(Apache Spark)에 기반을 두고 오픈 소스 라이브러리와 원활한 통합 가능
- 온프레미스 Spark 클러스터보다 3배 이상 빠른 퍼포먼스
- Workers Node의 Auto-Scaling
- Spark의 작업 부하에 따라 설정한 VM 수만큼 Worker node가 자동으로 확장 및 축소
- Auto Termination으로 비용 절감
- 클러스터 종료를 위한 비활성 기간(분) 지정 및 예약
- 협업이 가능한 Notebook
- Azure Active Directory 통합, 역할 기반 컨트롤 및 엔터프라이즈 급 SLA 제공
- 세분화된 사용자 권한으로 안심하고 Databricks 노트북, 클러스터, 작업 및 데이터에 안전하게 엑세스
2) Azure Synapse
- 대규모 데이터 병렬 쿼리, 5분 이내 수천 개의 코어를 사용하는 컴퓨팅 코어 프로비전 가능
3) Azure HDInsights
- 99.9% SLA로 Azure에서 완전히 관리되는 Apache Hadoop, Spark 및 Kafka를 포함한 인기 오픈 소스 프레임워크 손쉽게 사용 가능한 데이터 플랫폼
- 빅데이터 클러스터 신속 실행 가능, 엔터프라이즈 수준 모니터링
- 온프레미스 보다 63% 낮은 TCO
3. Azure 데이터 아키텍처
3.1. 수집, ETL, 스트림 처리

- medallion 패턴
- Bronze 테이블 : 원시 데이터가 Data Lake Storage에 배치될 때 진입점 제공, 원본 형식으로 가져와서 개방형 트랜잭션 Delta Lake 형식으로 변환
- Silver 테이블 : BI 및 데이터 사이언스 사용에 최적화되는 동안 데이터 저장
- Gold 테이블 : 분석과 보고에 사용할 수 있는 풍부한 데이터 포함, 분석가는 PySpark, Koalas, SQL, Power BI와 같은 방법을 사용해 인사이트 얻고 쿼리 작성 가능
- 아키텍처 구성
- Event Hubs : 온-프레미스 시스템을 포함한 다양한 소스의 스트리밍 메시지를 구문 분석, 채점, 실시간 정보 제공
- Data Factory : 모든 규모의 데이터 수집, 준비, 변환을 위해 파이프라인 오케스트레이션
- Data Lake Storage : 로그, 파일, 미디어와 같은 구조화, 비구조화, 반구조화 데이터를 포함하는 스트리밍 및 배치 처리 데이터를 통합
- Azure Databricks : 구조가 없는 데이터 세트를 정리 및 변환하고 운영 DB, DW의 구조화된 데이터와 결합
- Delta Lake : 안정성을 위해 ACID 트랜잭션 지원, 효율적인 수집, 처리, 쿼리에 최적화
- ACID : 원자성, 일관성, 격리 및 내구성
3.2. 스트림 처리

- 수집 : 각 데이터 원본은 연결된 이벤트 허브 인스턴스에 데이터 스트림 전달
- 처리 : Databricks는 데이터 처리
- 저장 : Azure Databricks 작업 출력은 Azure Cosmos DB 에 기록
- Azure Synapse Link : Cosmos DB 데이터를 기반으로 하는 분석을 위한 Microsoft 기본 솔루션으로 사용하면 트랜잭션 워크로드의 성능이나 비용에 영향을 주지 않고, 운영 데이터에 대해 거의 실시간 분석 가능