본문 바로가기
IT & 데이터 사이언스/이론 & 개념

[Cloud] Azure란?

by 바른 호랑이 2022. 5. 26.
728x90
반응형

※ 클라우드 컴퓨팅

 

[개념 설명 / 클라우드 컴퓨팅] 클라우드 컴퓨팅이란?

안녕하세요. 바른 호랑이입니다. 이번 게시글에서는 클라우드 컴퓨팅에 대해서 설명해드릴 예정입니다. 클라우드 컴퓨팅의 개념은 1965년 미국의 컴퓨팅 학자인 존 매카시에 의해서 유래되었습

data-is-power.tistory.com

 

안녕하세요. 바른호랑이입니다.
이번 게시글에서는 클라우드 컴퓨팅 서비스 중 하나인 Azure에 대해서 알아볼 예정입니다.
클라우드 컴퓨팅에 대해 알고 싶으시면 위의 게시물을 참조해주시기 바랍니다. Azure는 Microsoft사가 개발한 클라우드 컴퓨팅 플랫폼으로 2010년에 최초로 시작되었습니다. 2011년에는 PaaS를, 2013년에는 IaaS 서비스를 시작했으며, 2022년 현재는 AWS, Google등과 같이 클라우드 업계를 선도해나가고 있습니다. Azure에 대해 보다 제대로 이해하기 위해서는 클라우드의 종류에 대한 이해가 필요합니다. 모든 클라우드는 네트워크 전반에서 확장가능한 컴퓨팅 리소스를 추상화하고 공유하여 시스템 내에서 워크로드를 실행하는 클라우드 컴퓨팅을 지원하는 것을 목적으로 합니다. 일반적으로 운영체제, API를 포함한 고유 기술을 조합하여 구축할 수 있으며, 가상화와 자동화 소프트웨어를 추가하는 것도 가능합니다. 이러한 클라우드 서비스는 위치와 소유권 그리고 공급자와 사용자와 같은 관점에 따라 3가지로 분류가 가능하며, 세부 내용은 아래와 같습니다.

 


1. 퍼블릭 클라우드

- 사용자가 IT인프라를 소유하지 않고 공급자로부터 컴퓨팅 파워를 제공받으며, 누구에게나 제공됨

- Alibaba Cloud, AWS(Amazon Web Service), Google Cloud, IBM Cloud, Microsoft Azure

- 신속한 프로비전(서비스를 제공하기 위해 행하는 일련의 행동 및 과정) 가능 / 사용한 항목만 비용지불

2. 프라이빗 클라우드  

- 하나의 조직의 선택된 사용자만 독점적으로 사용하는 컴퓨팅 리소스로 구성됨

- 온-프레미스 데이터 센터 또는 타사 서비스 공급자의 호스트를 통해 사용 가능

- 관리형 프라이빗 클라우드와 전용 클라우드로 세분화 됨 / 조직이 하드웨어 관리 및 업데이트
3. 하이브리드 클라우드 

- 퍼블릭 클라우드와 프라이빗 클라우드 간의 데이터 및 애플리케이션을 공유할 수 있음

- LAN, WAN, VPN, API를 통해 여러 환경이 연결된 형태임

 

Microsoft Azure는 대표적인 퍼블릭 클라우드 컴퓨팅 서비스로 고가용성, 확장성, 탄력성, 민첩성 지리적 배포, 재해복구에서의 유연성등을 제공하는 것이 특징입니다. 사용량 기반 모델로 운영되기 때문에 사용자는 값비싼 인프라를 구입하고 관리할 필요가 없으며, 사용한 리소스 만큼의 금액만 지불하여 사용할 수 있습니다. 2022년 기준으로 Azure는 SaaS, IaaS, PaaS를 모두 제공하고 있습니다.

 

출처 : Red Hat

1. SaaS : Software as a Service

- 서비스 공급자가 VM, 데이터 스토리지, 애플리케이션 등 애플리케이션 환경의 모든 측면을 관리
- 테넌트는 애플리케이션에 맞춰 데이터만 제공하면 사용가능

