Amazon Web Services 한국 블로그

Category: Serverless

AWS Lambda로 진화형 아키텍처 개발하기

민첩성(Agility)을 통해 필요에 따라 새로운 기능을 추가하거나 새로운 인프라를 도입하여 워크 로드를 빠르게 발전시킬 수 있습니다. 코드 기반에서 민첩성을 달성하기 위한 주요 특성은 느슨하게 결합된(loosely coupled) 컴포넌트와 강력한 캡슐화(encapsulation)입니다. 느슨한 결합은 테스트 커버리지를 개선하고 원자적(Atomic) 리팩토링을 실행하는 데 도움이 될 수 있습니다. 캡슐화를 사용하면 구현 논리를 노출하지 않고 서비스와 상호 작용하는 데 필요한 것만 노출합니다. […]

Read More

AWS Step Functions – AWS SDK 통합을 통해 200개 이상 서비스에서 워크플로 자동화 지원

AWS Step Functions는 AWS SDK 서비스 통합 신규 기능을 통해, 지원 서비스가 17개에서 200개 이상이 되었으며 AWS API 작업은 46개에서 9,000개 이상이 되었습니다. 개발자가 분산 아키텍처를 구축할 때, 워크플로 기반 오케스트레이션 패턴을 사용하곤 합니다. 이 패턴은 서비스 내에서 분산 트랜잭션을 수행하는 워크플로 자동화에 유용합니다. 분산 트랜잭션의 예로는 주문을 처리하고 항상 트랜잭션 상태를 추적하는 데 필요한 […]

Read More

AWS Lambda 함수 AWS Graviton2 프로세서 지원 출시 – Arm 기반 실행 시 34% 향상된 가격 대비 성능 제공

많은 AWS 고객들(예: Formula One, Honeycomb, Intuit, SmugMug 및 Snap Inc.)이 Arm 기반 AWS Graviton2 프로세서를 사용하여 작업을 처리하고, 높은 가성비 혜택을 누리고 있습니다. 오늘부터 여러분도 AWS Lambda 함수에 대해 동일한 혜택을 누릴 수 있습니다. 이제 x86 또는 Arm/Graviton2 프로세서에서 실행되도록 새로운 함수와 기존의 함수를 구성할 수 있습니다. 이 옵션을 이용하여 두 가지 방법으로 비용을 […]

Read More

AWS Lambda 기반 서버리스 앱에서 데이터 스토리지 선택하기

AWS Lambda는 서버리스 애플리케이션을 지원하는 온디맨드 컴퓨팅 서비스입니다. Lambda 함수는 임시로 함수가 호출될 때 짧은 시간 동안만 실행 환경이 존재합니다. 그런데, 대부분 컴퓨팅 작업은 다양한 목적을 위해 외부 데이터에 접근해야합니다. 미디어 파일을 읽거나, 임시 파일을 저장하거나 데이터 분석을 위한 로그 파일 등을 접속할 때도 있습니다. Lambda 함수를 개발할 때, 웹 애플리케이션 개발자의 요구 사항을 충족하는 […]

Read More

대규모 서버리스 애플리케이션 구성을 위한 모범 사례

잘 설계된 서버리스 애플리케이션은 분리(decoupled) 되어 있고, 상태를 저장(stateless)하지 않으면서 최소한의 코드를 사용합니다. 프로젝트가 성장함에 따라 개발 관리자의 목표는 설계의 단순성과 로우 코드 구현을 유지하는 것입니다. 이 글은 대규모 서버리스 프로젝트에서 코드 리포지토리를 설계 및 관리하기 위한 권장 사항과 프로덕션 시스템 및 출시 배포를 위한 모범 사례를 제공합니다. 1. 함수 규모에 따라 코드 저장소 구성하기 […]

Read More

서버리스를 이용하여 Amazon S3에 직접 파일 업로드 하기

웹 및 모바일 애플리케이션에서 사용자 데이터 업로드는 가장 많이 만드는 기능입니다. 사용자가 사진, 동영상, 문서와 같은 미디어 파일을 업로드하도록 허용할 수 있습니다. 일반적으로 웹 서버 기반 환경에서 프로세스는 다음 흐름을 따릅니다. 사용자가 파일을 애플리케이션 서버에 업로드합니다. 애플리케이션 서버는 처리를 위해 업로드를 임시 공간에 저장합니다. 파일을 데이터베이스, 파일 서버 또는 영구 저장을 위한 개체 저장소로 전송합니다. […]

Read More

Amazon CloudFront Functions — 더 짧은 지연 시간으로 엣지에서 코드 실행을 위한 신규 기능

Amazon CloudFront를 사용하면 짧은 지연 시간과 빠른 전송 속도로 전 세계 고객에게 데이터, 비디오, 애플리케이션 및 API를 안전하게 전송할 수 있습니다. 사용자 지정 경험을 제공하고 가장 낮은 지연 시간을 제공하기 위해 대부분의 최신 애플리케이션은 엣지에서 특정 형태의 로직(Logic)을 실행합니다. 엣지에 로직을 적용하는 사용 사례는 두 가지 주요 범주로 그룹화할 수 있습니다. 첫 번째 범주는 객체가 […]

Read More

AWS Lambda의 새로운 기능 — 컨테이너 이미지 지원

AWS Lambda를 사용하면 서버 없이 코드를 업로드해서 실행할 수 있습니다. 많은 고객들이 이와 같은 작업 방식을 사용하고 있지만, 개발 워크플로에 대해 컨테이너화 하는데 투자한 경우에는 동일한 방식으로 Lambda를 사용하는 애플리케이션을 구축하는 작업이 쉽지 않습니다. 이를 지원하기 위해 이제 Lambda 함수를 최대 10GB 크기의 컨테이너 이미지로 패키징 및 배포할 수 있는 기능을 제공합니다. 이렇게 하면 기계 […]

Read More

AWS Toolkit 및 Cloud9을 통해 로컬 환경에서 서버리스 앱 개발하기

소프트웨어 개발자들은 각자 선호하는 도구가 있습니다. 일부는 강력한 편집기를 사용하고, 일부는 특정 언어 및 플랫폼에 맞춤화된 통합 개발 환경(IDE)을 사용합니다. 그리고 이러한 환경을 클라우드에 구축하여 개발하는 것을 선호하는 개발자도 있지만 이보다는 본인의 로컬 환경에서 직접 개발하는 것을 선호하는 개발자가 많습니다. 이 글은 AWS 에서 이러한 로컬 환경에서 개발을 원하는 개발자들이 보다 더 쉽게 그러한 환경을 […]

Read More

AWS 클라이드 네이티브 기반 Twelve Factor 앱 개발 방법

2012년 Heroku에서 일하던 개발자들은 클라우드 시대에 적합한 애플리케이션 개발과 배포 방법에 맞는 12가지 원칙(Twelve Factor)을 개념화 했습니다.  이와 비슷한 원칙 중 더 나은 코드를 위한 12가지 Joel Test라는 것도 유명하죠. Joel Test가 코드와 개발에 대한 것이라면 Twelve-Factor App 원칙의 주요 개발 동기는 아래와 같습니다. 애플리케이션 설정 자동화를 위한 절차(declarative)를 체계화 하여 신규 개발자의 학습 비용 […]

Read More