Amazon Web Services로 생산성 향상

게시 됨: 2022-03-11

지난 몇 년 동안 모든 사람의 입에서 가장 뜨거운 단어는 "생산성"이었습니다. 빠르게 진화하는 인터넷 세계에서 무언가를 빨리 끝내는 것은 항상 찬성표를 얻습니다. 실제 비즈니스 로직을 빠르고 정확하게 구현해야 함에도 불구하고 경험 많은 PHP 개발자로서 나는 여전히 데이터베이스 또는 캐시 설정, 프로젝트 배포, 온라인 통계 모니터링 등과 같은 다른 작업에 수백 시간을 보냈습니다. 많은 개발자가 이러한 소위 기타 작업으로 수년 동안 고군분투하여 프로젝트 논리에 집중하는 대신 시간을 낭비했습니다.

4년 전 친구가 Amazon Web Services(AWS)를 언급하면서 제 인생이 바뀌었습니다. 새로운 문이 열렸고 생산성과 프로젝트 품질이 크게 향상되었습니다. AWS를 사용하지 않은 사람은 이 기사를 읽으십시오.

생산성 향상

Amazon Web Services(AWS)는 말 그대로 몇 분 만에 생산성을 높일 수 있습니다.
트위터

AWS 배경

Amazon Web Services는 2006년에 공식적으로 출시되었습니다. 많은 사람들이 들어는 보았지만 무엇을 제공할 수 있는지는 모를 것입니다. 첫 번째 질문은 AWS란 무엇입니까?

Amazon Web Services(AWS)는 Amazon.com에서 제공하는 클라우드 컴퓨팅 플랫폼을 구성하는 웹 서비스라고도 하는 클라우드 컴퓨팅 서비스 모음입니다.

위키피디아

이 정의에서 우리는 두 가지를 알 수 있습니다. AWS는 클라우드를 기반으로 하고 AWS는 단일 서비스가 아닌 서비스 모음입니다. 이것이 많은 것을 알려주지 않기 때문에 제 생각에는 초보자가 AWS를 다음과 같이 이해하는 것이 좋습니다.

  • 정의에 따르면 AWS는 클라우드의 서비스 모음입니다.
  • AWS는 빠른 컴퓨팅 리소스를 온라인으로 제공합니다(예: Linux 서버를 설정하는 데 10분 필요).
  • AWS는 저렴한 수수료를 제공합니다.
  • AWS는 기본적으로 사용하기 쉬운 서비스를 제공하므로 데이터베이스, 캐시, 스토리지, 네트워크 및 기타 인프라 서비스를 수동으로 설정하는 많은 시간을 절약할 수 있습니다.
  • AWS는 항상 사용 가능하며 확장성이 뛰어납니다.

물론 AWS를 사용하면 더 많은 이점이 있으므로 생산성을 높일 수 있는 방법에 대한 간략한 개요를 살펴보겠습니다.

무료로 AWS 계정 생성

서비스를 사용하려면 계정이 있어야 합니다. AWS용 계정을 만드는 데 5분이 채 걸리지 않습니다. 다음 정보가 준비되어 있는지 확인하십시오.

  • 확인 이메일을 수신하는 데 사용되는 이메일 주소입니다.
  • 설정 프로세스는 항상 무료이므로 청구되지 않는 신용 카드입니다.
  • 사용자를 식별하기 위해 자동화된 시스템 호출을 받을 전화번호

그게 다야 위에 나열된 정보가 준비되면 AWS 웹 페이지를 방문하여 따르기 쉬운 지침에 따라 계정을 만드십시오.

다음에 유의하십시오.

  • 대부분의 AWS 서비스는 매월 풍부한 프리 티어 리소스를 제공합니다. 즉, AWS 테스트에는 일반적으로 비용이 거의 또는 전혀 들지 않습니다.
  • 내 경험에 따르면 전화 번호 및 기타 개인 정보는 남용되지 않았습니다.