2. PaaS : Platform as a Service

- 서비스 공급자가 VM, 네트워킹 리소스를 관리하고 테넌트가 애플리케이션을 배포

- 개발자는 실제 하드웨어 및 소프르웨어 요구사항을 신경 쓸 필요 없이 관리형 호스팅환경 사용가능

3. IaaS : Infra as a Service

- 서비스 공급자가 하드웨어를 최신상태로 유지, 테넌트가 운영 체제 유지 관리 및 네트워크 구성

- 물리적 관리에 가장 가까우며,  사용자가 데이터 센터와 같은 인프라를 직접 구축할 필요 없음

 

Azure가 제공하는 서비스로는 컴퓨팅, 네트워킹, 스토리지, 모바일, 데이터베이스 등이 있으며, 세부적인 서비스들은 아래와 같습니다.

 

출처 : Microsoft Learn

1. 컴퓨팅 : 애플리케이션 및 서비스를 호스팅 하는 다양한 옵션들을 제공

- Azure Virtual Machines : Windows 또는 Linux 가상머신 

- Azure Virtual Machine Scale Sets : Windows 또는 Linux VM의 스케일링

- Azure Kubernetes Service : 컨테이너화 된 서비스를 실행하는 VM을 위한 클러스터 관리

- Azure Service Fabric : Azure 또는 온-프레미스에서 실행되는 분산 시스템 플랫폼

- Azure Batch : 병렬 및 고성능 컴퓨팅 애플리케이션을 위환 관리서비스

- Azure Container Instances : 서버 또는 VM을 프로비저닝 않고 Azure에서 실행되는 컨테이너화된 앱

- Azure Fuctions : 이벤트 기반의 서버리스 컴퓨팅 서비스

 

2. 네트워킹 : 컴퓨팅 리소스를 연결하고 애플리케이션에 대한 액세스를 제공

- Azure Virtual Network : 수신 VPN 연결에 VM을 연결

- Azure Load Balancer : 애플리케이션 또는 서비스 엔드포인트에 대한 인바운드 및 아웃바운드 연결의 균형을 맞춤

- Azure Application Gateway : 애플리케이션 보안을 강화하는 동시에 앱 서버 팜 제공을 최적화

- Azure VPN Gateway : 고성능 VPN 게이트웨이를 통해 Azure 가상 네트워크에 액세스

- Azure DNS : 매우 빠른 DNS 응답과 매우 높은 도메인 가용성을 제공

- 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 Blob Storage : 비디오 파일, 비트맵 같은 대규모 개체를 위한 스토리지 서비스

- Azure File Storage : 파일 서버처럼 액세스하고 관리할 수 있는 파일 공유

- Azure Queue Storage : 애플리케이션 간 메시지를 큐에 넣고 안정적으로 전달하기위한 데이터 저장소

- Azure Table Storage : 비관계형 정형 데이터(정형 NoSQL 데이터)를 클라우드에 저장 / 스키마 없는 설계 제공

- 중복 및 복제 기능(내구성, 가용성) / 자동 암호화와 RBAC(역할기반 액세스 제어)를 통해 보안 유지

- 확장성이 뛰어나며 유지 관리 및 사용자에 대한 중요문제를 관리 및 처리 / HTTP 또는 HTTPS를 통해 접속가능

 

4. 모바일 

- IOS, Android 및 Windows앱 용 모바일 백 엔드 서비스를 쉽고 빠르게 제작 가능

- 오프라인 데이터 동기화 / 온-프레미스 데이터 연결 / 푸시 알림 브로드 캐스트 / 자동 크기조정 등 제공

 

5. 데이터베이스 : 다양한 형식과 볼륨의 데이터 저장이 가능하며, 글로벌 연결을 통해 데이터를 즉시 사용 가능

- Azure Cosmos DB : NoSQL 옵션을 지원하는 글로벌 분산형 데이터베이스

