12/08/2018, 16:52

Serverless Typescript với AWS Lambda, API Gateway và DynamoDB trên môi trường offline - Phần 01

Function as Service (FaaS) là một trong 2 dịch vụ chính của nhóm dịch vụ serverless (Backend as Service (BaaS) và Function as Service (FaaS) ), ở mô hình này, bạn sẽ phải viết code ở phần backend, nhưng thay vì deploy lên server, bạn deploy dưới dạng một function. Như vậy cách này bạn sẽ chủ ...

Function as Service (FaaS) là một trong 2 dịch vụ chính của nhóm dịch vụ serverless (Backend as Service (BaaS) và Function as Service (FaaS) ), ở mô hình này, bạn sẽ phải viết code ở phần backend, nhưng thay vì deploy lên server, bạn deploy dưới dạng một function. Như vậy cách này bạn sẽ chủ động hơn đối với phần backend và không cần quan tâm đến server. Function này sẽ được gọi dưới dạng RestAPI, bạn sẽ trả tiền theo số lần gọi function của mình. Dịch vụ FaaS khá nổi tiếng là AWS Lambda của Amazon. Khi công bố dịch vụ AWS Lambda nhóm phát triền Amazon đã nói "dịch vụ này cho phép các bạn chạy các đoạn code logic của mình mà không cần cung cấp hoặc phải quản lý một hoặc nhiều máy chủ. Ngoài ra, AWS API Gateway cung cấp các kết nối đầu cuối API có thể kết nối với các chức năng của Lambda function, kết nối giữa một API Gateway với một Lambda tạo ra một API endpoint mà client có thể gọi tới. Sự kết hợp này cho phép client lấy được mã truy cập (token) mà không tiết lộ ClientID và ClientSecret". Tập trung vào ứng dụng chứ không phải cơ sở hạ tầng của bạn

Hiện tại aws lambda đã hỗ trợ các ngôn ngữ Java, Node.js, Python, C# và mới đây là Go. Trong bài này chúng ta sẽ dùng typescript để viết logic. Typescript có thể được coi là một phiên bản nâng cao của Javascript bởi việc bổ sung tùy chọn kiểu tĩnh và lớp hướng đối tượng mà điều này không có ở Javascript, ngoài ra nó sử dụng tất cả các tính năng của của ECMAScript 2015 (ES6) như classes, modules. Bản chất của TypeScript là biên dịch tạo ra các đoạn mã javascript nên ban có thê chạy bất kì ở đâu miễn ở đó có hỗ trợ biên dịch Javascript. Ngoài ra bạn có thể sử dụng trộn lẫn cú pháp của Javascript vào bên trong TypeScript, điều này giúp các lập trình viên tiếp cận TypeScript dễ dàng hơn. Các lợi ích khi phát triển dự án bằng typescript các bạn có thể tự tìm hiểu thêm.

serverless là một bộ công cụ giúp bạn triển khai và vận hành các ứng dụng theo mô hình serverless. Công cụ hỗ trợ nhiều nền tảng dịch vụ serverless nổi tiếng

Việc phát triền ứng dụng theo mô hình serverless còn khá "mới", các bài viết trên trên mạng thường chưa chi tiết và chỉ dừng ở mức "Hello World!", những người muốn tìm hiểu cũng khó tiếp cận. Đặc biệt là việc phát triển dự án trên môi trường offline thường gặp nhiều vấn đề, trong đó có vấn đề mô tả được kết nối giữa API Gateway tới Lambda function. Làm sao để trigger một function bằng một lời gọi http request?

Để thực hiện bài viết này các bạn cần phải có hiểu biết căn bản để xây dựng một ứng dụng với nodejs. Ứng dụng của chúng ta sẽ có 2 api endpoint: POST /api/v1/cats - để khởi tạo thông tin một chú mèo             </div>
            
            <div class=

0