첫 번째 EC2 서버 설정 가져오기

클라우드 서비스의 이점 중 하나는 요청 시 공유 리소스를 얻을 수 있다는 것입니다. Amazon은 사용자가 서비스에 액세스할 수 있도록 4가지 계층의 서비스를 제공했으며, 이는 쉬운 순서대로 나열되어 있습니다.

  • 관리 콘솔,
  • 명령줄 도구,
  • SDK,
  • RESTful API.

이 기사에서는 관리 콘솔을 사용합니다. 따라서 콘솔에 로그인하면 다음과 같은 화면이 표시됩니다.

AWS에서 첫 번째 EC2 서버 설정

주목해야 할 두 가지 영역이 있습니다.

  • 오른쪽 상단에 지역 선택기가 있습니다. AWS는 전 세계 11개 지역에서 서비스를 제공하고 있으며 계속 성장하고 있습니다. 원하는 지역을 선택하거나 기본적으로 미국 동부(버지니아 북부)로 두십시오. 지역마다 가격이 다를 수 있으며 사용량이 증가함에 따라 이를 염두에 두어야 합니다.
  • 대부분의 화면은 서비스 목록으로 채워져 있습니다. 이 섹션에서는 EC2를 다룰 것입니다. AWS가 제공하는 것을 간단히 살펴보십시오. 이해가 되지 않는다고 걱정하지 마십시오. 모든 서비스는 자체적으로 작동합니다. 그러나 이들을 조합하여 사용하면 생산성을 높일 수 있습니다.

클라우드 리소스의 가장 근본적인 필요는 가상 서버입니다. EC2 또는 Elastic Compute Cloud는 Amazon이 가상 서버 서비스를 위해 선택한 이름입니다. Linux 서버를 온라인으로 만드는 것이 얼마나 쉬운지 살펴보겠습니다.

  • EC2 관리 콘솔에서 아래와 같이 시작 프로세스를 시작합니다.

AWS에서 첫 번째 EC2 서버 설정

  • 시작할 머신 이미지(줄여서 AMI)를 선택합니다. 이것은 컴퓨터를 실행할 운영 체제입니다. 원하는 시스템을 선택하십시오. yum 을 사용하여 패키지를 관리하는 Amazon Linux로 시작하는 것이 좋습니다.

AWS에서 첫 번째 EC2 서버 설정

  • 다음으로 인스턴스 유형을 선택합니다. 이것은 가상 서버에 대한 하드웨어 사양으로 이해할 수 있습니다. t2.micro 로 시작할 수 있습니다. 첫해에는 이 인스턴스로 매월 750시간의 무료 사용이 가능하기 때문입니다. 이것은 등록한 날짜로부터 첫 해에만 유효하며 t2.micro 인스턴스에 대해서만 유효합니다. AWS만 맛보고 싶다면 좋은 거래입니다.

AWS에서 첫 번째 EC2 서버 설정

  • 서버를 보다 자세하게 구성할 수 있는 기능으로 서버를 실행할 수 있습니다. EC2를 처음 사용하면 아래와 같은 화면이 나타납니다. 보안에 대한 경고는 Amazon이 보안 측면을 얼마나 강조하는지 알려줍니다. 그러나 관리 서비스에 대한 섹션을 방문할 때까지 이 경고를 무시할 수 있습니다.

AWS에서 첫 번째 EC2 서버 설정

  • 마지막으로 원격 서버에 액세스하려면 ID가 필요합니다. AWS는 아래 이미지와 같이 SSH 키 페어를 선택하라는 메시지를 표시합니다. 개인 키 파일을 다운로드하고 실행 버튼을 클릭합니다. 그리고 예, 우리는 끝났습니다. 새 가상 서버가 구성되고 있으며 몇 분 안에 준비됩니다.