- Azure SQL Database : 자동 스케일링과 필수 인텔리전스, 강력한 보안을 통해 관리되는 관계형 데이터베이스

- Azure Database for MySQL(PostgreSQL/MariaDB) : MySQL(PostgreSQL/MariaDB) 관계형 데이터베이스

- Azure Virtual Machines의 SQL Server : 클라우드에서 엔터프라이즈 SQL Server 앱을 호스트하는 서비스

- Azure Synapse Analytics : 모든 스케일링 수준에서 필수 보안을 제공하며 완벽하게 관리되는 데이터웨어하우스

- Azure Database Migration Service : 코드 변경 없이 데이터베이스를 클라우드로 마이그레이션하는 서비스

- Azure Cache for Redis : 정적 데이터를 캐시하여 데이터 및 애플리케이션 대기시간을 줄이는 완전관리형 서비스 

 

6. 웹 : 웹 호스팅에 초점을 맞춘 웹앱 및 HTTP기반 웹서비스 빌 드 및 호스트에 대한 지원

- Azure App Service : 클라우드 웹 기반 앱의 신속한 제작 가능

- Azure Notification Hubs : 백 엔드에서 원하는 플랫폼으로 푸시 알림 전송 가능

- Azure API Management : 개발자, 파트너 및 직원에게 API를 대규모로 게시 가능

- Azure Cognitive Search : 완전 관리형 SaaS(Search as a Service)를 배포 가능

- Azure App Service의 Web Apps 기능 : 중요 업무용 웹앱을 대규모로 만들고 배포 가능

- Azure SignalR Service : 실시간 웹 기능 추가 가능

 

7. IoT

- IoT Central : 대규모 IoT 자산의 연결, 모니터링 및 관리를 도와주는 완전관리형 글로벌 IoT SaaS 솔루션

- Azure IoT Hub : 수백만 개의 IoT 디바이스 간에 안전한 통신 및 모니터링을 제공하는 메시징 허브

- IoT Edge : 데이터 분석 모델을 IoT디바이스로 직접 푸시할 수 있는 완전 관리형 서비스

 

8. 빅데이터 

- Azure Synapse Analytics : 대규모 병렬처리를 통한 대규모 데이터에서 복잡한 쿼리를 통해 분석 실행가능

- Azure HDInsight : 클라우드 관리형 Hadoop 클러스터를 사용하여 대규모 데이터를 처리가능

- Azure Databricks : Apache Spark 기반의 공동 작업용 분석 서비스를 Azure의 다른 빅데이터 서비스와 통합가능

 

9. AI

- Azure Machine Learning 서비스 : ML의 개발, 교육, 테스트, 배포, 관리 및 추적에 사용가능한 클라우드 기반 환경

- Azure ML Studio : 미리 빌드된 ML학습 알고리즘 및 데이터 처리 모듈을 사용하여 ML 솔루션을 빌드, 테스트, 배포

 

10. DevOps : 사람, 프로세스 및 기술 통합을 통해 SW제공을 자동화하여 사용자에게 지속적 가치 제공

- Azure DevOps : 고성능 파이프라인, 광범위한 자동화 및 클라우드 기반 테스트와 같은 개발 공동작업도구 사용가능

- Azure DevTest Labs : 배포 파이프라인에서 바로 애플리케이션 테스트, 시연하기 위해 Windows 및 Linux환경 작성

 

이와 같은 Azure로 서비스를 만들고 사용하기 위해서는 Azure 구독이 필요하며, 체험계정을 생성하면 일정기간동안 부여되는 약간의 크레딧을 통해 리소스 생성 및 사용이 가능합니다. 클라우드 서비스에 관심이 있으시다면 체험계정을 통해 Azure를 사용해보시면서 공부해보시는 것도 좋을 것 같습니다.

 

P.S 더 나은 개발자가 되기위해 공부중입니다. 잘못된 부분을 댓글로 남겨주시면 학습하는데 큰 도움이 될 거 같습니다.

728x90
반응형

댓글