공부

클라우드 컴퓨팅, AWS

yn98 2024. 11. 20. 00:13

클라우드 컴퓨팅

클라우드 컴퓨팅은 서버나 저장소, 데이터베이스 같은 IT 자원들을 인터넷을 통해 제공하는 방식이다. 예전에는 서버를 직접 사서 관리했어야 했는데, 이제는 클라우드에서 제공하는 서비스를 통해 물리적 서버 없이도 필요한 자원들을 사용할 수 있다. 이 방식의 큰 장점은 인프라를 직접 관리할 필요가 없다는 거다. 그래서 개발자는 애플리케이션 개발에 집중할 수 있고, 운영 비용도 절감된다.

 

클라우드(Cloud)라는 단어가 말해주듯, 인터넷 통신망 어딘가에서 구름에 싸여 보이지 않는 컴퓨팅 자원(CPU, 메모리, 디스크 등)을 원하는 대로 사용할 수 있다.

구름에 싸여 있다는 것은 그 내부를 보려고 하거나 알지 않아도 얼마든지 내가 원하는 것을 꺼내어 사용할 수 있다는 것이며, 인터넷이 연결된 어느 곳에서든 이것을 보장 받을 수 있다는 뜻이다.

 

 

클라우드는 크게 세 가지 서비스 모델이 있다.

  1. IaaS (Infrastructure as a Service): 서버, 스토리지, 네트워크 같은 기본 인프라를 제공한다. AWS, Azure, Google Cloud가 대표적인 예다.
  2. PaaS (Platform as a Service): 개발 환경과 도구를 제공해서 애플리케이션을 쉽게 만들 수 있게 도와준다. Heroku, Google App Engine 등이 있다.
  3. SaaS (Software as a Service): 소프트웨어를 클라우드를 통해 서비스 형태로 제공한다. Gmail이나 Google Docs 같은 것들이 SaaS에 해당한다.

클라우드 컴퓨팅을 사용하면, 유연하게 자원을 확장하거나 축소할 수 있기 때문에 예측 불가능한 트래픽을 처리하기에 좋다. 또한, 필요한 만큼만 비용을 지불하면 돼서 경제적이다.

 


AWS

AWS는 Amazon Web Services의 약자다. 아마존에서 제공하는 클라우드 서비스이다.

물리적인 서버를 직접 관리하지 않고도 애플리케이션을 구축, 배포, 관리할 수 있게 도와준다.

현재 클라우드 컴퓨팅의 장점을 이용하기 위해 많은 기업에서 활용하고 있다.

 

아래는 AWS에서 제공하는 주요 서비스들이다.

  1. EC2 (Elastic Compute Cloud): 서버 인스턴스를 생성해서 애플리케이션을 호스팅하는 서비스다. 원하는 만큼 서버를 추가하거나 삭제할 수 있다.
  2. S3 (Simple Storage Service): 데이터를 저장하는 서비스로, 무제한 저장소를 제공한다. 파일을 업로드하거나 다운로드하는데 매우 편리하다.
  3. RDS (Relational Database Service): MySQL, PostgreSQL, Oracle, SQL Server 등의 데이터베이스를 관리할 수 있는 서비스다.
  4. Lambda: 서버리스 컴퓨팅 서비스를 제공해준다. 코드만 작성하면, 서버를 관리할 필요 없이 자동으로 실행된다.
  5. CloudFront: 콘텐츠 전송 네트워크(CDN) 서비스로, 전 세계적으로 빠르게 콘텐츠를 배포할 수 있다.

AWS는 또한 다양한 관리 도구와 보안 기능을 제공해서 클라우드 인프라를 더 효율적이고 안전하게 관리할 수 있도록 돕는다.

AWS의 장점

  1. 확장성: 사용량에 맞게 자원을 늘리거나 줄일 수 있다.
  2. 비용 효율성: 사용한 만큼만 비용을 지불하면 되기 때문에 초기 투자 비용이 적다.
  3. 높은 가용성: 전 세계 여러 데이터 센터에서 서비스를 제공해 장애가 발생할 확률을 최소화한다.
  4. 보안: AWS는 다양한 보안 기능을 제공해서 데이터와 애플리케이션을 안전하게 보호한다.

클라우드 컴퓨팅과 AWS는 현재 IT 업계에서 매우 중요한 기술로 자리 잡았다. 이 두 가지는 애플리케이션을 더 빠르고 효율적으로 개발하고, 운영할 수 있는 환경을 제공한다. 클라우드 컴퓨팅의 주요 장점인 유연성과 확장성을 활용하면, 급변하는 시장 환경에서도 쉽게 대응할 수 있다.

 

AWS는 그 다양한 서비스와 기능을 통해 클라우드 환경에서의 개발과 관리가 한층 더 쉬워지게 돕는다. 클라우드와 AWS를 잘 활용하면 더 효율적이고 경제적인 개발 환경을 구축할 수 있다.