ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [aws] what is aws?
    aws 2021. 5. 14. 01:37

    [들어가며]

    하욤! 서비스를 개발하고 운영해야만 한다고 가정한다. 서비스를 개발하기 위해 수많은 언어(Java, Python, PHP)와 라이브러리 등을 사용한다. Integrated Development Environment(통합 개발 환경, IDE)를 설치하고 환경을 설정하고 개발한다. 로컬에서 테스트하고 운영까지 이어질 수도 있다. 하지만 운영을 하기 위해서 로컬의 해당 컴퓨터를 전원이 공급된 상태로 유지해야만 한다. 또한 장비에 따라서 온도와 습도를 일정하게 유지해줄 또 다른 장비가 필요할 수 있다. 그리고 장비의 성능이 떨어진다면 쿠ㅍ, 옥ㅅ, 다나ㅇ 등에서 구매하고 교체해야 할 수 있다. 이 상황이 되더라도 개발자들에게 아주 더럽고 귀찮은 작업이지만 더 깊게 들어가자. 운영이 무중단으로 되어야만 한다면? 쇼핑몰이라서 블랙 프라이데이에만 성능이 모자라다면? 개발자인 내가 생각하면 너무나 더러운 작업들의 연속이다. 더욱이 너의 장비가 Internet Data Center(인터넷 데이터 센터, IDC)에 존재한다면 지옥이다. (수많은 부트 업 스크립트는 덤일 테다.)

     


     

    [Cloud Service]

    지옥을 벗어나기 위해 아무개가 고안한 개념이 클라우드 서비스다. Amazon Web Services(AWS)를 설명하고 이해하기엔 클라우드 서비스란 개념을 빼놓을 수 없다. 클라우드 서비스란 운영에 대한 관점에서 장비를 구매하고 설정하는 등의 운영의 모든 과정에서의 천국을 보여준다. 이것은 인터넷 기술을 활용하여 공유 컴퓨터 처리 자원과 데이터를 제공한다. 클라우드 컴퓨팅 개념을 설명하면서 다음도 설명하려고 한다. 클라우드 서비스는 어떤 자원을 제공하느냐에 따라서 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service)로 나뉜다.

     


     

    [IaaS, PaaS, SaaS]

    IaaS < PaaS < SaaS 순으로 제공하는 범위가 커진다. 그만큼 자유도는 반비례한다. 더 깊게 알아보자. IaaS는 확장성이 높고 자동화된 컴퓨팅 리소스를 가상화하여 제공한다. PaaSIaaS + 주로 응용 프로그램을 개발할 때 필요한 플랫폼을 제공한다. SaaSPaaS + 사용자에게 제공되는 소프트웨어를 제공한다.*한국형 PaaS(PaaS-TA)의 개발에 참여한 사람으로서 한 마디 한다. 아직 외국의 기술력은 따라가지 못한다...

     


     

    [Amazon Web Services]

    2006년, Amazon Web Services(AWS)는 클라우드 컴퓨팅이라고 알려진 웹 서비스 형태로 IT 인프라를 제공하기 시작했다. 클라우드 컴퓨팅의 주요 이점 중 하나는 초기 기본 인프라 비용을 비즈니스에 맞춰 조정되는 저렴한 가변 비용으로 대체할 수 있다. 클라우드를 도입하는 사람은 더 이상 서버와 기타 IT 인프라를 몇 주 또는 몇 개월 전부터 미리 계획하고 조달할 필요가 없다. 그 대신 몇 분 만에 수백 개 또는 수천 개의 서버를 즉시 가용하여 더 빠르게 성과를 달성할 수 있다.

     

    현재 Amazon Web Services는 다른 클라우드보다 저렴하고 안정적인 인프라 플랫폼을 제공한다. 미국, 유럽, 브라질, 일본 및 대한민국에 데이터 센터가 위치해 있다. Amazon Web Services는 사전 계약금이나 장기 약정 없이 종량 과금제 방식으로 운용한다. Amazon Web Services는 필요한 가상 서버가 한 대든 아니면 수천 대든, 가상 서버가 필요한 시간이 몇 시간이든 아니면 1년 365일이든 사용한 양만큼만 청구된다. Amazon Web Services는 언어 및 운영 체제에 구애받지 않는 플랫폼이다. 따라서 사용자의 비즈니스에 가장 적합한 개발 플랫폼 또는 프로그래밍 모델을 선택할 수 있다. 온디맨드 인프라를 사용해 내부 호스팅 애플리케이션에서 SaaS 설루션에 이르기까지 다양한 애플리케이션을 운용할 수 있다.


     

    [마치며]

    클라우드 서비스가 세상에 나오기 전까지 운영을 담당하는 인프라팀, 개발을 담당하는 개발팀의 분리가 확실했다. 하지만 더 이상은 아니다. DevOps(Development & Operations)란 개념이 생기며 운영과 개발의 경계가 모호해지며 개발자들에게도 운영을 요구한다. 재직 중이었던 회사를 둘러보더라도 세 곳 중 한 곳을 제외한 두 곳이 개발자들이 스스로 운영했다. 나 또한 제대로 공부하고 사용한 것이 아니라 필요할 때 문서와 책을 찾아 메꾼 것이기에 턱없이 부족하다. 이번 기회에 서비스를 제대로 운용하고자 한다. 빠욤!

     

    댓글

Designed by Tistory.