AWS에서 첫 번째 EC2 서버 설정

  • 인스턴스가 준비되면 개인 키를 사용하여 기본 사용자 ec2-user 로 시스템에 로그인할 수 있습니다. ec2-user 는 sudo 기능도 있는 AWS 기본값입니다. 기본 사용자 이름을 변경할 수는 없지만 사용자를 만들고 기본 설정에 따라 적절한 권한을 할당할 수 있습니다. 서버 주소는 다음에서 찾을 수 있습니다.

AWS에서 첫 번째 EC2 서버 설정

위의 프로세스는 5분 미만이 소요되며 가상 서버를 쉽게 설치하고 실행할 수 있습니다. 다음 섹션에서는 AWS가 방금 생성한 인스턴스를 관리하는 데 어떻게 도움이 되는지 알아보겠습니다.

주문형 청구

대부분의 AWS 리소스는 시간 단위로 청구되므로 뛰어난 유연성을 제공합니다. 예를 들어, 방금 생성한 EC2 인스턴스를 사용하지 못하게 하는 방법에는 중지와 종료의 두 가지가 있습니다. 두 작업 모두 청구를 중지합니다. 차이점은 인스턴스를 중지하면 모든 작업이 저장된 상태에서 나중에 다시 시작할 수 있다는 것입니다. 반대로 인스턴스를 종료하면 재활용을 위해 인스턴스를 AWS에 되돌려 보내며 정보를 복구할 방법이 없습니다. 인스턴스를 종료해야 하는 이유는 AWS가 기본적으로 계정당 리전당 20개의 인스턴스 한도를 설정하기 때문이며 중지된 인스턴스는 종료될 때까지 계속 계산됩니다.

다음을 통해 인스턴스를 빠르게 중지할 수 있습니다.

AWS에서 첫 번째 EC2 서버 설정

EC2 인스턴스를 중지하면 청구액도 증가하지 않습니다. 다음 시나리오에서 특히 유용합니다.

  • 새로운 것을 시도하고 싶을 때 두어 시간만 지불하면 더 비용 친화적이며 일부 서비스의 경우 프리 티어를 초과하지 않을 것입니다.
  • 컴퓨팅 요구 사항이 프로덕션 환경에 있는 경우 확장됩니다. 예를 들어 과거에는 피크 사용량보다 일반적으로 30-50% 더 많은 컴퓨팅 리소스를 예약해야 했습니다. AWS를 사용하여 보다 유연한 방식으로 리소스를 프로비저닝할 수 있었습니다.

AWS에서 첫 번째 EC2 서버 설정

AWS에 대한 요금 정보는 온라인에서 확인할 수 있습니다. 몇 가지 계산을 한 후 다음과 같은 질문을 제기할 수 있습니다. AWS가 실제로 더 저렴합니까? 한 달 동안의 시간당 요금을 곱하면 전혀 경쟁력이 없어 보입니다. 대답은 예와 아니오입니다.

한 달 동안 온디맨드 리소스에 대한 시간당 요금을 계산하기만 하면 AWS가 더 저렴하지 않습니다. 그러나 아래와 같이 예약 인스턴스 청구 옵션이 여전히 있습니다.

AWS에서 첫 번째 EC2 서버 설정

최소 리소스 요구 사항의 경우 온디맨드 인스턴스로 청구되는 다른 다양한 리소스와 함께 예약 인스턴스를 사용하여 30~70% 할인을 달성할 수 있습니다. 실제로 이것은 1년 약정의 경우 30~40% 저렴하며 예약 인스턴스를 사용하는 3년 약정의 경우 훨씬 더 저렴합니다. 그렇기 때문에 위의 질문에 "예"로 투표하겠습니다. 보안 및 모니터링 이점을 포함하면 AWS가 훨씬 저렴합니다.

관리 서비스

