🔑복습 그리고 또 복습
💡 온프레미스 환경 (On-Premise)
📃 온프레미스 환경은 기업이나 기관이 자체적으로 데이터 센터를 구축하고 운영하는 방식입니다. 이를 통해 IT 인프라를 직접 관리하며, 물리적인 서버, 네트워크 장비, 스토리지 등을 보유하고 있습니다
⬆️ 이러한 IDC 주요 구성 요소는 서버룸, 네트워크 인프라, 전원 및 냉각 시스템, 보안 시스템, 운영 및 관리 도구로 이루어져있습니다
💡 클라우드 (Cloud)
📃 클라우드는 앞서 설명한 온프레미스와는 다르게, Pay as you go 방식으로 운영되는 IT 인프라 서비스입니다. 즉, 물리적인 서버실을 직접 구축하지 않고도 데이터 저장, 네트워크, 컴퓨팅 리소스 등을 필요할 때마다 즉시 사용할 수 있습니다
클라우드의 핵심 특징으로는 다음과 같습니다
1️⃣ 사용자가 필요할 때 즉시 서버, 스토리지, 네트워크 등의 리소스를 추가하거나 줄일 수 있습니다
2️⃣ 트래픽 증가 시 자동으로 서버를 확장하여 가용성을 유지할 수 있습니다
3️⃣ 사용한 만큼만 비용을 지불하는 방식이므로, 초기 인프라 구축 비용을 절감 할 수 있습니다
4️⃣ 클라우드 제공업체가 하드웨어 관리, 소프트웨어 업데이트, 보안 패치를 수행하므로 기업의 IT 운영 부담이 줄어듭니다
5️⃣ 인터넷만 있으면 어디서든 클라우드 리소스를 관리하고 사용할 수 있습니다
💡 DevOps 란? (Development & Operation)
📃 DevOps라는 용어는 2009년에 Patrick Debois와 Andrew Clay Shafer가 벨기에의 Agile 컨퍼런스에서 "Agile Infrastructure"라는 주제로 발표하면서 처음 소개되었습니다. 이후 DevOps는 빠르게 확산되며 소프트웨어 개발 및 운영 방법론의 핵심 개념으로 자리잡게 됩니다.
📃그래서 DevOps는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합입니다.
📃 DevOps 엔지니어는 코딩, 인프라 관리, 시스템 관리 및 DevOps 도구 체인을 포함하여 개발 및 운영에 대한 광범위한 지식을 갖춰야하는 IT 전문가입니다
DevOps의 주요 필요성 및 사용 이유
1️⃣ 속도와 효율성: DevOps는 자동화된 배포 파이프라인을 통해 소프트웨어를 빠르고 안정적으로 릴리즈 할 수 있게 합니다
2️⃣ 품질 보증: 지속적인 통합(CI)과 지속적인 배포(CD)를 통해 코드 변경 사항을 빠르게 테스트하고 배포함으로써 품질을 보장합니다
3️⃣ 협업 증진: 개발자와 운영 팀 간의 긴밀한 협업을 통해 문제를 조기에 발견하고 해결할 수 있습니다
4️⃣ 비용 절감: 자동화를 통해 반복적인 수작업을 줄이고, 인프라 효율성을 높여 비용을 절감합니다
💡 DevOps의 사이클
📃 DevOps는 앞서 설명한 것과 같이 개발과 운영을 통합하여 지속적인 통합(CI) 및 지속적인 배포(CD)를 자동화하고 최적화하는 과정입니다
1️⃣ Plan (계획)
2️⃣ Develop (개발)
3️⃣ Build & Test (구축 및 테스트)
4️⃣ Relase & Deploy (릴리즈 및 배포)
5️⃣ Operate (운영)
6️⃣ Monitor & Feedback (모니터링 및 피드백)
📌 1. Plan (계획) → Jira, Confluence, GitHub Projects
- 설명: 요구 사항을 정의하고, 작업을 계획하며, 개발 일정을 수립하는 단계
📌 2. Develop (개발) → Git, GitHub, GitLab, Bitbucket
- 설명: 실제 코드를 작성하고 버전 관리를 통해 협업하는 단계
📌 3. Build & Test (빌드 & 테스트) → Jenkins, Gradle, Jest, Selenium
- 설명: 코드를 빌드하고 자동화된 테스트를 수행하는 단계
📌 4. Release & Deploy (릴리즈 & 배포) → Docker, Kubernetes, ArgoCD
- 설명: 테스트를 통과한 애플리케이션을 운영 환경에 배포하는 단계
📌 5. Operate (운영) → Terraform, Ansible, AWS/GCP/Azure
- 설명: 인프라를 운영하고 애플리케이션을 안정적으로 유지하는 단계
📌 6. Monitor & Feedback (모니터링 & 피드백) → Prometheus, Grafana, ELK Stack
- 설명: 시스템 성능을 모니터링하고 로그를 분석하여 개선하는 단계