아래 과정 수강 후 작성했습니다.
https://e-koreatech.step.or.kr/page/lms/?m1=course&m2=course_detail&course_id=65982
e-koreatech
e-koreatech.step.or.kr
클라우드 에센셜 - 핵심 서비스
Azure 핵심 서비스
컴퓨팅, 네트워킹, Storage, 모바일, 데이터베이스, 웹 -> 제품 서비스를 기업 또는 조직의 요구에 맞게 조합하여 사용
컴퓨팅
기업이 이전하는 주된 이유
형식 | 서비스 명칭 | 서비스 기능 |
IaaS | Azure Virtual Machines | Azure에서 호스트되는 Windows 또는 Linux VM(가상머신) |
Azure Kubernetes Service | 컨테이너화된 서비스를 실행하는 VM 클러스터 관리 | |
Azure Service Fabric | 분산 시스템 플랫폼으로 Azure 또는 온프레미스에서 실행 | |
PaaS | Azure Batch | 병렬 및 고성능 컴퓨팅 응용 프로그램을 위한 관리 서비스 |
Azure Cloud Services | 클라우드 응용 프로그램을 실행하기 위한 관리 서비스 | |
Faas | Azure Container Instances | VM 프로비전 이상의 서비스 없이도 컨테이너르르 제공 |
Azure Functions | 관리 FaaS 서비스 |
네트워킹
계산 리소스를 연결하고 응용 프로그램에 대한 엑세스 제공, 데이터 센터의 기능을 외부환경에 연결하는 다양한 옵션 포함
스토리지
클라우드 에센셜 - 가상 컴퓨팅 서비스
계산 리소스를 ㅁ나들고 필요한 작업을 수행하도록 구성한 후 사용한 리소스에 대해서만 과금
데이터 분석시 Azure가 적합한 이유
- Azure compute는 클라우드 기반 응용 프로그램을 실행하기 위한 주문형 컴퓨팅 서비스
- 가상머신 및 컨테이너를 통해 멀티코어 프로세서, 슈퍼컴퓨터 등 컴퓨팅 리소스 제공
- 인프라 설정, 구성 필요 없음, 앱 실행하는 서버리스 컴퓨팅 제공
Azure Compute 수행 기술
- 가상머신 컴퓨팅 : 물리적 컴퓨터의 소프트웨어 에뮬레이션, 가상 프로세서, 메모리, 저장소, 네트워킹 리소스 포함 / 운영체제 호스트함, 물리적 컴퓨터처럼 소프트웨어 설치, 실행 가능 / 미리 구성된 가상머신 이미지 선택하면 빠르게 새 가상머신 만들고 배포 가능
- 컨테이너 컴퓨팅 : 가상화 환경이지만 가상머신과 달리 운영체제 포함하지 않는 대신 호스트 환경의 운영체제 창조 / 컨테이너 구성-> 필요한 모든 라이브러리 + 사용자 작성 응용 프로그램 ,,,경량이며 동적으로 생성, 확장, 중지되도록 설계
- 서버리스 컴퓨팅 : 코드를 실행하는, 클라우드에 호스트 된 실행환경이지만 기본 호스팅 환경을 완전히 추상화함 / 서비스 인스턴스를 만들고 코드추가만 하면됨 , 인프라 구성 관리 필요 없음 / 이벤트에 응답하도록 서버리스 앱 구성됨 / 크기 조정 및 성능이 자동 처리되며 사용 리소스만 과금되어 저렴, 용량 예약 필요 없음
클라우드 에센셜 - 스토리지 서비스
Azure 데이터 저장소 옵션
클라우드 기반으로 보존되는 확장 가능한 기능 -> 안정성과 내구성 좋은 저장소 솔루션 제공
클라우드에 데이터 저장하는 이유
- 자동화된 백업 및 복구 -> 예상치 못한 오류, 중단 시 데이터 손실 위험 완화
- 전세계에서 데이터를 복사 -> 예약, 유지관리, 하드웨어 오류에 대비해 보호
- 데이터 분석 지원
- 데이터 암호화 -> 높은 안정성, 데이터에 엑세스 할 수 있는 사용자 제어 가능
- 다양한 데이터 형식 지원 -> 거의 모든 데이터 저장 가능
- 가상 디스크의 데이터 저장소 제공 -> 대용량 경우 중요한 기능
- Azure는 저장소 계층 저장 -> 사용빈도에 따라 경제적으로 저장 비용 통제 가능
특정유형의 데이터 저장소 요구사항을 충족하는 Azure 옵션
- Azure SQL database : 견고하고 완벽하게 관리되는 관계형 클라우드 DB
- Azure Cosmos DB : 글로벌 분산형 DB
- Azure Blob : 전세계 어디서나 대용량 비디오, 오디오를 사용자 브라우저로 직접 스트리밍 가능
저장소 계층
- 핫 저장소 : 자주 액세스 데이터 저장하는데 최적화됨
- 쿨 저장소 : 드물게 액세스 최소 30일 동안 저장되는 데이터
- 보관 저장소 : 유연한 대기시간 요구 최소 180일동안 액세스, 저장되지 않은 데이터
클라우드 에센셜 - 네트워크 서비스
- 공용 클라우드에서 사이트 배포
- 클라우드에 온프레미스 구성 다시 만들기 -> 네트워크 구성과 Azure에서 네트워크 트래픽 이동경로를 알려줌
- 대규모 엔터프라이즈 시스템 -> 종종 상호 연결되어 함께 작동하는 여러 응용 프로그램과 서비스로 구성
- 프론트엔드 웹 시스템 -> 인벤토리 데이터 제공, 사용자 프로필 관리, 신용카드 처리, 처리된 주문의 이행 요청
- 공용 클라우드 서비스로 고가용성 및 복원력을 높일 수 있는 방법 : Traffic Manager 같은 서비스로 네트워크 대기시간 단축 및 지리적 위치에 복원력 제공
복잡한 시스템을 쉽게 디자인, 빌드, 관리하기 위한 전략은?
1계층
- 느슨하게 결합된 시스템을 구축하는데 사용할 수 있는 아키텍처 패턴
- 응용프로그램을 2개 이상의 논리 계층으로, 하위 계층에서 상위 계층으로 액세스 불가
- 장점 - 계층은 문제 구분하는데 도움됨, 재사용 가능, 유지관리 간소화됨, 계층 개별적 업데이트 수정 가능, 새로운 계층 삽입 가능
3계층
- 전자 상거래 웹 응용프로그램은 이것 씀
- 웹계층 - 브라우저를 통해 사용자에게 웹 인터페이스 제공
- 응용 프로그램 계층 - 비즈니스 논리 실행
- 데이터 계층 - 정보, 고객 주문 저장하는 데이터 베이스 및 기타 저장소 포함
클라우드 에센셜 - 보안 서비스
모든 시스템, 아키텍처 및 응용 프로그램은 보안을 고려하여 설계해야 함
데이터 위반은 신뢰를 손상시킴 -> 시스템 보안 보장하기 위해 노력해야함
클라우드 보안은 공급자와 고객 모두의 문제이며 책임
보안에 대한 계층화된 접근 방법
심층 방어
- 정보에 무단으로 액세스하려는 공격의 진행 속도를 늦추는 일련의 메커니즘 사용하는 전략
- 목적 : 액세스 권한이 없는 개인으로부터 정보를 보호하고 도난을 방지하는 것
- 각 레이어가 보호를 제공 , 한 레이어에서 보안 위반이 발생하더라도 이미 후속 레이어가 적용되어 추가 노출 방지
- 단일 보호 레이어에 의존하지 않고 공격속도 늦출 수 있음
- 자동 또는 수동으로 작업할 수 있는 경고 원격 분석을 제공할 수 있음
- Azure는 계층화된 접근방식을 보안에 적용
- 공격자가 목표로 하는 데이터 : 데이터베이스에 저장된 데이터, 가상 머신 내부 디스크에 저장된 데이터, SaaS 응용 프로그램에 저장된 데이터, 클라우드 저장소에 저장된 데이터
- 계산 : 가상 머신에 대한 액세스 보호 -> 엔드포인트 보호를 구현하고 시스템을 패치하여 최신 상태로 유지
- ID 및 액세스 : 인프라 및 변경, 제어에 대한 액세스 제어 -> Single Sign-On 및 다단계 인증 사용, 이벤트 및 변경 내용 감사
클라우드 에센셜 - 데이터베이스
클라우드 데이터 베이스 서비스란?
공용 클라우드의 데이터베이스 저장 서비스를 사용하여 가장 성능이 뛰어난 솔루션을 가져오는 방법은?
온라인 판매 웹사이트 - 재무, 카탈로그 등 비즈니스실행에 필요한 여러 데이터 집합 존재 -> 최상의 저장소 솔루션 필요
솔루션 결정시 고려 요인 : 데이터 분류 방법, 데이터 사용 방법, 응용 프로그램 최상의 성능 향상 방법
데이터 분류
응용 프로그램 데이터 : 구조적, 반구조적, 비구조적
구조적 데이터 : 스키마를 준수하는 데이터
모든 데이터에 동일한 필드 또는 속성 있음, 관계형 데이터 , 입력 및 쿼리 분석이 쉽다, 모든 데이터가 동일한 형식을 따름
센서, 재무데이터
반구조적 데이터 : 구조적보다 덜 조직화
필드가 테이블 행, 열에 제대로 맞지 않으므로 관계 형식으로 저장되지 않음
클라우드 에센셜 - DevOps
DevOps
개발팀 + 운영팀
개발팀 : 웹사이트, 앱, 알고리즘 개발
운영팀
- 개발된 아이템을 고객들에게 전달해줌
- 고객의 니즈를 파악하여 어떤 상품이 개발되면 그 상품이 안정적으로 고객들에게 전달될 수 있도록 하는 부서
- 고객의 수요가 폭발할경우 서버수 증가시키고 제대로 돌아갈 수 있게함
- 데이터베이스 서버에 과부하 걸릴 경우 클라우드 서버 구매해서 데이터가 순조롭게 저장될 수 있게함
- 운영팀은 서비스가 제대로 돌아갈 수 있는 환경을 개발팀엥게 제공해주는 부서
DevOps가 차세대 개발론으로 선택된 이유
기존에 개발을 완료하면 출시전에 운영팀에서 서버, 데이터베이스 테스트한 후 배포
두 부서간 소통을 원활하게 하는것이 데브옵스
01. 개발 > 운영 > 고객순으로 서비스가 빠른 속도로 전달될 수 있도록 구조 짜줄 수 있음
02. 고객 > 운영 > 개발 로 빠른 피드백이 이루어 질 수 있도록 구조를 짜줄 수 있음
03. 회사 내에서 새로운 시도를 할 수 있는 문화 형성에 도움을 주게 됨
클라우드가 제공하는 데브옵스 서비스
데브옵스 방식을 사용하여 제품을 빠르고 안정적으로 구축 및 제공할 수 있게 설꼐된 유연한 서비스 집합 제공
데브옵스 서비스 종류 : 인프라 프로비저닝 및 관리, 애플리케이션 코드 배포, 소프트웨어 릴리즈 프로세스 자동화, 애플리케에션 및 인프라 성능 모니터링 간소화 -> 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합
제품이나 서비스를 빠르게 혁신하고 개선해 조직은 ㄴ고객을 더 잘 지원하고 시장에서 더 효과적으로 경쟁할 수 있음
데브옵스 모범사례와 클라우드 서비스
01 지속적 통합 - > 자동화된 빌드 및 테스트 수행 후, 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합
변경사항을 커밋할때마다 AWS CodeBuild에서 코드를 빌드하고 워크플로를 구축하는 AWS CodePipeline 사용
02 지속적 전달 - > 코드 변경이 프로덕션에 릴리스 할 수 있도록 자동으로 빌드, 테스트 및 준비되는 소프트웨어 개발 방식
AWS CodePipeline 사용
03 마이크로 서비스 -> 단일 애플리케이션을 작은 서비스의 집합으로 구축하는 설계 접근 방식
AWS ECS, AWS Lambda 서비스 사용
04 커뮤니케이션 및 협업 -> 조직에서 커뮤니케이션과 협업이 중가하는 것도 데브옵스의 주요 문화적 측면 중 하나
데브옵스 도구 및 소프트웨어 제공 프로세스 자동화를 사용하여 개발 및 운영의 워크플로와 책임을 물리적으로 합침으로써 협업을 함
클라우드 전환(Migration) 수행방안
온프레미스->퍼블릭 클라우드
성공적인 마이그레이션을 이룰 수 있도록 체계적인 로드맵 형태로 진행하여 중간중간 점검하고 확인하면서 진행해야함
01 클라우드 공급자 선택 : 어떤 공용 클라우드를 가장 많이 사용하고 있는지 확인 / 해당 기업이 집중하고 있는 부분이 무엇인지 확인 / 데이터베이스 용량을 얼마나 원하는지 확인 / 얼마의 비용 발생하는지 분석
02 마이그레이션 준비 : 어떤 워크로드를 우선적으로 이전 -> 이전 쉽고 덜중요한것 먼저
기업의 어플리케이션 아키텍처가 변경되는가 / 어떤 이점을 가져올 수 있는지 -> 성능/ 직원들이 마이그레이션 할 준비가 되어있는지 파악 / 클라우드에서 기업의 서비스를 운영할 계획 세웠는지 / 어떻게 운영할 것인지
운영 계획 : 코드 업데이트, 문제 해결, 성능 측정
03 마이그레이션 수행 : 데이터베이스와 어플리케이션 사이즈에 따라 이에 맞는 기술 사용해 이전
마이그레이션 중 보안 유지 / 데이터 마이그레이션 하기/ 올바른 마이그레이션 툴 사용 / 한군데의 클라우드 공급자에 종속되지 않도록 하기(멀티 클라우드)
04 마이그레이션 완료 후 검토 : 마이그레이션 후 모든 워크로드가 정상적으로 작동하는지 확인
테스트에 포함될 사항 : 이전한 워크로드 작동하는지 / 모든 데이터 이전되었는지 . 모든 워크로드에 접근 간으한지 모든 내부직원이 적절히 소통하는지 / 모든 관리 툴을 통해 새로운 클라우드 어플리케이션을 모니터링 할 수 있는지
클라우드 도입을 통해 더 빠르고 더 나은 서비스를 제공할 수 있음
'클라우드' 카테고리의 다른 글
[클라우드] 클라우드 컴퓨팅 (0) | 2022.11.05 |
---|