Bref.sh, một tools giúp chạy PHP trên AWS Lambda cover image

Bref.sh, một tools giúp chạy PHP trên AWS Lambda

Khanh Nguyen • March 4, 2019

Mở đầu

Hôm nay mình rất là hứng thú khi AWS bắt đầu roll out layer cho serverless. Tại sao vậy ? Bởi vì khi roll out layer cho serverless, chúng ta có thể chạy bất kì ngôn ngữ lập trình nào trên lambda service :) Is it cool?

Lambda với layer được giới thiệu vào cuối tháng 11/2018 bao gồm các feature như bên dưới

Bref là gì

Bref là một bộ công cụ được cài đặt thông qua Composer (quá tuyệt vời), giúp chúng ta có thể deploy PHP applications lên AWS Lambda. Vậy thì Bref sẽ hỗ trợ chúng ta những gì ?

Bref sử dụng SAM để deploy serverless application. AWS đã có tài liệu rất rõ ràng về SAM ở đây.

Bref hoạt động như thế nào

Hai thành phần chính của Bref bao gồm Stacks và SAM

Stacks

Thật ra khi deploy một application thì sẽ có 1 cloudformation stack được tạo ra, bao gồm:

Mỗi khi các bạn deploy thì toàn bộ stacks sẽ được update và khi xoá stack thì toàn bộ các component của nó cũng sẽ bị xoá. Sạch và đẹp nhỉ

SAM

SAM cung cấp cho chúng ta một format config đơn giản để có thể deploy một serverless application dễ dàng hơn. (gọi là dễ dàng nhưng chắc cũng cần vài bước chứ không chỉ bằng một nút bấm được) Deploying sử dụng SAM thì bao gồm 3 steps

Deploy với SAM

Create deployment bucket

Đầu tiên chúng ta cần tạo deployment bucket (bucket này sẽ được quản lý bởi SAM, do đó chúng ta không được upload các file khác vào trong bucket này )

aws s3 mb s3://<bucket-name>

Create Deployment bucket

Lambda Layer Release