[Learning Path] Discuss Azure fundamental concepts
Learning Path details
Learning objectives
- 클라우드 서비스 사용 시의 이점과 고려 사항 파악
- 클라우드 서비스 범주의 차이점 설명
- 클라우드 컴퓨팅 유형의 차이점 설명
Prerequisites
- 기본적인 컴퓨팅 개념과 용어를 잘 알고 있어야 합니다.
- 클라우드 컴퓨팅에 관한 이해가 도움이 되지만 꼭 필요한 것은 아닙니다.
This module is part of these learning paths
What are public, private, and hybrid clouds?
클라우드 컴퓨팅의 세 가지 배포 모델은 ‘public cloud’, ‘private cloud’, ‘hybrid cloud’입니다. 클라우드에 마이그레이션할 때는 각 배포 모델의 다른 측면을 고려해야 합니다.
Deployment model | Description |
---|---|
Public cloud | 서비스는 공용 인터넷을 통해 제공되고 서비스를 구매하려는 누구에게나 제공됩니다. 서버, 스토리지와 같은 클라우드 리소스는 타사 클라우드 서비스 공급자가 소유하고 운영하며 인터넷을 통해 제공됩니다. |
Private cloud | 프라이빗 클라우드는 하나의 기업 또는 조직의 선택된 사용자만 독점적으로 사용하는 컴퓨팅 리소스로 구성됩니다. 프라이빗 클라우드는 실제로 조직의 온사이트(온-프레미스) 데이터 센터에 있을 수 있거나, 타사 서비스 공급자가 호스트할 수 있습니다. |
Hybrid cloud | 하이브리드 클라우드는 퍼블릭 클라우드와 프라이빗 클라우드 간에 데이터 및 애플리케이션을 공유할 수 있도록하여 두 클라우드를 결합하는 컴퓨팅 환경입니다. |
Cloud model comparison
Public cloud
- 확장 시 자본 지출이 없습니다.
- 애플리케이션을 신속하게 프로비전 및 프로비전 해제할 수 있습니다.
- 조직은 사용하는 항목에 대해서만 비용을 지불합니다.
Private cloud
- 시작 및 유지 관리를 위해 하드웨어를 구매해야 합니다.
- 조직이 리소스 및 보안을 완전히 제어할 수 있습니다.
- 조직이 하드웨어 유지 관리 및 업데이트를 담당합니다.
Hybrid cloud
- 최고의 유연성을 제공합니다.
- 조직이 애플리케이션을 실행할 위치를 결정합니다.
- 조직이 보안, 규정 준수 또는 법적 요구 사항을 제어합니다.
What are some cloud computing advantages?
-
고가용성: 선택한 SLA(서비스 수준 계약)에 따라, 클라우드 기반 앱은 문제가 발생할 경우에도 명백한 가동 중지 시간 없이 지속적인 사용자 환경을 제공할 수 있습니다.
-
확장성: 클라우드 앱을 ‘수직’ 및 ‘수평’으로 스케일링할 수 있습니다.
- 가상 머신에 RAM 또는 CPU를 추가하여 컴퓨팅 용량을 늘리려면 수직으로(vertically) 스케일링합니다.
- 수평(horizontally) 스케일링은 구성에 VM을 추가하는 등 리소스 인스턴스를 추가하여 컴퓨팅 용량을 늘립니다.
-
탄력성: 자동 스케일링을 활용하도록 클라우드 기반 앱을 구성하여 앱에 필요한 리소스를 항상 제공할 수 있습니다.
-
민첩성: 앱 요구 사항이 변경되면 신속하게 클라우드 기반 리소스를 배포하고 구성합니다.
-
지리적 배포: 전 세계 지역 데이터 센터에 앱과 데이터를 배포할 수 있으므로 고객이 지역에서 항상 최고의 성능을 유지할 수 있습니다.
-
재해 복구: 클라우드 기반 백업 서비스, 데이터 복제 및 지역 배포를 활용하여 재해가 발생하더라도 데이터를 안전하게 유지할 수 있으므로 앱을 안정적으로 배포할 수 있습니다.
Capital expenses vs. operating expenses
다음 두 가지 유형의 비용을 고려해야 합니다.
-
Capital Expenditure (CapEx, 자본 비용) 는 물리적 인프라의 비용을 초기에 지출한 다음, 시간이 지남에 따라 초기 비용을 공제하는 것입니다. CapEx의 초기 비용은 시간이 지남에 따라 가치가 감소합니다.
-
Operational Expenditure (OpEx, 운영 비용) 는 현재 서비스 또는 제품에 대해 지출되어 청구되는 비용입니다. 이 비용은 지출하는 동일 연도에 공제할 수 있습니다. 초기 비용은 없으며, 서비스 또는 제품을 사용하는 비용을 지불합니다.
자본 비용의 경우, 인프라를 소유하고 있는 경우 구매하는 장비는 대차대조표에 자산으로 기재됩니다. 자본 투자가 이루어졌기 때문에 회계사는 이 트랜잭션을 CapEx로 분류합니다. 시간이 지나면서 자산의 제한된 유효 수명에 따라 자산이 감가 상각 또는 상각 처리됩니다.
반면에 클라우드 서비스는 소비 모델이기 때문에 OpEx로 분류됩니다. 상각할 자산은 없으며 클라우드 서비스 공급자(Azure)가 물리적 장비의 구매 및 수명과 관련된 비용을 관리합니다. 결과적으로 OpEx는 순이익, 과세 소득 및 대차대조표의 관련 비용에 직접적인 영향을 미칩니다.
Cloud computing is a consumption-based model
클라우드 서비스 공급자는 사용량 기반 모델 로 운영됩니다. 즉, 최종 사용자는 사용하는 리소스의 비용만 지불합니다. 무엇을 사용하든 사용한 만큼만 지불합니다.
사용량 기반 모델은 다음과 같은 여러 이점이 있습니다.
- 선불 비용이 없습니다.
- 사용자가 최대한 활용하지 못할 수도 있는 값비싼 인프라를 구입하고 관리할 필요가 없습니다.
- 필요한 경우 추가 리소스의 요금을 지불할 수 있습니다.
- 더 이상 필요하지 않은 리소스 사용 요금을 지불하지 않도록 할 수 있습니다.
What are cloud service models?
클라우드 컴퓨팅을 한동안 사용했다면 다양한 클라우드 서비스 모델을 의미하는 머리글자어인 PaaS, IaaS, SaaS 를 보았을 것입니다. 이러한 모델은 클라우드 공급자와 클라우드 테넌트가 담당하는 서로 다른 수준의 공유 책임을 정의합니다.
Model | Definition | Description |
---|---|---|
IaaS | Infrastructure-as-a-Service | 이 클라우드 서비스 모델은 물리적 서버 관리에 가장 가깝습니다. 즉, 클라우드 공급자가 하드웨어를 최신 상태로 유지하지만 운영 체제 유지 관리 및 네트워크 구성은 클라우드 테넌트가 담당합니다. 예를 들어 Azure Virtual Machines는 Microsoft 데이터 센터에서 실행되는 완전히 작동하는 가상 컴퓨팅 디바이스입니다. 이 클라우드 서비스 모델의 장점은 새 컴퓨팅 장치를 신속하게 배포한다는 것입니다. 새 가상 머신을 설정하는 것은 물리적 서버를 구매, 설치 및 구성하는 것보다 훨씬 빠릅니다. |
PaaS | Platform-as-a-Service | 이 클라우드 서비스 모델은 관리형 호스팅 환경입니다. 클라우드 공급자가 가상 머신 및 네트워킹 리소스를 관리하고 클라우드 테넌트가 애플리케이션을 관리형 호스팅 환경에 배포합니다. 예를 들어 Azure App Services는 개발자가 실제 하드웨어 및 소프트웨어 요구 사항을 신경 쓸 필요 없이 웹 애플리케이션을 업로드할 수 있는 관리형 호스팅 환경을 제공합니다. |
SaaS | Software-as-a-Service | 이 클라우드 서비스 모델에서 클라우드 공급자는 가상 머신, 네트워킹 리소스, 데이터 스토리지, 애플리케이션 등 애플리케이션 환경의 모든 측면을 관리합니다. 클라우드 테넌트는 클라우드 공급자가 관리하는 애플리케이션에 데이터만 제공하면 됩니다. 예를 들어 Microsoft Office 365는 클라우드에서 완전히 작동하는 버전의 Microsoft Office를 제공합니다. 사용자는 콘텐츠만 만들면 되고, Office 365가 다른 모든 것을 처리합니다. |
다음 그림에서는 각 클라우드 서비스 모델에서 실행될 수 있는 서비스를 보여 줍니다.
IaaS
IaaS는 가장 유연한 범주의 클라우드 서비스입니다. 애플리케이션을 실행하는 하드웨어를 완벽하게 제어할 수 있도록 하는 것이 목표입니다. 하드웨어를 구입하는 대신 IaaS를 통해 임대합니다.
Advantages (IaaS)
-
CapEx 없음. 사용자의 초기 비용이 없습니다.
-
민첩성 (Agility). 애플리케이션에 신속하게 액세스할 수 있으며 필요할 경우 프로비저닝을 해제할 수 있습니다.
-
관리. 관리 공유 책임 모델이 적용됩니다. 즉, 사용자는 프로비저닝한 서비스를 관리 및 유지 관리하고 클라우드 공급자는 클라우드 인프라를 관리 및 유지 관리합니다.
-
사용량 기반 모델 (Consumption-based model). 조직에서는 OpEx(운영 비용) 모델로 사용 및 운용하는 리소스의 비용만 지불합니다.
-
기술. 깊이 있는 기술이 없어도 퍼블릭 클라우드를 배포 및 사용하고 이점을 얻을 수 있습니다. 조직에서는 클라우드 공급자의 기술과 전문 지식을 활용하여 워크로드의 보안, 안전성 및 고가용성을 보장할 수 있습니다.
-
클라우드 이점. 조직에서는 클라우드 공급자의 기술과 전문 지식을 활용하여 워크로드의 보안 및 고가용성을 보장할 수 있습니다.
-
유연성. IaaS는 가장 유연한 클라우드 서비스로, 사용자가 애플리케이션을 실행하는 하드웨어의 구성 및 관리를 제어할 수 있습니다.
PaaS
PaaS는 IaaS와 이점 및 고려 사항이 동일하지만 몇 가지 추가 이점을 알고 있어야 합니다.
Advantages (PaaS)
-
CapEx 없음. 사용자의 초기 비용이 없습니다.
-
민첩성 (Agility). PaaS는 IaaS보다 민첩성이 뛰어나며 사용자가 애플리케이션을 실행할 서버를 구성할 필요가 없습니다.
-
사용량 기반 모델 (Consumption-based model). 사용자는 OpEx 모델로 사용 및 운용하는 리소스의 비용만 지불합니다.
-
기술. 깊이 있는 기술이 없어도 PaaS를 배포 및 사용하고 이점을 얻을 수 있습니다.
-
클라우드 이점. 사용자는 클라우드 공급자의 기술과 전문 지식을 활용하여 워크로드의 보안 및 고가용성을 보장할 수 있습니다. 또한 사용자는 더 많은 최첨단 개발 도구에 액세스할 수 있습니다. 그런 다음 애플리케이션의 수명 주기 전반에 걸쳐 이러한 도구를 적용할 수 있습니다.
-
생산성. 클라우드 공급자가 모든 플랫폼 관리를 처리하므로 사용자는 애플리케이션 개발에만 집중할 수 있습니다. 인터넷을 통해 플랫폼에 액세스하기 때문에 서비스로서의 분산 팀을 운영하기 더 쉽습니다. 플랫폼을 보다 쉽게 전 세계에서 사용할 수 있도록 설정할 수 있습니다.
Disadvantage (PaaS)
플랫폼 제한 사항. 몇몇 클라우드 플랫폼 제한 사항이 애플리케이션 실행 방식에 영향을 줄 수 있습니다. 어느 PaaS 플랫폼이 워크로드에 가장 적합한지 평가하는 경우 이 영역의 제한 사항을 모두 고려해야 합니다.
SaaS
SaaS는 사용자와 최종 사용자 또는 고객을 위해 중앙에서 호스트 및 관리되는 소프트웨어입니다. 일반적으로 모든 고객이 한 가지 애플리케이션 버전을 사용하고 월간 또는 연간 구독을 통해 라이선스가 부여되는 아키텍처를 기반으로 합니다.
SaaS는 IaaS와 이점이 동일하지만 몇 가지 추가 이점도 알고 있어야 합니다.
Advantage (SaaS)
-
CapEx 없음. 사용자의 초기 비용이 없습니다.
-
민첩성 (Agility). 사용자가 직원에게 최신 소프트웨어에 대한 액세스 권한을 빠르고 쉽게 제공할 수 있습니다.
-
종량제 가격 책정 모델 (Pay-as-you-go pricing model). 사용자는 소프트웨어 사용소프트웨어 사용량과 관계없이 일반적으로 매월 또는 매년인 구독 모델에서 사용하는 소프트웨어의 비용만 지불합니다.
-
기술. 뛰어난 기술이 없어도 SaaS를 배포 및 사용하고 이점을 얻을 수 있습니다.
-
유연성. 사용자가 어디서든 동일한 애플리케이션 데이터에 액세스할 수 있습니다.
Disadvantage (SaaS)
소프트웨어 제한 사항. 소프트웨어 애플리케이션의 몇 가지 제한 사항이 사용자의 작업 방식에 영향을 줄 수 있습니다. 소프트웨어를 있는 그대로 사용하므로 기능을 직접 제어할 수 없습니다. 어느 SaaS 플랫폼이 워크로드에 가장 적합한지 평가하는 경우 비즈니스 요구 사항과 소프트웨어 제한 사항을 고려해야 합니다.
Cloud service model comparison
IaaS | PaaS | SaaS |
---|---|---|
가장 유연한 클라우드 서비스입니다. | 애플리케이션 개발에 집중할 수 있습니다. | 종량제 가격 책정 모델 |
사용자가 애플리케이션을 위한 하드웨어를 구성 및 관리합니다. | 클라우드 공급자가 플랫폼 관리를 담당합니다. | 사용자는 구독 모델로 사용하는 소프트웨어에 대해 비용을 지불합니다. |
다음 차트에서는 클라우드 공급자와 클라우드 테넌트 간의 다양한 책임 수준을 보여 줍니다.
What is serverless computing?
PaaS와 마찬가지로 서버리스 컴퓨팅을 사용하면 개발자가 인프라를 관리할 필요 없이 빠르게 애플리케이션을 빌드할 수 있습니다. 서버리스 애플리케이션에서는 클라우드 서비스 공급자가 코드 실행에 필요한 인프라를 자동으로 프로비저닝, 스케일링 및 관리합니다. 서버리스 아키텍처는 스케일링 성능이 뛰어나고 이벤트 기반이므로 특정 기능 또는 트리거가 발생할 때만 리소스를 사용합니다.
하지만 코드는 여전히 서버에서 실행된다는 것을 알고 있어야 합니다. “서버리스” 라는 이름은 인프라 프로비저닝 및 관리와 관련된 작업이 개발자에게 표시되지 않는다는 점에서 유래합니다. 이 방식을 통해 개발자는 비즈니스 논리에 더욱 집중하고 비즈니스 핵심에 더 많은 가치를 제공할 수 있습니다. 서버리스 컴퓨팅을 통해 팀은 생산성을 향상하고 제품 출시를 단축할 수 있으며 조직은 리소스를 최적화하고 계속해서 혁신에 집중할 수 있습니다.
Top benefits of serverless computing
No infrastructure management
개발자는 완전 관리형 서비스를 사용하여 관리 작업을 없애고 핵심 비즈니스 논리에 집중할 수 있습니다. 서버리스 플랫폼에서는 코드를 배포하기만 하면 고가용성으로 실행됩니다.
Dynamic scalability
서버리스 컴퓨팅을 통해 모든 워크로드의 수요에 맞게 몇 초 이내에 인프라가 동적으로 규모 확장/축소됩니다.
Faster time to market
서버리스 애플리케이션은 각 개발 주기에서 작업 종속성을 줄여 개발 팀의 민첩성을 향상함으로써 더 적은 시간에 더 많은 기능을 제공할 수 있게 해줍니다.
More efficient use of resources
서버리스 기술로 전환하면 조직에서 TCO를 줄이고 리소스를 재할당하여 혁신 속도를 높일 수 있습니다.
Serverless application patterns
Serverless functions
서버리스 함수는 추가 서비스를 원활하게 통합하기 위한 바인딩 및 이벤트에 응답하기 위해 코드를 자동으로 실행하는 트리거가 포함된 이벤트 구동 모델을 사용하여 개발을 가속화합니다. 실행하는 만큼 지불하는 모델(1초 미만 단위로 청구)에서는 코드를 실행하는 데 소요하는 시간과 리소스에 대한 요금만 청구됩니다.
Serverless Kubernetes
개발자는 변동하는 워크로드에서 갑작스러운 트래픽 변화가 있을 때 자동으로 규모 확장/축소할 수 있는, Kubernetes에서 오케스트레이션된 완전 관리형 클러스터로 자체 컨테이너를 가져옵니다.
Serverless workflows
서버리스 워크플로는 로우 코드/코드 없는 방식을 통해 결합된 작업의 오케스트레이션을 간소화합니다. 개발자는 다양한 서비스(클라우드 또는 온-프레미스) 간 상호 작용을 코딩하거나, 붙이기 코드를 유지 관리하거나, 새로운 API 또는 사양을 배울 필요 없이 해당 서비스를 통합할 수 있습니다.
Serverless application environments
서버리스 애플리케이션 환경에서는 백 엔드와 프런트 엔드 모두 크기 조정, 보안 및 규정 준수 요구 사항을 처리하는 완전 관리형 서비스에서 호스트됩니다.
Serverless API gateway
서버리스 API 게이트웨이는 서버리스 백 엔드 서비스의 중앙 집중식 완전 관리형 진입점입니다. 개발자는 서버리스 API 게이트웨이를 통해 글로벌 규모로 API를 게시, 관리, 보호 및 분석할 수 있습니다.