Platform as a Service

PaaS?

개발자들이 인프라에 대해 신경 쓰지 않고
앱을 개발하고 테스트할 수 있게 해주는 일련의 서비스

AWS
Elastic Beanstalk
"AWS에 애플리케이션을 배포하는 가장 간편하고 빠른 방법"
  • Java, .NET, PHP, Node.js, Python, Ruby, Go, Docker를 사용하여 Apache, Nginx, IIS와 같은 서버에서 구동되는 웹서비스들을 지원
  • EC2 인스턴스, 로드밸런싱, 오토스케일링 및 모니터링등 Application 구동에 필요한 AWS 리소스들을 자동으로 구성해주고 관리할수 있는 플랫폼

지금, PaaS를 사용해야하는 이유

  • 빠른 시작
  • 개발 생산성 향상
  • 손쉬운 구성 파악
  • Multiple Platform
  • Customization
  • 편리한 유지보수

빠른 시작

개발자는 애플리케이션을 배포 및 운영할 플랫폼과 백엔드 인프라를 구성할 필요없이 몇 분 내에 샘플코드 및 필요한 인프라 구성요소(components)가 포함된 소프트웨어 개발 환경에 접근할 수 있습니다. 소스코드가 준비되었다면 즉각적인 배포와 서비스 운영이 가능합니다.

개발 생산성 향상

개발 및 운영에 필요한 환경(툴, 3rd party 연동, 배포시스템)이 미리 준비되어 있으며 네트워크, 서버, 데이터베이스, 방화벽등의 인프라 구성 및 관리의 편의성이 제공됩니다. 개발자는 인프라 구성 및 운영에 필요한 노력(overhead)을 최소화하여 소프트웨어 개발에만 집중할 수 있습니다.

손쉬운 구성 파악

인프라 구성 및 운영에 필요한 모든 구성요소들을 하나의 UI에서 관리할 수 있습니다. 여러 리소스들을 한눈에 파악할 수 있고, 손쉽게 변경, 설정, 배포, 모니터링등을 관리할 수 있습니다.

Multiple Platforms

Java, PHP, Python, Node.js, Ruby, Go, Docker 등의 다양한 프로그래밍 언어를 제공합니다. 사용자가 직접 구성한 런타임 및 프레임워크 뿐만 아니라 웹서버, API서버, Worker node 등의 흔히 사용되는 workload에 대한 구성까지 지원합니다.

Customization

환경 구성 파일 또는 다양한 설정 및 옵션값등을 통해서 플랫폼을 사용자의 요구조건에 맞춰서 수동구성할수 있습니다. (사용자가 정의한 스크립트 실행, 플랫폼 구성요소 지정 및 변경)

편리한 유지보수

플랫폼 버전 업그레이드를 통해서 보안패치를 적용하고 런타임 및 소프트웨어에 대한 업그레이드를 진행할수 있습니다. Maintenance Windows를 설정하여 사용자가 지정한 시간에 플랫폼을 최신버전으로 자동 업데이트 되도록 구성할수 있습니다. Notification 설정으로 장애, 배포, 스케일링과 같은 각종 이벤트에 대한 정보를 이메일로 수신받을수 있습니다.

Use Cases

온라인 교육 플랫폼 스타트업A사는 서비스 런칭에 난항을 겪고 있습니다.
해당 업체는 별도의 인프라 담당 엔지니어를 고용할 수 있는 자금적 여유가 없고, PoC 단계이므로 복잡한 인프라 구성을 설계하기엔 부담스러운 상황입니다. 때문에 개발자들은 각자의 로컬 환경에서 개발한 후, 수동으로 구성된 하나의 환경에서 테스트를 하고 있습니다. 클라우드 인프라에 대한 지식이 부족한 개발자들은 환경 구성에 많은 시간을 할애할 수 밖에 없어 자연스레 업무 효율 저하를 겪고 있습니다. 통일되지 않은 배포 환경으로 인해 배포실패 시 디버깅에 어려움을 겪는 것은 물론이며, 핵심 서비스 런칭 지연 문제까지 겪고 있습니다.