AWS의 한 가지 목표는 운영 비용을 최대한 줄이는 것입니다. 전통적으로 우리는 현장에서 온라인으로 인프라의 보안과 상태를 유지하기 위해 대규모 시스템 엔지니어 팀이 필요했습니다. 숙련된 팀은 자동화된 도구를 작성하고 배포하여 프로세스를 단순화합니다. 그러나 실제로 서비스를 관리하는 것은 복잡한 프로젝트이기도 합니다. AWS는 리소스 관리를 돕는 생명의 은인 역할을 합니다. 가장 많이 사용되는 AWS에서 제공하는 서비스를 아래에 나열했습니다.

  • AWS 보안 그룹,
  • IAM, ID 액세스 관리,
  • 클라우드 워치,
  • 그리고 OpsWorks와 같은 자동 배포 서비스 목록(이 기사에서는 다루지 않음).

AWS 보안 그룹

AWS가 서비스에 대한 액세스 제어를 처리하는 방법은 두 개의 개별 계층에서 수행됩니다. 네트워크 수준에서는 "보안 그룹"으로 알려진 아이디어를 사용하여 달성됩니다. 모든 AWS 서비스는 보안 그룹에 있습니다. 그리고 보안 그룹은 통과할 수 있는 사람을 결정합니다. AWS는 EC2 인스턴스를 사용하여 다음과 같은 보안 그룹을 자동으로 생성했습니다.

AWS에서 첫 번째 EC2 서버 설정

인바운드/아웃바운드 규칙을 구성하여 들어올 수 있는 것과 나갈 수 있는 것을 결정할 수 있습니다. TCP, UDP 및 ICMP 규칙은 EC2 서비스에서 지원됩니다. 보안 그룹은 외부 하드웨어 수준 방화벽처럼 작동하며 패치에 대해 생각할 필요가 없습니다.

보안 그룹 사용의 또 다른 장점은 재사용이 가능하다는 것입니다. 하나의 보안 그룹을 여러 리소스에서 공유할 수 있습니다. 실제로는 리소스별로 보안정책을 하나씩 설정해야 하는 번거로움을 없애 유지보수 효율성을 크게 향상시킨다. 또한 보안 그룹의 공유 가능한 특성으로 인해 리소스별로 하나씩 수동으로 설정하는 번거로움 없이 한 곳에서 구성하고 해당 보안 정책을 다른 리소스에 적용할 수 있습니다.

ID 및 액세스 관리

AWS는 IAM을 사용하여 액세스 제어를 처리하는 또 다른 방법을 제공합니다. 이것은 RESTful 인터페이스에 액세스해야 하는 경우에 대한 애플리케이션 수준 보안 제어입니다. AWS에서 누가 서비스에 액세스하는지 알 수 있도록 각 REST 요청에 서명해야 합니다. 또한 AWS는 사전 구성된 정책 목록을 확인하여 작업을 거부하거나 허용할지 여부를 결정합니다.

이 기사에서는 IAM을 자세히 다루지 않을 것입니다. 그러나 AWS는 무단 방문자가 기밀 데이터에 액세스할 수 없도록 보안에 많은 노력을 기울이고 있습니다.

클라우드워치

CloudWatch는 AWS 리소스에서 모든 종류의 지표를 수집하고 추적하기 위해 AWS에서 제공하는 서비스입니다. 특정 이벤트(또는 경보)에 반응하는 능력 때문에 더 강력합니다. CloudWatch의 도움으로 새로 생성된 EC2 인스턴스의 상태를 모니터링할 수 있습니다.

  • EC2 인스턴스에 경보를 빠르게 추가할 수 있습니다.

AWS에서 첫 번째 EC2 서버 설정

  • 다양한 목적에 대한 기준을 지정하여 경보를 생성할 수 있습니다.

AWS에서 첫 번째 EC2 서버 설정

참고 : SNS는 알림을 보내기 위해 AWS에서 제공하는 주제 기반 서비스입니다. 알림은 이메일, SMS, iOS/Android 푸시 알림 및 기타 여러 형식으로 보낼 수 있습니다.

