[Serverless][Part-1] Mở đầu : Giới thiệu cách viết chatbot Slack bằng Serverless

Spread the love
Trong series này, chúng ta sẽ tìm hiểu cách tạo một chatbot của slack bằng serverless.
Series này sẽ chia làm 3 phần:
  • Mở đầu giới thiệu
Cách tạo một slackbot và cho phép user add applications vào workspaces
  • Nhận events từ channel, validate command của end-user
Nhận request từ events, gọi Fixer.io để lấy tỉ giá, tính toán và trả lại tỉ giá quy đổi cho end-user
Mở đầu :
Khái niệm serverless:
  • Serverless được lần đầu sử dụng như một thuật ngữ chỉ các ứng dụng mà phụ thuộc gần như hoàn toàn / hoàn toàn vào các dịch vụ của bên thứ 3 (cloud) để quản lý logic của server-side và state. Có thể kể ra những mobile apps hoặc web apps sử dụng hệ thống database của Firebase, Parse hay Authentication Services của Auth0 hoặc AWS cognito
Serverless cũng có nghĩa là  logic layer vẫn được tạo bởi application developer nhưng khác với kiến trúc truyền thống, applications sẽ được chạy trong các stateless container (thay vì là server vật lý), và được trigger bởi một event nào đó, chạy trong thời gian ngắn (dưới 1 tiếng), và được quản lý bởi một bên thứ ba (AWS chẳng hạn). Chúng ta có thể xem serverless như là Function as a Services (FaaS). Trong series này chúng ta sẽ hiểu serverless theo nghĩa thứ hai
Khái niệm về Slack Bot:
Bot là một chương trình inside slack, bot có thể phản ứng lại một trigger của người dùng (chẳng hạn như mention hoặc một command định nghĩa trước. Chúng ta có thể add bot vào trong channel, cũng như là gửi message trực tiếp cho bot. Có 2 loại bot được Slack định nghĩa sẵn, app bots và custom bots. Ở bài viết này chúng ta sẽ tìm hiểu về cách tạo một app-bots để convert ngoại tệ theo như sample bên dưới
Tổng quan flow:
  1. Install function: User cài đặt chatbot vào workspaces, thông tin này sẽ được lưu vào trong DynamoDB (có thể sử dụng FireBase realtime database)
Event function: nhận event từ channel của slack (bot có bị notified hay không)
  1. Action function: Gọi fixer.io API để lấy tỉ giá và trả về kết quả vào channel
Nào cùng nhau tìm hiểu nhé 🙂
Tham khảo :
Series Navigation[Serverless][Part-2] Phần 2: Cài đặt Slackbot và lưu access_token vào DynamoDB >>

Leave a Reply

Your email address will not be published. Required fields are marked *