1일 1개념정리 24.08.09.금 ~
큰 결정에 큰 동기가 따르지 않을 때도 있다. 하지만 큰 결심이 따라야 이뤄낼 수 있다.
무조건 무조건 1일 1개의 개념 정리하기 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#47. Azure 서비스 알아보기
예전에 Azure 서비스에 대해서 간단히 정리를 했었는데, 오늘은 대표적인 서비스들을 알아보고 언제 쓰이는지 알아보자. 그리고 AWS와 비교해보면서 aws에서 사용하던 서비스는 Azure에서 어떤 서비스로 사용되고 있는지도 알아보자 !!!!
https://100won-developer.tistory.com/entry/%E3%85%87
Azure 홈페이지 처음에 나오는 대표적인 서비스들에 대해서 알아보자.
일단 서비스들에 대해서 쭉~~~~ 설명하고, 아래에서 AWS와 비교해서 표로 정리해보겠다.
1. Azure VM
Azure VM은 온프레미스 서버(= 오프라인 서버 like 서버실) 와 유사하게 동작하지만, 클라우드에서 실행되는 리소스이다. 사용자는 원하는 os를 설치하고, CPU, 메모리, 스토리지와 같은 자원을 필요에 따라 선택할 수 있다. 클라우드 기반 개발, 테스트 환경 구축, 애플리케이션 호스팅 등에 사용된다.
- 유연성 : 다양한 os와 설정을 지원하고, 필요에 따라 리소스를 쉽게 조정할 수 있다.
- 비용 효율성 : 사용한 만큼만 비용을 지불하며(pay as you go), 불필요할 때는 VM을 중지할 수 있어 비용을 절감할 수 있다.
- 확장성 : 트래픽이 증가하면 쉽게 자원을 확장할 수 있고, 고가용성 옵션 덕분에 서버 다운타임을 최소화할 수 있다.
ex) 로컬에서 개발한 앱을 배포할 서버를 찾을 때, 고가의 물리서버 구입 대신에 Azure VM을 사용하여 웹 서버를 호스팅 할 수 있다. 또한 위 장점처럼 필요에 따라 서버 사양을 조정할 수 있어서 좋다.
2. Azure SQL Database
Azure SQL Database는 완전 관리형 클라우드 RDB 서비스로, MS SQL Server의 클라우드 버전이다. 서버리스 옵션이 있어 필요할 때만 자원을 할당하고 사용하지 않을 때는 비용이 발생하지 않는다. 주로 백엔드 DB로 활용할 수 있다.
- 관리 간소화 : 백업, 복구, 패치 및 업데이트가 자동으로 이루어져 DB 관리를 단순화한다.
- 확장성 : 필요에 따라 리소스를 자동으로 조정할 수 있어서 트래픽 변동이 심할 때 적합하다.
- 보안 : 데이터 암호화, 보안 업데이트, 위협 탐지 등 내장형 보안 기능을 제공
ex) 쇼핑몰을 운영하면 DB가 필요할텐데, Azure SQL Database를 사용하면 직접 서버를 관리할 필요 없이 고객 데이터를 안전하게 저장하고, 주문 처리를 빠르게 할 수 있다. 또한 DB가 자동 백업, 자동 복구를 제공해서 데이터를 잃을 걱정도 없다.
3. Azure Blob Storage
Azure Blob Storage는 "대규모 비정형 데이터를 저장"하는 데 최적화된 스토리지이다. 여기서 말하는 Blob = Binary Large OBject이다. 그래서 이미지, 동영상 같은 비정형 데이터를 저장하거나 정적 html, css같은 컨텐츠를 호스팅할 수 있다.
- 확장성 : 무려 PB 이상의 대용량 데이터도 저장하고 관리할 수 있다.
- 데이터 복제 : 데이터를 여러 위치에 중복 저장해 장애 시 데이터 복구를 쉽게 할 수 있다.
ex) 내가 에펠탑 앞에서 사진찍어주는 사진작가라고 해보자. 사진작가는 작업한 사진을 고해상도로 저장하고 클라이언트와 공유해야한다. Azure Blob Storage를 이용하면 사진을 클라우드에 안전하게 저장하고, 링크를 통해 쉽게 공유할 수 있다. 저장 용량이 부족할 걱정도 없고, 필요에 따라 데이터를 확장할 수 있다.
4. Azure Cosmos DB
Azure Cosmos DB는 전 세계적으로 분산된 NoSQL DB이다. 수평적 확장이 가능하고, 응답 시간이 빠르다. 다양한 위치의 전세계 사람들에게 빠른 응답 해야될 때 유용하다.
- 지연 없는 데이터 액세스 : 전 세계 어디에서나 데이터에 빠르게 접근 가능
- 자동 확장성 : 사용량에 따라 자동으로 리소스를 확장
- 다양한 API 지원 : 다양한 데이터 모델과 언어를 지원해 유연성 높다.
ex) 내가 글로벌 게임을 개발 중인데, 전 세계 플레이어들이 각자 다른 국가에서 게임을 접속한다고 하자. 그럼 Azure Cosmos DB를 사용해서 전 세계 어느 위치에서든 빠르게 접근할 수 있도록 지원해줄 수 있다. 그리고 유저들의 게임 기록을 어디서나 지연 없이 불러올 수 있다.
5. Azure App Service
Azure App Service는 웹, 모바일, API 애플리케이션을 손쉽게 구축하고 배포할 수 있는 관리형 서비스이다. 빠르게 웹사이트를 배포할 때나 모바일 앱을 배포할 때 등 이용할 수 있다.
- 자동 확장 & 로드 밸런싱 : 트래픽 증가 시 자동으로 리소스를 확장하고 부하를 분산시킨다.
- 다양한 언어 지원 : .NET, Node.js, python, java 등 다양한 프로그래밍 언어를 지원
- DevOps 통합 : CI/CD를 쉽게 구성할 수 있다.
ex) 내가 블로그를 운영하고 싶은데, 직접 서버를 설치하고 유지보수할 시간이 없다. 그럴 땐 Azure App Service를 사용하면 블로그 웹사이트를 손쉽게 배포할 수 있다. 그리고 트래픽이 많아지면 자동으로 서버 용량이 확장되어 추가적인 서버 관리도 필요 없다.
6. Azure Functions
Azure Functions는 서버리스 컴퓨팅 플랫폼으로, 코드가 특정 "이벤트"(ex. http 요청, db 변경 등)에 따라 실행된다. 그래서 특정 이벤트 상황에서만 코드가 실행되도록 일종의 트리거 역할을 할 수 있다.
- 서버 관리 X : 개발자는 서버 인프라를 신경 쓰지 않고 코드에만 집중 가능
- 자동 확장 : 사용량에 따라 자동으로 리소스를 확장
- 비용 절감 : 사용한 만큼만 비용을 지불
ex) 나는 스마트 홈 기기를 만들고 있다. 문이 열릴 때(= 특정 이벤트) 알림을 보내는 기능이 필요하다. Azure Functions를 사용하면 문이 열리는 이벤트가 발생할 때마다 자동으로 코드가 실행되어 알림을 보내는 시스템을 손쉽게 구축할 수 있다. 보통은 클라우드상에서 코드를 실행시키기 위해 서버를 구축해야하는데, Azure Functions를 쓰면 서버 관리 필요 없이 이벤트가 발생할 때만 작동시킬 수 있다.
7. Azure Event Grid
Azure Event Grid는 이벤트 기반 애플리케이션을 구축하는 데 필요한 이벤트 라우팅 서비스를 제공한다. 다양한 시스템간 이벤트 알림, 메세지 전송 등이 가능하다. 그리고 이벤트 발생시 다른 서비스가 실행되도록 트리거로써 설정할 수도 있다.
- 확장성 : 대규모 이벤트 처리에 적합하며, 다양한 서비스와 통합할 수 있습니다.
- 실시간 처리 : 실시간으로 이벤트를 감지하고 처리할 수 있어 빠른 응답이 가능합니다.
- 다양한 소스와 타겟 지원 : Azure Storage, Functions, Logic Apps 등 여러 Azure 서비스와 통합할 수 있습니다.
ex) 온라인 쇼핑몰에서 새로운 주문이 들어오면 재고 시스템이나 배송 서비스가 자동으로 업데이트되어야 한다. 이때 Azure Event Grid는 주문이 발생할 때마다 자동으로 이벤트를 생성하여 재고 관리 시스템과 배송 서비스를 연동할 수 있다.
7-1. Azure Functions랑 Azure Event Grid 차이
둘다 이벤트 처리하는 트리거 역할인 것 같은데, 어떤 차이가 있을까 ??
- Azure Functions = 이벤트 발생시 실제로 코드를 실행하여 작업을 수행
- Azure Event Grid = 이벤트를 감지하고 전달하는 역할을 하고, Azure Functions와 같은 서비스가 해당 이벤트에 반응하도록 돕는다.
▶ 이 두 서비스를 함께 사용하면 이렇다. 예를 들어 Azure Event Grid가 이벤트를 감지하고, 해당 이벤트를 Azure Functions에 전달하여 알림을 보낼 수 있다. 이벤트 발생(감지) → 전달 → 작업 실행의 전체 흐름을 구축할 수 있다.
Azure와 AWS 비교해보기
이번엔 조금 이해하기 쉽게(?) AWS와 비교해보자. 일단 AWS와 완벽하게 대응되는 건 당연히 아니다 !!!!!!!!!! 성격이 비슷한 것을 정리했을 뿐이다. 정리해보니, Azure의 이름이 조금 직관적인 것 같기도 하고 ??
AWS | Azure | 설명 |
Amazon EC2 | Azure VM | VM을 실행하고 관리하는 서비스 |
Amazon S3 | Azure Blob Storage | 대규모 비정형 데이터를 저장할 수 있는 객체 스토리지 |
Amazon RDS | Azure SQL Database | 관리형 RDB 서비스 |
Amazon DynamoDB | Azure Cosmos DB | 분산형 NoSQL db 서비스 |
Amazon Lambda | Azure Functions | 서버리스 컴퓨팅, 이벤트에 반응해 코드를 실행 |
Amazon Lightsail | Azure App Service | WebAPP을 간편하게 배포할 수 있는 관리형 호스팅 서비스 |
Amazon EBS | Azure Managed Disks | VM에 연결할 수 있는 관리형 블록 스토리지 서비스 |
Amazon Glacier | Azure Archive Storage | 장기 보관용 데이터 아카이브 스토리지 |
Amazon CloudFront | Azure CDN | 전 세계적으로 빠르게 콘텐츠를 전달하는 CDN 서비스 |
Amazon Route 53 | Azure DNS | 도메인 이름을 관리하고, 트래픽 라우팅을 제공하는 DNS 서비스 |
Amazon ELB | Azure Load Balancer | 트래픽을 여러 서버로 분산시켜 부하를 관리하는 로드 밸런싱 서비스 |
Amazon SNS | Azure Event Grid | 이벤트 기반으로 알림을 발송하고 처리하는 메시징 서비스 |
Amazon IAM | Azure Active Directory (AD) | 사용자 인증 및 권한 관리를 위한 서비스 |
Amazon CloudWatch | Azure Monitor | 애플리케이션과 리소스의 모니터링, 로그 관리 서비스. |
'1일 1개념정리 (24년 8월~) > 네트워크, 클라우드' 카테고리의 다른 글
1일1개 (61) - 서브넷 마스크 계산하기 (0) | 2024.10.15 |
---|---|
1일1개 (52) - 내가 만든 쿠키, 네가 만든 세션 (2) | 2024.10.06 |
1일1개 (46) - 서브넷 마스크 (0) | 2024.09.30 |
1일1개 (29) - Azure (0) | 2024.09.08 |
1일1개 (28) - Restful API (0) | 2024.09.07 |