[Azure] Fundamental - part3. Azure 핵심 솔루션 및 관리 도구
1. Azure 요구 사항에 적합한 AI 선택
1) Azure Machine Learning
Azure Machine Learning은 예측용 플랫폼이다. 향후 결과를 정확하게 예측하는 모델을 찾기 위해 데이터에 연결하여 모델을 학습 및 테스트 할 수 있는 도구와 서비스로 구성되어 있다.
- 데이터를 가져오는 방법, 누락되거나 잘못된 데이터를 처리하는 방법, 데이터를 학습/테스트 세트로 분할하고 데이터를 학습 프로세스로 전달하는 방법을 정의하는 프로세스를 만든다.
- 데이터를 친숙한 도구와 프로그래밍 언어를 사용하여 예측 모델을 학습시키고 평가
- 학습 데이터와 테스트 데이터를 기반으로 알고리즘의 점수를 매기는 데 필요한 컴퓨팅 집약적 실험을 실행할 위치와 시기를 정의하는 파이프라인을 만든다.
- 다른 애플리케이션에서 실시간으로 사용할 수 있도록 최적의 알고리즘을 API로 엔드포인트에 배포
2) Azure Cognitive Services
Azure Cognitive Services는 애플리케이션이 보고 듣고 말하고 이해하고, 추론을 시작할 수 있는 빌드된 기계학습 모델을 제공. Azure Machine Learning에서는 고유 데이터를 가져와 모델을 학습시켜야 하지만, Azure Coginitive에서는 예측을 얻는 기반이 되는 라이브 데이터를 가져올 수 있도록 미리 학습된 모델을 제공한다.
- 언어 : 미리 빌드된 스크립트를 사용하여 자연어를 처리, 감정 평가, 사용자가 원하는 것을 인식하는 방법을 학습
- 음성 : 음성을 텍스트로, 텍스트를 음성으로 변환
- 비전 : 비디오 및 시각적 콘텐츠 분석
- 의사 결정 : 사용자에게 맞춤 추천
3) Azure Bot Service
Azure Bot Service, Bot Framework는 사람처럼 질문을 이해하고 질문에 응답하는 가상 에이전트를 만들기 위한 플랫폼.
2. 솔루션을 빌드하는 데 도움이 되는 최상의 도구 선택
1) Azure DevOps Services
- Azure Repos : 소프트웨어 개발, DevOps 엔지니어링, 문서화 전문가가 협업을 위해 코드를 게시할 수 있는 중앙형 소스 코드 리포지토리
- Azure Boards : Kanban 보드, 작업을 포함하는 Agille한 프로젝트 관리 제품
- Azure Pipelines : CI/CD 파이프라인 자동화 도구
- Azure Artifacts : 테스트 또는 배포 파이프라인 단계로 공급할 수 있는 컴파일된 소스 코드와 같은 아티팩트를 호스트 하기 위한 리파지토리
- Azure Test Plans : 소프트웨어 릴리즈 전에 품질을 보장하기 위해, CI/CD 파이프라인에서 사용할 수 있는 자동화된 테스트 도구
2) GitHub 및 GitHub Actions
GitHub는 오픈 소스 소프트웨어를 위한 코드 리포지토리
3) Azure DevTest Labs
Azure DevTest Labs는 소프트웨어 프로젝트의 빌드가 포함된 VM을 빌드, 설정 및 삭제하는 프로세스를 관리하기 위한 자동화된 방법을 제공. 개발자와 테스터는 다양한 환경 및 빌드에서 테스트를 수행할 수 있다. ARM 템플릿을 통해 배포할 수 있는 것은 무엇이든 DevTest Labs를 통해 프로비저닝 할 수 있다.
3. 모니터링 서비스
1) Azure Advisor
Azure Advisor는 Azure 리소스를 평가하고, 안정성, 보안 및 성능 개선, 운영 우수성 달성 및 비용 절감에 도움이 되는 권장 사항을 제공한다.
- 안정성: 중요 비즈니스용 애플리케이션의 연속성을 보장 및 개선하는 데 사용
- 보안: 보안 위반으로 이어질 수 있는 위협 및 취약점을 감지하는 데 사용
- 성능: 애플리케이션의 속도를 향상시키는 데 사용
- 비용: 전체 Azure 지출을 최적화 및 절감하는 데 사용
- 운영: 프로세스 및 워크플로 효율성, 리소스 관리 효율성 및 배포 모범 사례를 달성할 수 있도록 하는 데 사용
2) Azure Monitor
Azure Monitor는 전체 Azure 및 On-premises 환경의 매트릭과 로깅 데이터를 기반으로 수집, 분석, 시각화 및 잠재적 작업을 수행할 수 있는 플랫폼이다.

