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. 여러군데 배포할 수 있는 확장성
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'AWS' 카테고리의 다른 글
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 05일차 (0) | 2021.09.10 |
---|---|
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 04일차 (0) | 2021.09.09 |
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 03일차 (0) | 2021.09.08 |
[AWS] PuTTy, PuTTygen 이용해서 Amazon Linux 2 ssh 접속하기 (0) | 2021.09.08 |
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 02일차 (0) | 2021.09.07 |
댓글