Quy trình làm việc là gì?
Một luồng công việc mô tả cách mọi người hoàn thành công việc từ đầu đến cuối. Một luồng công việc bao gồm các bước và trạng thái trong một quy trình. Các luồng công việc có thể xuất hiện dưới dạng một chuỗi các bước trong danh sách kiểm tra hoặc dưới dạng sơ đồ trực quan hóa các bước đó.
Sau đây là một ví dụ về quy trình làm việc hỗ trợ đơn giản:
- Carl là một khách hàng bắt đầu yêu cầu hỗ trợ.
- Trường hợp chưa giải quyết được giao cho một Đại diện hỗ trợ tên là Sasha.
- Sasha tiếp nhận trường hợp được giao và hỏi Carl thông tin. Trong khi chờ hồi đáp, trạng thái của trường hợp này là đang chờ xử lý.
- Sau khi Carl cung cấp thông tin được yêu cầu, Sasha sẽ hồi đáp đi kèm với một giải pháp và sau đó cập nhật trạng thái của trường hợp đó thành đã giải quyết.
- Carl nhận được câu trả lời cũng như một liên kết khảo sát để anh có thể cung cấp phản hồi về yêu cầu hỗ trợ của mình. Anh rất vui khi được Sasha phản hồi nhanh chóng và đánh giá cao trong khảo sát. Trạng thái của trường hợp được cập nhật thành đã đóng.
Quy trình làm việc này gồm các bước là “bắt đầu”, “giao”, “giải quyết” và “đóng”. Các trạng thái là “chưa giải quyết”, “đã giao”, “đang chờ xử lý”, “đã giải quyết” và “đã đóng”. Các bước chuyển quy trình từ trạng thái này sang trạng thái khác dọc theo một lộ trình cho đến khi hoàn tất quy trình làm việc.
Lợi ích của việc sử dụng quy trình làm việc là gì?
Quy trình làm việc quy định một tập hợp các bước và tác vụ lặp lại được mà bạn có thể khởi tạo, lên lịch và giám sát.
Bạn có thể trực quan hóa quy trình làm việc để quan sát, xác thực tính chính xác của quy trình làm việc, đồng thời giám sát các hoạt động trong quy trình làm việc.
Nhờ có quy trình làm việc, các doanh nghiệp có thể cải thiện mức độ tin cậy cho các ứng dụng phân tán mà không thêm phần phức tạp cho mã của họ. Bạn có thể tự động hóa, tối ưu hóa và điều chỉnh quy mô quy trình làm việc ở mức độ chi tiết.
Quy trình làm việc mang lại gì cho kiến trúc ứng dụng?
Các quy trình làm việc sẽ đẩy mạnh việc tách biệt hợp lý giữa quy trình kiểm soát logic từng bước của tác vụ với các đơn vị công việc thực tế chứa logic kinh doanh duy nhất của bạn. Nhờ việc phân chia này, bạn có thể quản lý, duy trì và điều chỉnh quy mô bộ máy trạng thái của ứng dụng của mình riêng, không liên quan đến logic kinh doanh cốt lõi.
Khi yêu cầu kinh doanh của bạn thay đổi, bạn có thể dễ dàng thay đổi logic ứng dụng mà không cần thay đổi bộ máy trạng thái cơ sở, điều phối tác vụ và kiểm soát quy trình.
Làm thế nào để các dịch vụ quy trình làm việc cải thiện kiến trúc ứng dụng?
Độ tin cậy
Việc tách biệt theo dõi trạng thái và xử lý tác vụ giúp kiến trúc dựa trên đám mây trở nên đáng tin cậy. Nhờ sử dụng các dịch vụ quy trình làm việc, bạn có thể điều phối tác vụ cho các thành phần ứng dụng, theo dõi tiến độ của chúng và nắm được trạng thái mới nhất của hệ thống.
Tính đơn giản
Quy trình làm việc thay thế sự phức tạp của những giải pháp viết mã tùy chỉnh tự phát triển và mã tự động hóa quy trình.
Tác vụ thúc đẩy các bước xử lý có thể chạy kéo dài và có khả năng không thành công, hết thời gian chờ hoặc đòi hỏi phải khởi động lại. Các tác vụ thường được hoàn tất với mức thông lượng và độ trễ khác nhau. Trong tất cả những trường hợp này, việc theo dõi và trực quan hóa các tác vụ không chỉ là thách thức mà còn là công việc cùng một kiểu.
Nhờ các dịch vụ quy trình làm việc, nhà phát triển có thể tránh việc quản lý hệ thống kết nối cơ sở hạ tầng của việc tự động hóa quy trình. Do đó, họ có thể tập trung sức lực của mình vào các chức năng độc đáo của ứng dụng.
Khả năng mở rộng
Các dịch vụ quy trình làm việc được thiết kế để điều chỉnh quy mô sao cho liền mạch với việc sử dụng ứng dụng của bạn. Khi thêm nhiều quy trình làm việc hơn vào ứng dụng của bạn hay tăng độ phức tạp của quy trình làm việc của mình, bạn có thể tự động hóa quá trình quản trị dịch vụ quy trình làm việc.
Sự linh hoạt
Các nhà phát triển có thể sử dụng các dịch vụ quy trình làm việc để tạo ra các thành phần ứng dụng và logic điều phối bằng những ngôn ngữ lập trình khác nhau. Sau đó, các nhà phát triển có thể tập trung vào logic ứng dụng khác biệt của họ.
Một số trường hợp sử dụng phổ biến của quy trình làm việc là gì?
Quy trình làm việc có thể giúp giải quyết bất kỳ vấn đề điện toán hoặc quy trình kinh doanh nào có thể được chia thành một loạt các bước. Quy trình làm việc đơn giản hóa công tác quản lý tác vụ với các phần phụ thuộc lẫn nhau. Các trường hợp sử dụng phổ biến bao gồm:
- Điều phối ứng dụng – Điều phối các vi dịch vụ được kết nối lỏng lẻo, từng vi dịch vụ chạy trong quy trình riêng của chúng và được triển khai độc lập thông qua hoạt động giao tiếp của các sự kiện. Kết hợp các chức năng phi máy chủ để xây dựng ứng dụng web với bước phê duyệt không đồng bộ của con người. Để biết thêm ví dụ về trường hợp sử dụng, hãy xem Điều phối vi dịch vụ trong Hướng dẫn dành cho nhà phát triển AWS Step Functions.
- Xử lý dữ liệu – Tổng hợp dữ liệu từ nhiều tập dữ liệu thành các báo cáo thống nhất, tinh chỉnh và rút gọn các tập dữ liệu lớn thành những định dạng hữu ích hoặc điều phối phân tích nhiều bước và quy trình làm việc máy học. Để biết thêm ví dụ về trường hợp sử dụng, hãy xem Xử lý dữ liệu trong Hướng dẫn dành cho nhà phát triển AWS Step Functions.
- Tự động hóa DevOps và CNTT – Xây dựng các công cụ để tích hợp và triển khai liên tục hoặc tạo những ứng dụng theo hướng sự kiện tự động phản hồi với những thay đổi về cơ sở hạ tầng. Để biết thêm ví dụ về trường hợp sử dụng, hãy xem Tự động hóa CNTT và bảo mật trong Hướng dẫn dành cho nhà phát triển AWS Step Functions.
- Thương mại điện tử – Tự động hóa các quy trình kinh doanh tối quan trọng, chẳng hạn như hoàn thành đơn đặt hàng và theo dõi hàng tồn kho.
- Ứng dụng web – Triển khai các quy trình đăng ký và xác thực người dùng mạnh mẽ, tùy chọn tích hợp các bước để kiểm tra và nâng cao mức độ bảo mật.
- Máy học – Chạy các tác vụ trích xuất, chuyển đổi và tải (ETL) để xây dựng, đào tạo và triển khai mô hình máy học. Ví dụ: thu thập và xử lý dữ liệu hình ảnh để phát hiện các đối tượng trong một luồng video, thêm các ô viền quanh hoặc cung cấp thông tin trực quan và siêu dữ liệu để lập danh mục dữ liệu. Để biết thêm ví dụ về trường hợp sử dụng, hãy xem Máy học trong Hướng dẫn dành cho nhà phát triển AWS Step Functions.
- Tự động hóa bảo mật – Phân tích theo lịch trình hoặc phản hồi lại sự cố bảo mật do các sự kiện tài nguyên được quản lý khởi tạo, với quy trình làm việc tùy chỉnh, dẫn ra các bước kiểm tra và thông báo tùy thuộc vào quy tắc kinh doanh.
- Xử lý phương tiện truyền thông – Trích xuất dữ liệu từ tài liệu PDF hoặc hình ảnh để xử lý. Tách và chuyển mã video bằng cách chạy song song trên quy mô lớn. Để biết thêm ví dụ về trường hợp sử dụng, hãy xem Xử lý phương tiện truyền thông trong Trường hợp sử dụng AWS Step Functions.
Làm thế nào để tạo quy trình làm việc?
Các nhà phát triển ban đầu có thể xây dựng các giải pháp viết mã tùy chỉnh và mã tự động hóa quy trình. Những giải pháp này ban đầu thì đơn giản, tuy nhiên, theo thời gian và sự phát triển, chúng có xu hướng trở nên phức tạp và dễ bị lỗi. Để cập nhật logic kinh doanh đòi hỏi nhiều công sức hơn và theo thời gian, tốc độ thay đổi chậm dần.
Bạn có thể giảm thiểu phần nào đó sự phức tạp của các giải pháp tự phát triển bằng cách áp dụng các thư viện dành riêng cho quy trình làm việc. Tuy nhiên, việc cấu hình những công cụ này có thể khiến quy trình đối mặt thêm những phức tạp mới. Có thể vẫn khó mà trực quan hóa các bước và trạng thái của quy trình làm việc.
Việc tạo và giám sát quy trình làm việc nâng cao cần có những công cụ trực quan để sắp xếp các trạng thái và bước của quy trình làm việc. Trong những công cụ này, có thể quản lý và cập nhật các quy tắc logic kinh doanh. Sử dụng các công cụ đồ họa có thể nâng cao năng suất của nhà phát triển và khả năng hiển thị quy trình làm việc, đồng thời có thể giảm khả năng xảy ra lỗi.
Để biết hướng dẫn thực hành sử dụng trình thiết kế quy trình làm việc trực quan Workflow Studio, hãy xem Tạo quy trình công việc phi máy chủ trong Trung tâm nhà phát triển AWS.
Các mẫu quy trình làm việc phổ biến là gì?
Nhờ sử dụng quy trình làm việc, bạn có thể tập trung vào việc xác định các tương tác của thành phần thay vì viết phần mềm để khiến các tương tác diễn ra.
Các quy trình làm việc có thể điều phối cả vi dịch vụ và bộ chứa. Các mẫu phổ biến cho quy trình làm việc bao gồm chuỗi vi dịch vụ, phản hồi không đồng bộ hoặc đồng bộ, tương tác của con người, điều phối và bố trí bộ chứa, phân nhánh và xử lý lỗi.
AWS cung cấp các dịch vụ quy trình làm việc nào?
AWS Step Functions là một dịch vụ quy trình làm việc trực quan, mã thấp để điều phối các dịch vụ AWS, tự động hóa quy trình kinh doanh và phát triển ứng dụng phi máy chủ. Step Functions bao gồm Workflow Studio, một trình thiết kế quy trình làm việc trực quan, không cần viết mã nhiều, theo kiểu kéo và thả. Công cụ này tự động tạo ra các chức năng và cấu hình của bạn bằng Amazon States Language, một ngôn ngữ có cấu trúc dựa trên JSON được sử dụng để xác định các máy trạng thái. Bạn có thể sử dụng Amazon States Language trong bảng điều khiển Step Functions hoặc xuất và chỉnh sửa.
Quy trình làm việc được quản lý của Amazon dành cho Apache Airflow (Amazon MWAA) cung cấp trải nghiệm tương tự Apache Airflow nguồn mở nhưng dưới dạng dịch vụ được quản lý toàn phần. Sử dụng Amazon MWAA để di chuyển các giải pháp tại chỗ hiện có của bạn sang đám mây nhằm giảm chi phí hoạt động và triển khai ở quy mô lớn. Các nhà phát triển có thể tiếp tục viết các mô hình đồ thị có hướng không tuần hoàn (DAG) trong Python, khai báo phần phụ thuộc cho các tác vụ, đồng thời tích hợp với những dịch vụ AWS khác.
Chúng tôi đề xuất bạn nên sử dụng AWS Step Functions cho tất cả các ứng dụng mới vì dịch vụ này cung cấp một cách tiếp cận hiệu quả và linh hoạt hơn, giúp điều phối các thành phần ứng dụng thông qua quy trình làm việc trực quan. Để biết hướng dẫn thực hành sử dụng cả Step Functions Workflow Studio và Amazon States Language, hãy xem Cách tạo quy trình công việc phi máy chủ trong Trung tâm nhà phát triển AWS.
Các bước tiếp theo để sử dụng quy trình làm việc trên AWS
Xây dựng quy trình làm việc với hơn 200 dịch vụ AWS và 9.000 thao tác API
Bắt đầu xây dựng với API Gateway trên bảng điều khiển quản lý AWS.