SMS, 이메일 등을 통해 팀에 전달되는 경고를 통해 데이터를 사용하여 중요 이벤트에 실시간으로 대응할 수 있다. 또한 임계값을 사용하여 수요에 맞춰 크기를 조정할 수 있는 자동 크기 조정 기능을 트리거할 수 있다.
Application Insights를 사용하면 오류 보고를 기다릴 필요 없이 애플리케이션 개발자가 Azure Monitor의 강력한 데이터 분석 플랫폼을 활용하여 애플리케이션의 작업에 대한 심층적인 인사이트를 확보하고 오류를 진단할 수 있다.
3) Azure Service Health
Azure Service Health는 사용하는 Azure 서비스, 지역 및 리소스의 상태에 대해 개인 설정된 보기를 제공한다.
- 서비스 문제 : 서비스 중단 등 최신 정보를 공유하고 추적하는 방법을 찾을 수 있다.
- 계획된 유지 관리 : 영향을 받는 서비스, 지역 및 세부 정보로 드릴다운하여 이벤트가 미치는 영향과 수행해야 하는 작업을 표시할 수 있다.
- 상태 공지 : 서비스 폐기 및 호환성이 손상되는 변경을 포함된 서비스 중단을 방지하기 위해 조치행야 하는 문제.
4. Azure 환경 관리 및 구성에 적합한 도구
1) Azure Portal
웹 기반 사용자 인터페이스인 Azure Portal을 사용해, 사용 중인 모든 기능에 Access 할 수 있다. 사용중인 모든 서비스를 확인하고, 새 서비스를 만들고, 구성하고, 보고서를 볼 수 있는 GUI를 제공한다.
2) Azure Mobile App
iOS, Android에서 리소스에 액세스 할 수 있도록 지원
- Azure 리소스 상태 모니터링
- 경고 확인, 문제 빠른 진단 및 해결, Web App, VM 재시작
- Azure CLI또는 Azure PowerShell 명령을 실행하여 Azure 리소스 관리
3) Azure PowerShell
Azure PowerShell은 개발자 및 DevOps 및 IT 전문가가 cmdlet이라는 명령을 실행할 수 있는 쉘이다. Azure Rest API를 호출하여 Azure에서 가능한 모든 관리 작업을 수행한다. cmdlet은 독립적으로 실행하거나 하나의 스크립트 파일로 결합하여 다음을 오케스트레이션 할 수 있다.
- 단일 리소스 또는 연결된 여러 리소스의 루틴, 해체 및 유지 관리
- 명령적 코드에서 수백 개의 리소스를 포함할 수 있는 인프라 배포
4) Azure CLI
Azure CLI 명령줄 인터페이스는 개발자, DevOps 전문가또는 IT 전문가가 Bash에서 명령을 실행할 수 있는 실행 프로그램이다. Azure RestAPI를 호출하여 Azure에서 가능한 모든 관리 작업을 수행한다. 명령을 개별적으로 실행하거나 스크립트 파일로 결합하여 단일 리소스 또는 전체 환경에 대한 루틴 설정, 해체 및 유지 관리를 위해 함께 실행할 수 있다.
Azure CLI는 작업 수행 시 Azure PowerShell과 거의 동일하다. 둘 다 Windows, Linux 및 Mac에서 실행되고 Cloud Shell을 통해 웹 브라우저에서 액세스할 수 있다.
5) ARM 템플릿
ARM 템플릿 (Azure Resource Manager 템플릿)을 사용하면 리소스를 선언적 JSON 형식으로 설명할 수 있다.
5. Azure 서버리스 기술 검토 및 비즈니스 시나리오
1) Azure Functions
Azure Functions 서비스를 사용하면 이벤트에 대한 응답으로 실행되는 클라우드에서 널리 사용되는 프로그래밍 언어를 사용하여 단일 메서드 또는 함수를호스트 할 수 있다. HTTP 요청, 큐의 새 메시지 또는 타이머 메시지 등이 있다.
서비스를 실행하는 코드에만 관심이 있고, 기본 플랫폼이나 인프라에는 관심이 없는 경우에 적합하다. 이벤트에 대한 응답으로 작업을 수행해야 하는 경우에 가장 일반적으로 사용된다. REST 요청, 타이머 또는 다른 Azure 서비스의 메시지를 통해 수행하는 경우 사용된다.
2) Azure Logic Apps
Logic Apps는 클라우드 서비스로 호스트되는 코드없는 개발 플랫폼이다. 앱, 데이터, 시스템 및 서비스를 통합해야 하는 경우 작업, 비즈니스 프로세스 및 워크 플로를 자동화하고 오케스트레이션 하는데 유용하다. Azure Functions와의 차이점은 서비스 의도이다. Azure Logic Apps는 다양한 연결이 포함된 장기 실행 비즈니스 프로스세를 오케스트레이션 하는데 더 적합하다.
6. 애플리케이션에 가장 적합한 Azure IoT 서비스 선택
1) Azure IoT Hub
Azure IoT Hub는 클라우드에 호스트되고, IoT 애플리케이션과 Device 간의 양방향 통신을 위한 중ㅇ앙 메시지 허브 역할을 하는 관리형 서비스이다. Azure IoT Hub를 사용하여 수백만 개의 IoT 디바이스와 클라우드에 호스트된 솔루션 백엔드 간에 안정적이고 안전한 통신을 제공하는 IoT 솔루션을 빌드할 수 있다.
2) Azure IoT Central
Azure IoT Central은 IoT 디바이스를 연결 및 모니터링하고 관리할 수 있는 대시보드를 추가하여 IoT Hub 위에 구축 된다.
3) Azure Sphere
Azure Sphere는 고객을 위해 디바이스의 하드웨어 및 운영 체제, 디바이스에 메시지 허브로 메시지를 전송하는 안전한 방법 등의 모든 것을 포함하는, 보안이 뛰어난 End-To-End IoT 솔루션을 만든다.