✅ API란 무엇인가?
- **API (Application Programming Interface)**는 애플리케이션 간 상호작용을 가능하게 하는 인터페이스다.
- 서버와 클라이언트 간, 또는 서로 다른 서비스 간의 데이터를 주고받기 위해 사용된다.
- 예: 프론트엔드에서 백엔드로 주문 내역을 요청할 때 API를 통해 통신한다.
✅ API란 무엇인가?
- **API (Application Programming Interface)**는 애플리케이션 간 상호작용을 가능하게 하는 인터페이스다.
- 서버와 클라이언트 간, 또는 서로 다른 서비스 간의 데이터를 주고받기 위해 사용된다.
- 예: 프론트엔드에서 백엔드로 주문 내역을 요청할 때 API를 통해 통신한다.
✅ 실습 시 강점이 되는 포인트
💡 Apache Kafka
- 데이터 스트리밍 처리에 사용되는 분산 메시징 시스템
- Kafka 관련 실습 경험은 큰 차별점이 될 수 있음 (아직 인력이 부족)
- 실시간 주문 이벤트 처리, 이상 거래 감지 시스템 등에 활용 가능
✅ 클라우드 인프라 구조 방향성
1. 온프레미스 방식: EC2 기반 서버
- 직접 서버를 구성해 운영 (Amazon EC2 활용)
- 유연성은 높지만, 설정 및 유지관리 부담 큼
2. 컨테이너 기반: Docker & K8s → Amazon EKS/ECS + ECR
- MSA 구조에 적합
- ECR을 통한 컨테이너 이미지 관리
- 단점: 비용이 높음 (EC2 대비 10배 이상)
[고도화]
3. 서버리스 아키텍처 (권장)
- Lambda + API Gateway + DynamoDB
- 모든 API를 람다 함수로 구현하여, 서버 없이도 완전한 서비스 구축 가능
- 운영 비용 절감과 배포의 유연성이 장점
4. 인프라 코드화: IaC (Terraform 활용)
- 인프라를 코드로 정의
- 버전 관리 가능, 협업 및 재현에 유리
- IaC -> 코드형 인프라 -> 가상화 기반 -> Terraform
✅ 클라우드 서비스 이해: CSP vs MSP
- CSP (Cloud Service Provider): AWS, GCP, Azure 등
- MSP (Managed Service Provider): 메가존, 베스핀글로벌 등
- 인프라 설계, 구축, 운영을 대신해주는 업체
- 클라우드 초심자 또는 기업에게 필수적인 파트너
예시: 인프라 없이 Lambda + API Gateway + DynamoDB로 서비스 구성 가능
✅ DevOps 개념
- DevOps: 개발 + 운영 합치
- DevSecOps: DevOps + 보안 가장
- DevSecFinOps: 금융 정책 + 회계 검토 + 보안 가장
- SlackOps: Slack 게이트 기반의 자동이 연동성
✅ Cloud란?
- 클라우드란 인터넷(구름)에 연결되기만 하면 언제 어디서든 자원을 사용할 수 있는 환경을 의미한다.
- 클라우드 유형: 퍼블릭 / 프라이빗 / 하이브리드 / 멀티 클라우드
참고:
- AWS는 전 세계 36개 리전을 운영 중이며, 대부분 해안가에 위치하고 해저 광케이블로 연결됨
- 클라우드 사용 시 네트워크 비용이 가장 많이 나감 (데이터 전송 요금)
✅ 포트폴리오에 도메인 연결 실습
- 도메인을 가비아에서 구매 후, AWS Route53에 등록
- 정적 웹사이트(S3 + CloudFront)와 사용자 도메인을 연결
- 포트폴리오를 클라우드 기반으로 보여주면 가시성과 신뢰도 향상
웹을 넘어 클라우드로. 가비아
그룹웨어부터 멀티클라우드까지 하나의 클라우드 허브
www.gabia.com
✅ 서버 확장 전략
스케일 업 | 서버 자체의 효율성 증가 |
스케일 아웃 | 서버 수 증가 (MSA에서 주로 사용) |
스케일 다운 | 자주로 모든 자연 막대 접근 |
스케일 인 | 자주로 가리지 줄여 복귀 |
- AWS ASG 서비스 자동 증가/감소 설정 가능
(단점) 준비 기간이 든다.
클라우드는 가상화기반으로 AWS Auto Scaling Group(ASG) 에서 단 기간에 서버 증감 설정 가능 (유연성 측면에서 유리)
✅ HTTPS, SSL, WAF 보안 관리
- HTTP 보안상 문제 때문에 지원을 건너놓고 HTTPS 검색이 방해
- AWS Certificate Manager로 가장 편한 메일을 가지는 SSL 인증서 가능 (무료)
- WAF: 시간변 가능 거리 특정 국가 (북한, 중국) IP 차단
- XSS, SQL Injection 등 전파적 공격 처리 가능
✅ 참고 리소스
- Cloud Native Computing Foundation (CNCF): 클라우드 네이티브 기술 확산을 위한 오픈소스 생태계 지원
Cloud Native Computing Foundation
CNCF is the vendor-neutral hub of cloud native computing, dedicated to making cloud native ubiquitous.
www.cncf.io
cloud-Native 관점의 프로젝트 만들기
(DevOps, CI/CD, MSA, Container)
✅ CI/CD 구조의 이해
- CI (지속적 통합): 개발자가 커밋할 때마다 자동으로 빌드 및 테스트
- CD (지속적 배포/전달): 자동화된 방식으로 운영 환경에 배포
- GitHub Actions, GitLab CI/CD, Jenkins 등 도구 사용
✅ 관측 가능성 (Observability)
문제를 사전에 감지하고 예측하기 위한 운영 핵심 요소
- Metric: Prometheus + Grafana → 시스템 자원 모니터링
- Log: ELK(Elasticsearch, Logstash, Kibana), EFK(Fluentd) → 로그 수집 및 분석
- Trace: 요청 흐름 추적, 병목 분석에 유용
✅ 마이크로서비스(MSA) 운영 관리: Istio
- Istio는 서비스 메시 구현을 통해 MSA 구조의 트래픽 제어, 인증, 로깅, 장애 복구 기능 제공
- 복잡한 MSA 환경을 안정적으로 운영 가능하게 함
'패스트캠퍼스 데브캠프 : 남궁성의 백엔드 개발 3기' 카테고리의 다른 글
🌐 클라우드 네이티브 관점에서 바라본 인프라 & DevOps 핵심 요약2 (0) | 2025.05.07 |
---|---|
record vs @Data, @RestController vs @Controller, @RequiredArgsConstructor, Stream, JDBC, 테스트 코드까지 실무 예제로 정리 (0) | 2025.04.29 |
대용량 처리를 위한 MySQL 이해 | MySQL (0) | 2025.04.28 |
대용량 처리를 위한 MySQL 이해 | 실습 환경 구축, 대용량 시스템에 대한 이해 (0) | 2025.04.28 |
FastAPI 기반 챗봇 프로젝트에서 로그인 인증 및 RDB 파트 구현기 (0) | 2025.04.28 |