모니터링에서 알림에 이르기까지 CloudWatch는 몇 번의 클릭으로 모니터링 요구 사항을 자동화하려고 시도합니다. 다양한 AWS 서비스에 대해 사전 정의된 수많은 지표가 있습니다. 고급 사용자의 경우 애플리케이션에 대한 사용자 지정 메트릭을 만들 수도 있습니다.

비용과 관련하여 CloudWatch에서 제공하는 프리 티어 서비스는 일반적으로 시작 프로젝트에 충분합니다. 그러나 비즈니스가 성장하더라도 추가 비용은 일반적으로 서비스 비용의 1% 미만입니다. 자세한 내용은 자세한 가격을 확인하세요. CloudWatch를 사용하여 모니터링 시스템을 설정하는 것이 얼마나 쉬운지를 고려할 때 가장 많이 사용되는 모니터링 도구가 되었습니다.

번거롭지 않은 신청 서비스

개발자로서 우리는 다음과 같은 시나리오를 경험했을 것입니다.

  • 우리 애플리케이션에는 데이터베이스 구성 요소가 필요합니다. 즉, 다음을 수행해야 합니다.
    • 데이터베이스용 서버를 가져옵니다.
    • 데이터베이스 소프트웨어를 설치합니다.
    • 서버 및 데이터베이스에 대한 모니터를 구성하십시오.
    • 백업 구성표를 계획합니다.
    • 필요에 따라 소프트웨어를 패치합니다.
    • 그리고 여기에 나열되지 않은 많은 다른 것들.
  • 우리 애플리케이션에는 분산 파일 스토리지가 필요합니다. 즉, 다음을 수행해야 합니다.
    • 분산 파일 스토리지를 위한 기존 오픈 소스(또는 상용) 솔루션을 찾으십시오.
    • 필요한 서버를 준비합니다.
    • 일반적으로 간단하지 않은 선택한 솔루션을 설치하고 구성합니다.
    • 서버 및 데이터베이스에 대한 모니터 구성
    • 그리고 여기에 나열되지 않은 다른 많은
  • 우리 애플리케이션에는 캐시가 필요합니다.
  • 우리 애플리케이션에는 메시지 대기열이 필요합니다.
  • 그리고 해결해야 할 다른 많은 문제와 더불어 사전 구성 및 사후 모니터링 작업을 수행해야 합니다.

그리고 이미 짐작하셨겠지만, 이것은 AWS가 도움을 주는 또 다른 중요한 영역입니다. 사용 가능한 응용 프로그램 수준 서비스가 많이 있으므로 다른 것을 고려할 필요가 없습니다.

당신에게 빠른 그림을 제공하기 위해 그들 중 일부를 커버하자.

RDS, 귀하를 위해 관리되지만 귀하가 관리하지 않는 데이터베이스

관계형 데이터베이스(RDBMS)는 많은 응용 프로그램에서 널리 채택되었습니다. 프로덕션 환경에서 RDBMS를 사용하여 애플리케이션을 배포할 때는 데이터베이스를 설정하고 구성하는 방법부터 시작하여 백업이 만들어지고 복원되는 시기와 방법에 이르기까지 항상 특별한 주의가 필요합니다.

우리 팀에서 데이터베이스 관리자(DBA)는 설정 및 유지 관리 스크립트를 작성하는 데 시간의 최소 30%를 소비했습니다. AWS RDS가 도입되면서 DBA는 SQL 성능 튜닝을 수행할 수 있는 더 많은 시간을 갖게 되었으며, 이는 DBA가 선호하는 분야입니다.

