- 운영 서버란 무엇이고 운영 서버의 아키텍쳐로는 어떤 것이 있는지 설명할 수 있습니다.
- 온프레미스와 클라우드 컴퓨팅이 무엇인지 설명할 수 있습니다.
- 왜 클라우드 컴퓨팅 서비스를 사용하는지 설명할 수 있습니다.
- AWS란 무엇인지, 어떠한 특징이 있고 글로벌 인프라가 어떻게 구축되어 있는지 설명할 수 있습니다.
- AWS의 주요 서비스와 개념에 대해 설명할 수 있습니다.
운영 서버와 아키텍쳐
Production Server
실제 사용자들을 대상으로 서비스하는 서버(개발이나 테스트 목적이 아닌)
세,네번째가 흔함
1. 단일 서버
2. 어플리케이션/데이터베이스 서버 분리 구조
- application과 DB를 각각의 서버로 구성
- 여러 IP로 들어오는 클라이언트의 요청을 application이 먼저 받는다 -> 보안 good
- 두개의 서버를 관리해서 구성이 복잡
- 어플리케이션과 DB서버 사이의 지연시간/네트워크 보안을 고려해야함
3. ★ 서버 단위의 로드 밸런서 load balancer(중간서버) 구조
- load balancer 하나의 서버에서 10만개의 트래픽을 감당할 수 없으니, 중간에서 로드 밸런서가 여러 서버로 알아서 분산시켜줌
- 로드 밸런서 서버를 통해 그 뒤에 어플리케이션 서버를 둔다
- 확장에 용이, 하나의 서버에 장애 발생 시 정상 서버에 요청을 넘기며
서비스 장애를 최소화할 수 있다.
- 구성이 매우 복잡
- load balancer 서버에 문제가 생기면 전체 서버에 영향
4. ★서버 내 앱 단위의 load balancer 구조
- 클라이언트 요청을 받는 load balancer
- 서버 내에 load balancer
- 기존의 어플리케이션 서버 안에 똑같은 어플리케이션을
여러 프로세스로 만들어 실행
- 하나의 서버에서 여러 요청을 동시에 처리할 수 있음
온프레미스 (On-premise)
premise :
- 물리적인 서버를 직접 구축하여 운영하는 방식
- 기업이 직접 하드웨어를 구입/대여해야함
- 예측과 달라지면 불필요한 비용이 사용될 수 있다
(설계했을 때와 배포했을 때 상황이 달라질 수 있음!)
- 서버 확장이 필요 할 때 제약 사항이 많다
예) 맥북을 하나 더 사서 서버를 구축하고 싶을 때, 모든 걸 다 새로 깔아줘야함
- 지속적 모니터링 24/7 필요
- 천재 지변에 대응하기 어려움 (불나거나 날라가버리면)
Compute
- CPU, RAM, storage, Network 기능으로 구성된 물리적인 서버
Cloud Computing
- 내가 사용하고 싶을 때 클릭하면 바로 가상의 instance를 할당받아 컴퓨터처럼 사용할 수 있는 것 (서버!)
- 인터넷을 통해 On-demand로 컴퓨팅 자원을 제공받을 수 있고
- 사용한 만큼!의 비용만 지불할 수 있다
- scale-up (고사양화하며 업그레이드)
scale-out (똑같은 사양을 여러대)자유롭게 가능
- 다양한 리전을 통한 글로벌 확장이 용이
- IaaS 인프라스트럭쳐 (Infrastructure as a Service)
- 클라우드 컴퓨팅의 가장 기본적인 계층
- 서버,스토리지,네트워킹 등의 리소스 제공
- 사용자가 직접 구성, 관리 가능(첨부터 끝까지 내가 직접 구성/관리)
- AWS EC2, Microsoft Azure Virtual Machines,
Google Compute Engine...
- PaaS 플랫폼 (Platform as a Service)
- 이미 구축된 환경에서 개발 IaaS보다 자유도가 낮음
- 인프라 운영 인력이 필요하지 않음(개발자는 소스코드나 비지니스 로직만 넣으면 된다 )
- 여러 개발 환경을 미리 구축하고 그것을 서비스 형태로 제공하는 것
- AWS Elastic Beanstalk, Heroku, Redhat OpenShift..
3.SaaS 소프트웨어 (Software as a Service)
- 가장 완성된 형태의 서비스
- 기본적인 클라우드 인프라와 소프트웨어를 함께 제공
- 소프트웨어 업데이트, 버그 픽스 등을 업체가 도맡아 관리
- 사용자가 필요하지 않은 기능도 비용을 지불
- Google Drive, iCloud, Slack, Zoom, Dropbox, Netflix
예) Netflix 나는 종이의집만 보고 싶은데도 불구하고 netflix 전체 서비스에 대한 비용을 지불해야하는 것과 같다.
- 운영 서버는 개발이나 테스트 목적이 아닌 실제 사용자들을 대상으로 서비스하는 서버를 말합니다.
- 운영 서버의 아키텍쳐로는 크게 단일 서버, 애플리케이션 / 데이터베이스 서버 분리, 서버 단위 로드 밸런서, 서버 내 앱 단위 로드밸런서의 네가지로 분류 할 수 있습니다.
- 이러한 운영 서버를 구축하기 위해서는 자체 데이터 센터를 운영하는 방법(On-premise)과 클라우드 컴퓨팅 기술을 이용하여 클라우드 환경에 만드는 방법(Cloud Computing)이 있습니다.
- 온프레미스란 IT 서비스를 기업이 자체적으로 보유한 물리적인 서버에 직접 설치해 운영하는 방식을 뜻합니다.
- 클라우드 컴퓨팅이란 IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것을 말합니다.