내일채움공제 가입자를 위한 무료 이러닝 연수로 강의 듣기!
경영이나 창업 아니면 기계 쪽 강의도 있고 엑셀이나 파워포인트 강의도 있는 거 같던데 나는 머 IT 강의로ㅎㅎㅎㅎㅎㅎ
IT 강의는 하나당 평균적으로 10만원 내외인데 무료에다가 집으로 수강강의 해당 책도 배송해주고 나름 좋은듯하당👀
클라우드 컴퓨팅 개요
클라우드 컴퓨팅
❏ 컴퓨터 시스템 리소스를 필요시 바로 제공(온디맨드 방식 )하는 것.
❏ 일종의 정보들을 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술.
❏ 최소한의 관리 노력으로 빠르게 예비 및 릴리스를 가능하게 함.
❏ 인프라스트럭처에 시간과 비용을 들이기 보다 원래 하려고 했던 사업에 더 집중할 수 있게 됨.
❏ 일반적으로 종량제 모델을 사용( 내가 사용한 시간 대비 비용만 지불하면 된다는 뜻)
서버
: 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템 혹은 장치를 의미.
다양한 형태의 서버 구성
❏ Home Server : 집에서 직접 간단한 홈 서버 구축 가능
❏ Internet Data Center(IDC) : IDC에 공간을 임대해서 서버를 구축할 수 있음
❏ Cloud Service : AWS와 같은 클라우드 서비스를 이용해서 서버를 구축할 수 있음
온프레미스와 클라우드
❏ 온프레미스는 자체적인 서버를 구축해서 직접 서버를 운영하는 방식을 의미.
❏ 클라우드는 AWS와 같은 클라우드 프로바이더에 제공되는 서비스를 이용해서 직접 서버를 구축하지 않고 서버를 임대해서 사용하는 방식을 의미.
대표적인 클라우드 서비스는 AWS, GCP, MS Azure 등등등
Cloud Service의 장점
❏ 신속성 : 서버 구축과 삭제를 클릭 몇 번을 이용해서 몇 분 내로 신속하게 진행할 수 있음.
❏ 유연성 : 트래픽이 몰릴때는 서버 대수를 늘렸다가, 트래픽이 감소할 경우 서버 대수를 줄이는 형태로 유연하게 서버 운영이 가능.
❏ 경제성 : 클라우드 서비스는 사용한 시간만큼만 비용을 지불하면 되기 때문에 경제적.
DevOps와 MSA
MSA(MicroService Architecture)
❏ 애플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화 하는 서비스 지향 아키텍쳐 스타일의 일종인 소프트웨어 개발 기법으로,
최근에 각광받는 서비스 기법 중 하나(공식적인 정의는 없다고 함)
❏ 애플리케이션을 더 작은 단위 서비스로 분해하기 때문에 모듈성 개선 및 탄력성의 장점
❏ 서비스 레벨로 팀을 나눠서 개발하기 때문에 적은 인원이 들어갈거고 그렇게 되면 동기화 작업이나 독립적인 전개(deploy)시 유기적이게 가능해짐
❏ 단점으로는 모듈 간 통합 테스트가 어렵고 설정들을 통합적으로 잘 관리해야 하는 점
❏ 서비스 레벨에서 서로 통신할때는 자체 회사별 통신 방법을 따르거나 http.
❏ 기능별로 분리(예를 들면 웹 화면 보여주는 프로트엔드, 영화추천 추천엔진, 비드오 스트리밍을 위한 스트리밍 등 )하면,
최적의 조건에 부합하는 바에 따라 각기 다른 프로그래밍 언어, DB 등 스프트웨어 환경을 사용하여 구현 가능
❏ 애플리케이션의 사소한 부분의 변경은 적은 수의 서비스 빌드, 재전개만 필요로 함
모놀리티 아키텍처(Monolithic Architecture)
❏ 하나의 어플리케이션의 모든 기능이 하나의 구조에 통합되어 있는 형태로 전통적 소프트웨어 개발 방법론에서 자주 사용
❏ 하나의 구성환경만 관리하면 되기 때문에 개발 및 테스트가 용이해서 소규모 개발에 적합
DevOps
❏ 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로 개발자와 정보기술 전문가 간의 소통, 협업 및 통합 강조하는 개발환경이나 문화
❏ 하나의 팀이 개발만 하는 것이 아닌 개발하고 실제 그것의 인프라적인 운영을 같이 하는 형태라 생각
❏ 제품 출시까지 걸리는 기간 단축 및 복구 시에도 더 빠른 복구 가능의 장점
❏ 운영 프로세스의 예측 가능성, 효율성, 유지보수 가능성을 극대화 하는 것이 목적
IaC(Infrastructure as Code)
IaC
❏ 기계가 읽을 수 있는 정의 파일들을 통한 컴퓨터 데이터 센터의 관리 및 프로비저닝 과정
❏ 인프라적인 것들을 코드로 관리하기 때문에 비용 절감의 효과 및 배포 속도 향상
❏ 배포 과정에서의 오류 감소 효과 또한 기대 가능
❏ 많이 사용되는 툴로는 Chef, Puppet, Ansible, Saltstack, Terraform
IaC 구성하는 정의 파일
❏ 선언형 프로그래밍 방식을 취함
❏ 일반적으로 JSON, YAML, XML 혹은 자체적으로 사용하는 도메인 특화 언어(DSL)로 구성된 정의 파일 이용
신뢰성 있는 IaC 툴을 위한 조건
❏ 멱등성 : 동일한 스크립트나 작업을 악영향 없이 여러 번 실행 가능해야 함
❏ 사전 점검: 스크립트 실행 전 스크립트가 실제 시스템에 미칠 영향 사전 점검 가능해야 함
❏ 사후 점검: 스크립트 실행 후 시스템 변경의 성공적 완료 및 에러 발생 시 에러 원인 쉽게 확인 가능해야 함
'DevOps&Infra > Cloud Infra' 카테고리의 다른 글
Bootstrap IaC 툴 및 Vagrant 실습 (0) | 2023.11.18 |
---|---|
클라우드 컴퓨팅과 클라우드 네이티브 (0) | 2023.11.11 |