그렇다면 RDS는 무엇을 제공합니까? 간단히 말해서:

  • RDS는 MySQL, SQLServer, PostgreSQL을 포함하여 널리 사용되는 대부분의 데이터베이스 엔진을 지원합니다.
  • 몇 번의 클릭으로 노드 또는 클러스터와 같은 데이터베이스를 생성할 수 있습니다.
  • RDS는 "매개변수 그룹"이라는 서비스에서 공유 데이터베이스 매개변수에 대한 기본 제공 지원을 제공합니다.
  • RDS는 보안 그룹의 도움으로 액세스 관리를 위한 기본 제공 지원을 제공합니다. 이는 EC2에서 다룬 것과 매우 유사합니다.
  • RDS는 클릭 한 번으로 다중 AZ를 활성화하여 추가 서비스를 제공합니다. 모든 모니터링, 대기 및 장애 조치 전환은 자동으로 수행됩니다.
  • RDS의 유지 관리 및 백업이 자동화됩니다.

결론적으로 RDS는 데이터베이스 서비스의 설정 및 유지 관리와 관련하여 상당한 시간을 절약합니다. 그 대가로 해당 EC2 서버보다 약 40% 더 많은 비용을 지불하게 됩니다. 따라서 RDS를 선택할지 아니면 해당 서버를 직접 배포할지 여부는 비즈니스 결정입니다. 그러나 인프라 안정성 및 확장성보다는 실제 비즈니스와 관련된 작업에 더 많은 시간을 투자할 수 있습니다. 또한 이것이 AWS가 옹호하는 비즈니스 방식이라는 것을 곧 알게 될 것입니다.

수십억 개의 레코드로 확장되는 키-값 스토리지인 Dynamo DB