AWS Elastic Beanstalk를 통해 환경구성에 필요한 리소스 프로비저닝 및 설정을 한번에 해결할 수 있습니다. Web UI 및 CLI를 활용한 Step-by-step 프로세스를 적용할 수 있기 때문입니다. 환경 구성 이후에는 생성된 모든 리소스들을 하나의 UI에서 관리할 수 있습니다.
CodePipeline을 통한 손쉬운 CI/CD 구축이 단시간에 가능하고, ZIP 파일에 모든 소스코드를 package해서 Management console이나 CLI를 통해서 쉽게 배포할 수 있어 Application 배포 관련 문제 또한 해결할 수 있습니다. 어플리케이션 배포시에 Elastic Beanstalk 플랫폼에 따라 이미 구성된 스크립트가 자동 실행 되고, 모든 내용은 로그로 기록되기 때문에 배포 실패시에도 디버깅이 용이하다는 장점이 있습니다.

소프트웨어 개발 사업 및 운영대행을 주력으로 하고 있는 IT기업 B사. 당사는 최근 추진 중인 사업 확장으로 인해 개발·운영이 필요한 소프트웨어의 수가 급증하고 있습니다. 다양한 언어로 개발된 소프트웨어를 각기 다른 플랫폼에서 여러가지 배포 및 모니터링 툴을 이용해서 운영하다 보니 운영 인력의 충원이 불가피한 실정입니다. 게다가 플랫폼의 다변화로 인해 운영 인력이 특정 프로젝트에 Lock-in되는 현상이 발생하고 있어 생산성 및 확장성 결여를 겪고 있습니다. B사는 이로 인한 영업이익 감소 또한 예상되는 상황입니다.

AWS Elastic Beanstalk은 다양한 언어를 지원하는데 그치지 않고 구성, 관리, 배포, 모니터링적인 면에서 일관된 사용자 경험을 제공합니다. 모든 플랫폼을 Elastic Beanstalk으로 전환하고, Elastic Beanstalk 사용 경험이 많은 엔지니어를 고용하거나 기존의 엔지니어들이 Elastic Beanstalk 사용법을 학습하게 한다면 (낮은 러닝커브) 적은 인원으로 더 많은 플랫폼을 운영할 수 있게 됩니다. 이는 효율성 및 생산성 향상으로 이어질 것입니다.
나아가 기존에 구성해놓은 Elastic Beanstalk 플랫폼을 reference로 하여 새로운플랫폼을 구성하거나 비슷한 스택으로 소프트웨어 개발을 진행한다면 어떨까요? 적은 노력으로 더 빠르고 효율적인 개발이 가능해져 기술 및 가격 경쟁력 상승 역시 기대할 수 있습니다.

Our Services

  • 어디서부터 시작해야할 지 모르시겠다구요?
    솔트웨어에서 제공하는 Hands on lab을 통해서 Elastic Beanstalk환경을 구성해보세요. 샘플 어플리케이션을 배포하고, CodePipeline을 통한 CI/CD 파이프라인을 구축을 경험해보세요. 나아가 기타 AWS 리소스들과 연동하는 방법까지 실습해 볼 수 있습니다. 실습 바로가기
  • AWS 제공하는 튜토리얼과 샘플들을 기반으로 사용하시는 프로그래밍 언어와 프레임워크에 맞는 환경을 구성해보세요 실습 바로가기
솔트웨어의 DevOps 전문가들이 도와드립니다.
  • 고객의 요구조건과 current status를 파악하여 PaaS 형태의 개발 및 배포 가능 여부에 대해 컨설팅해드립니다.
  • Elastic Beanstalk 뿐만 아니라 VPC, RDS, IAM등의 기타 리소스들을 포함하는 기본 템플릿을 제공하여 보다 손쉬운 초기 구축 환경을 조성해드립니다.
  • Configuration files (ebextensions) 및 Platform hooks 들을 통해 사용자 환경에 맞는 수동구성을 도와드립니다.
  • X-Ray, Systems Manager, CloudFront 등의 기타 AWS 서비스들과의 seamless integration을 도와드립니다.
인프라는 저희에게 맡기시고 개발에 집중하세요!

AWS 서비스에 대해
궁금하신 사항이 있으신가요?

csm@saltware.co.kr
T. 02-2025-4942