본문 바로가기
AWS

[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 01일차

by 원동호 2021. 9. 6.
반응형

Ch 01. 오리엔테이션과 시작하기

  • 01. devOps의 필요성
  • 02. Jira Confluence 설명
  • 03. AWS와 Docker의 필요성

devOps 기본 구성

- 2008년 애자일 컨퍼런스에서 앤드루 클레이 쉐이퍼(Andrew Clay Shafer)와 패트릭 드부와(Patrick Debois)가 

"애자일 인프라스트럭처"에 대해 논의하며 처음으로 사용

- 소통, 협업, 통합 및 자동화를 강조하는 소프트웨어 개발 방법론

- 개발과 운영이 상호의존적으로 대응해야 한다는 의미

- 개발과 운영 사이의 역할

 

Tool Chain

- Jira : 아틀라시안이 개발한 이슈 추적 제품이며 버그 추적, 이슈 추적, 프로젝트 관리 기능을 제공한다.

- Jenkins : 소프트웨어 개발 시 지속적 통합 서비스(CI/CD)를 제공하는 툴이다.

- Bitbucket : 아틀라시안 소유의 웹 기반 버전 관리 저장소 호스팅 서비스이다.

- Confluence : 아틀라시안에서 개발한 자바 기반의 상용 위키 소프트웨어이다.

- aws : 아마존 웹 서비스로 클라우드 컴퓨팅을 제공한다.

- docker : 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다.

 

 

AWS의 장 단점
장점 단점
1. 탄력적인 웹 규모 컴퓨팅 1. 베어 메탈 성능을 원할때
2. 다양한 API 제공 2. 웹페이지가 소규모일 경우
3. 유연한 클라우드 호스팅 서비스 3. 솔루션에 적합
4. 통합(Storage, RDS 등), 안정성 ,보안 4. 가격

 

 

AWS의 종류

  • EC2 : 개발자가 더 쉽게 클라우드 컴퓨팅을 하게 해주는 도구이며 오토 스케일링(자동 확장 및 축소)이 가능하고 완전 제어 가능, 다양한 Command API를 제공한다. 안정성과 보안을 가지고 있음.
  • Lambda : 서버를 관리할 필요 없이 코드를 실행 할 수 있다. 코드를 실행 한 만큼만 과금이 되며 코드가 실행 되지 않을때는 과금되지 않는다. 서버를 별도로 구성할 필요가 없음. 장점으로는 S3, DynamoDB와 확장 하여 다양한 커스텀 API를 제공할 수 있다.
  • VPC : 고객이 정의하는 가상 네트워크에서 AWS의 리소스를 시작할 수 있도록 격리된 공간에 프로비전을 할 수 있다. IP주소 선택, 라우팅 테이블, 네트워크 제어 등 가상 네트워킹을 제공한다. 다중 옵션 연결이 가능하다.
  • S3 : 비용을 최적화하고 데이터를 유연하게 관리할 수 있고 Query를 지원한다.
  • EBS : EC2 인스턴스에서 사용할 영구 Block Storage Volume을 제공한다. 각 AWS EBS Volume은 가용 영역 내에 자동적으로 복제되어 장애로 부터 보호된다. 자동적으로 Volume 변경 가능, 스냅샷 기능이 있음.
  • RDS : 관리형, 관계형 DB 서비스이다. Aurora, MS-SQL, MySQL, MariaDB 등 고객이 선택할 수 있음. 
  • DynamoDB : 규모와 관계없이 10밀리초 미만의 지연 시간으로 이용할 수 있다. NoSQL 서비스. 초당 수백만개의 데이터를 처리 할 수 있다.
  • RedShift : 속도가 빠른 완전 관리형 데이터베이스로써 모든 데이터를 표준 SQL로 사용 가능하다.쿼리 최적화, 대량 병렬 쿼리 실행 기능 등 복잡한 분석 쿼리를 실행할 수 있다. 메시 네트워크를 사용함.
  • AuroraDB : MySQL , PostgreSQL aws 클라우드 환경에 맞게 구축된 데이터베이스

  • Cloud Watch : AWS Cloud Resource와 AWS에서 실행되는 Application을 위한 모니터링 서비스이다. 모든 로그 파일을 수집하여 모니터링할 수 있고 경보를 설정할 수 있다. 비용을 지불할 경우 더욱 더 상세한 로그를 확인할 수 있다.
  •  Kinesis : 실시간 스트리밍 데이터를 손쉽게 수집하고 처리, 분석할 수 있다. 완전 관리형이 가능하다. 인프라를 따로 관리할 필요 없이 확장할 수 있다.  
Docker의 장점

1. 실행 시점에 상관없이 구성 시점을 고를 수 있다.

1) 서비스를 이미지화 하여 동시에 배포를 할 수 있다.

2) 버전 관리 용이

 

2. 개발 프로그램 설치와 삭제가 용이

1) 명령어를 이용해서 다양한 프로그램 설치와 삭제가 용이하다.

 

3. 운영체제 도커 실행 소스 일관성, 유연성

 

4. 이미지 용량이 크게 줄어듬 (리눅스 컨테이너를 사용한다.)

 

5. 여러군데 배포할 수 있는 확장성

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

-> https://bit.ly/37BpXiC

반응형

댓글