NoSQL은 최근 몇 년 동안 가장 인기 있는 주제가 되었습니다. 많은 실생활 프로젝트가 다양한 관계형 DBMS의 지원을 필요로 하지 않기 때문에 NoSQL 데이터베이스 목록이 시장에 소개되었습니다. 아마존은 이 점에서 뒤처지지 않습니다. DynamoDB(https://aws.amazon.com/dynamodb)는 Amazon이 2012년 발표한 키-밸류 스토어로, 이 서비스의 핵심 기여자는 세계 최고의 울트라 전문가 중 한 명인 Amazon의 CTO인 Werner Vogels입니다. 확장 가능한 시스템.

Amazon이 대규모 트래픽을 처리한다는 것은 비밀이 아닙니다. DynamoDB는 크리스마스마다 수십억 건의 요청을 처리하는 장바구니 서비스를 포함하여 많은 Amazon 비즈니스의 내부 스토리지 엔진인 Dynamo에서 파생되었습니다. DynamoDB는 확장에 제한이 없습니다.

또한 Cassandra 또는 MongoDB와 같은 다른 NoSQL 솔루션과 비교할 때 DynamoDB에는 엄청난 경제적 이점이 있습니다. 예약된 처리량(초당 허용되는 쓰기/읽기 수) 단위로 청구되며 실시간으로 증가 또는 감소할 수 있습니다. 다음은 DynamoDB와 다른 독립형 NoSQL 솔루션 간의 비용 비교 표입니다.

비즈니스 필요 DynamoDB 서비스 DynamoDB 비용 다른 서비스 사용 다른 서비스 이용 시 비용
중소기업
(1000 DAU 미만, 16GB 데이터)
10 쓰기 단위
10 읽기 단위
$9.07/월 • t1.micro ••
16GB EBS •••
$14.64/월
중소기업
(100,000 DAU 미만, 160GB 데이터)
100 쓰기 단위
100 읽기 단위
$101.62/월 m4.xlarge
160GB EBS
$190.95/월
대기업
(최대 1m DAU, 1TB 데이터)
1000 쓰기 단위
1000 읽기 단위
$852.58/월 클러스터형 c4.4xlarge • 512GB EBS • $1329.24/월

• 공정하게 가격은 US-EAST 지역의 주문형 가격을 사용하여 계산됩니다.
•• AWS EC2 인스턴스는 다른 NoSQL 서비스를 호스팅하도록 선택됩니다.
••• EBS는 AWS에서 제공하는 영구 스토리지 서비스입니다.

표에서 알 수 있듯이 DynamoDB는 기본적으로 서비스를 제공하며 일반적으로 자체 키-값 스토리지를 구축하는 것보다 저렴한 가격에 제공됩니다. 이는 MongoDB/Cassandra 클러스터의 최대 용량에 도달하지 않는 한 사용하지 않는 것에 대해 더 많은 비용을 지불하기 때문입니다.

Amazon은 완전히 관리되는 방식으로 서비스를 제공합니다. 즉, DynamoDB를 설정, 확장 또는 모니터링하는 방법에 대해 걱정할 필요가 없습니다. 모두 AWS에서 수행합니다. 실제로 DynamoDB 항목 읽기 및 쓰기는 조작되는 데이터의 크기에 관계없이 항상 일정한 시간 복잡도로 측정됩니다. 따라서 일부 애플리케이션은 DynamoDB로 전환한 후 캐시 계층을 삭제하도록 선택했습니다. 정말 놀랍습니다.

SQS, 분산 큐 서비스

많은 양의 데이터로 작업할 때 계산을 많은 컴퓨팅 노드에 배포하는 경우가 많습니다. 전 세계적으로 비즈니스를 수행할 때 지리적으로 넓은 범위에 분산된 노드에서 수집된 데이터를 처리하기 위한 파이프라인이 필요한 경우가 많습니다. 이러한 이벤트에 대한 요구 사항을 충족할 수 있도록 AWS는 SQS(Simple Queue Service)를 도입했습니다. 많은 승인된 대기열 서비스와 마찬가지로 SQS는 서로 다른 논리적 구성 요소 간에 메시지/작업을 지속적으로 전달하는 방법을 제공합니다.

이름에서 알 수 있듯이 SQS는 AWS 초기에 사용할 수 있는 기본 서비스입니다. 그러나 Amazon은 꾸준히 SQS를 개발해 왔으며, 필요에 따라 SQS는 사용자 지정 가능한 많은 매개변수를 통해 필요한 만큼 간단하거나 강력할 수 있습니다. SQS의 고급 기능 중 일부는 다음과 같습니다.

  • 최대 14일 동안 메시지를 보관합니다.
  • 실패 이벤트에서 메시지 손실을 방지하기 위한 가시성 메커니즘입니다.
  • 메시지당 배달 지연.
  • 실패한 메시지(소위 데드 레터)를 처리하는 정책을 다시 실행합니다.

대기열 서비스는 너무 복잡하지 않아야 합니다. SQS를 소개하기 위해 전체 섹션을 사용할 가치가 있는 이유가 궁금할 것입니다. 아마도 당신은 이미 그 이유를 짐작했을 것입니다. 다른 AWS 서비스와 마찬가지로 SQS는 다음을 의미하는 완전 관리형 서비스입니다.

  • 대기열은 확장성이 뛰어납니다. 수십 개의 메시지 또는 초당 수백만 개의 메시지를 전달할 수 있으므로 SQS는 즉석에서 확장됩니다.
  • 대기열은 지속적이고 분산되어 있습니다. 즉, 중요한 데이터는 만료되지 않는 한 손실되지 않습니다.
  • 대기열 소프트웨어를 배포하기 위해 서버를 설정할 필요가 없습니다. 물론 서비스에 대한 복잡한 모니터링을 설정할 필요도 없습니다.

S3, 파일 스토리지, 그러나 파일 스토리지 뿐만 아니라

S3는 Simple Storage Service의 약자로 최종 사용자를 위한 서비스로서의 Dropbox와 비슷하지만 애플리케이션을 위한 것입니다. 정의에 따르면 S3는 단순한 웹 인터페이스를 갖춘 객체 기반 스토리지입니다.

S3는 사용자에게 단순하지만 많은 고급 기능도 함께 제공됩니다. I S3는 특히 다른 AWS 서비스를 사용하는 애플리케이션의 경우 업계 표준이 되었습니다. 이는 주로 S3가 통합하기 쉽기 때문에 대부분의 AWS 서비스에서 널리 사용되는 외부 스토리지 대상이 되었기 때문입니다. 또한 DynamoDB, SQS 등과 같은 많은 서비스는 내부적으로 S3를 많이 사용합니다.

S3를 이해하면 다른 AWS 관리형 서비스를 사용할 때의 이점이 증폭됩니다. 이는 대부분의 서비스가 S3에 백업을 저장하기 때문입니다. 또한 S3는 DynamoDB, RDS 및 Redshift를 포함하되 이에 국한되지 않는 서비스의 공통 내보내기/가져오기 대상입니다.

마지막으로 S3는 다른 AWS 서비스와 같습니다. 완전 관리형이므로 서버나 장애 조치 메커니즘을 설정하지 않고 서비스 사용을 간단히 시작할 수 있습니다. 경제적인 측면에서 S3는 사용한 만큼만 지불하는 서비스이므로 많은 비용 없이 항상 사용해 볼 수 있습니다.

고급 서비스 및 SDK

주목할 가치가 있는 다른 많은 AWS 서비스도 있습니다. 제한된 공간으로 인해 여기에 흥미로운 몇 가지만 나열합니다.

  • Redshift: 수조 개의 데이터를 매우 빠른 속도 로 처리하는 데 사용할 수 있는 열 기반 데이터베이스입니다. 대용량 데이터의 ETL을 담당하는 경우 반드시 시도해야 합니다.
  • 데이터 파이프라인: IAWS 서비스 간에 데이터를 빠르게 전송할 수 있으며 더 작은 샤드에서 데이터를 주기적으로 처리할 수 있습니다.
  • ElastiCache: 관리형 Memcache 서버로 간단하지만 완벽하게 작업을 수행합니다.
  • Lambda: 차세대 클라우드 컴퓨팅. Lambda는 업로드된 코드 조각을 이벤트 기반 방식으로 실행하여 분산 애플리케이션 설계를 위한 새로운 문을 엽니다.
  • Route53: 다른 산업 표준 DNS 솔루션 위에 가중 응답, 지리적 위치 기반 응답을 지원하는 강력한 DNS 솔루션입니다.
  • SNS: 가입자/퍼블리셔 패턴으로 설계된 사용하기 쉬운 알림 서비스입니다.
  • 더 많습니다.

애플리케이션에 새로운 구성 요소를 도입할 때마다 AWS를 확인하는 것이 좋은 습관이라고 생각합니다. 대부분의 경우 AWS는 SaaS 대안을 제공할 준비가 되어 있기 때문에 놀라운 놀라움을 선사할 것입니다.

또한 RESTful 인터페이스에 더 쉽게 액세스할 수 있도록 Amazon은 거의 모든 인기 있는 프로그래밍 언어로 SDK를 제공했습니다. 좋아하는 SDK를 찾는 데 문제가 없어야 합니다.

요약

이 기사에서는 AWS에서 가장 널리 사용되는 서비스 중 일부를 다루었습니다. 확실히 AWS가 귀하의 비즈니스에 도움이 될 몇 가지 영역이 있습니다. 예를 들어 MySQL 데이터베이스를 RDS로 마이그레이션하는 것과 같이 기존 서비스 구성 요소를 AWS에 상응하는 구성 요소로 마이그레이션하도록 선택할 수 있습니다. 내 소프트웨어의 이 구성 요소에 대한 AWS 서비스가 있는지 물어볼 수 있습니다. 따라서 지금 AWS 계정을 만들고 몇 분 만에 생산성을 향상시키십시오.


Toptal 엔지니어링 블로그에 대한 추가 정보:

  • 클라우드에서 클라우드용 개발: AWS에서 Docker를 사용한 빅데이터 개발
  • 숙제하기: 7 AWS 공인 솔루션스 아키텍트 시험 팁
  • AWS SSM을 사용한 SSH 로깅 및 세션 관리
  • TypeScript 및 Jest 지원 작업: AWS SAM 자습서