เวิร์กโฟลว์คืออะไร
เวิร์กโฟลว์เป็นการอธิบายขั้นตอนการทำงานตั้งแต่ต้นจนจบ เวิร์กโฟลว์ประกอบไปด้วยขั้นตอนต่าง ๆ และสถานะของกระบวนการ เวิร์กโฟลว์มีลักษณะเป็นชุดขั้นตอนที่ต้องทำตามลำดับ หรือมีลักษณะเป็นแผนภาพที่แสดงขั้นตอนเหล่านั้นเป็นภาพอธิบาย
ต่อไปนี้เป็นตัวอย่างของเวิร์กโฟลว์การสนับสนุนอย่างง่าย:
- ลูกค้ารายหนึ่ง Carl เริ่มต้นคำขอสนับสนุน
- เคสนี้มอบหมายให้กับ Sasha ตัวแทนฝ่ายสนับสนุน
- Sasha ได้รับเคสนี้และขอข้อมูลจาก Carl ในขณะที่รอการตอบกลับ สถานะเคสอยู่ระหว่างดำเนินการ
- หลังจากที่คาร์ลให้ข้อมูลที่ร้องขอ Sasha ตอบกลับด้วยการแก้ปัญหาและจากนั้นปรับปรุงสถานะของเคสที่จะได้รับการแก้ไข
- คาร์ลได้รับคำตอบ รวมถึงลิงก์แบบสอบถามซึ่งเขาสามารถให้ข้อเสนอแนะเกี่ยวกับคำขอการสนับสนุนได้ เขามีความยินดีกับการตอบกลับอย่างรวดเร็วของ Sasha และให้คะแนนสูงในแบบสอบถาม สถานะของเคสอัปเดตเป็นเสร็จสิ้นแล้ว
ในเวิร์กโฟลว์นี้ ขั้นตอนคือ “เริ่มต้น” “มอบหมาย” “แก้ไข” และ “เสร็จสิ้น” สถานะที่มี “เปิด” “มอบหมาย” “รอดำเนินการ” “แก้ไข” และ “เสร็จสิ้น” ขั้นตอนการเปลี่ยนสถานะไปสู่สถานะต่างๆ ตลอดเส้นทางจนกว่าเวิร์กโฟลว์จะเสร็จสมบูรณ์
ประโยชน์ของการใช้เวิร์กโฟลว์คืออะไร
เวิร์กโฟลว์จะมอบชุดของขั้นตอนและงานที่ทำซ้ำได้ ซึ่งคุณสามารถเริ่มต้น กำหนดเวลา และตรวจสอบได้
คุณสามารถเห็นภาพเวิร์กโฟลว์เพื่อการสังเกต ตรวจสอบความถูกต้องของเวิร์กโฟลว์ และตรวจสอบการดำเนินงานในเวิร์กโฟลว์ได้
ด้วยเวิร์กโฟลว์ ธุรกิจสามารถบรรลุระดับที่ดีขึ้นของความเสถียรสำหรับแอปพลิเคชันแบบกระจายโดยไม่ต้องเพิ่มความซับซ้อนเพิ่มเติมให้กับโค้ด คุณสามารถทำให้เวิร์กโฟลว์ทำงานเป็นอัตโนมัติ เพิ่มประสิทธิภาพ และปรับขนาดเวิร์กโฟลว์ในระดับที่ละเอียดได้
เวิร์กโฟลว์ให้อะไรแก่สถาปัตยกรรมแอปพลิเคชันบ้าง
เวิร์กโฟลว์จะส่งเสริมให้มีการแยกลำดับการควบคุมโลจิกตามขั้นตอนงานในพื้นหลังและหน่วยของงานที่แท้จริงซึ่งมีตรรกะธุรกิจที่มีลักษณะเฉพาะตัวของคุณ ด้วยส่วนนี้ คุณสามารถจัดการ บำรุงรักษา และปรับขนาดสถานะแมชชีนของการใช้งานของคุณแยกจากโลจิกหลักทางธุรกิจได้
เมื่อข้อกำหนดทางธุรกิจเปลี่ยน คุณก็สามารถเปลี่ยนตรรกะแอปพลิเคชันได้อย่างง่ายดายโดยไม่ต้องเปลี่ยนเครื่องจักรตามสถานะที่แท้จริง การเลือกจ่ายงาน และการควบคุมลำดับงาน
บริการเวิร์กโฟลว์ช่วยปรับปรุงสถาปัตยกรรมแอปพลิเคชันอย่างไร
ความเสถียร
การแยกการติดตามสถานะและการประมวลผลงานนำมาซึ่งความเสถียรต่อสถาปัตยกรรมระบบคลาวด์ เมื่อใช้บริการเวิร์กโฟลว์ คุณสามารถจัดส่งงานไปยังส่วนประกอบของแอปพลิเคชัน ติดตามความคืบหน้า และทราบสถานะล่าสุดของระบบ
ความเรียบง่าย
เวิร์กโฟลว์จะแทนที่ความซับซ้อนของโซลูชันแบบกำหนดเองและกระบวนการโค้ดอัตโนมัติ
งานที่ขับเคลื่อนขั้นตอนการประมวลผลอาจเป็นการทำงานที่เป็นเวลานานและอาจล้มเหลว หมดเวลา หรือจำเป็นต้องเริ่มระบบใหม่ โดยมักจะเสร็จสมบูรณ์ด้วยอัตราการโอนถ่ายข้อมูลที่แตกต่างกันและความล่าช้า ในกรณีเหล่านี้ทั้งหมด การติดตามและการสร้างภาพงานไม่ใช่แค่ความท้าทายเท่านั้น แต่ยังเป็นงานที่ไม่แตกต่างกันด้วย
ด้วยบริการเวิร์กโฟลว์ นักพัฒนาซอฟต์แวร์สามารถหลีกเลี่ยงการจัดการระบบโครงสร้างพื้นฐานของระบบอัตโนมัติของกระบวนการได้ และจากผลลัพธ์ พวกเขาจะสามารถมุ่งเน้นพลังงานไปกับการทำงานกับแอปพลิเคชันที่ไม่ซ้ำซากได้
ความสามารถในการปรับขนาด
บริการเวิร์กโฟลว์ได้รับการออกแบบมาเพื่อปรับขนาดอย่างลงตัวกับการใช้งานแอปพลิเคชันของคุณ ในตอนที่คุณเพิ่มเวิร์กโฟลว์ในแอปพลิเคชันให้มากขึ้นหรือเพิ่มความซับซ้อนให้กับเวิร์กโฟลว์ของคุณ คุณสามารถทำกระบวนการจัดการของบริการเวิร์กโฟลว์ให้เป็นอัตโนมัติ
ความยืดหยุ่น
นักพัฒนาสามารถใช้บริการเวิร์กโฟลว์ในการสร้างส่วนประกอบของแอปพลิเคชันและโลจิกการประสานงานในภาษาโปรแกรมต่างๆ ได้ นักพัฒนาแล้วสามารถมุ่งเน้นไปที่โลจิกแอปพลิเคชันใช้ที่แตกต่างกันของพวกเขา
กรณีการใช้งานเวิร์กโฟลว์ทั่วไปมีอะไรบ้าง
เวิร์กโฟลว์สามารถช่วยเรื่องปัญหาการคำนวณใดๆ หรือกระบวนการทางธุรกิจที่สามารถแบ่งออกเป็นชุดขั้นตอนได้ เวิร์กโฟลว์ช่วยลดความยุ่งยากในการจัดการงานด้วยการพึ่งพาซึ่งกันและกัน กรณีการใช้งานทั่วไป ได้แก่
- การควบคุมระบบแอปพลิเคชัน — ประสานงานไมโครเซอร์วิสกันอย่างหลวมๆ ซึ่งแต่ละหน่วยจะทำงานในกระบวนการของตัวเองและใช้งานได้อย่างอิสระ ผ่านการสื่อสารเหตุการณ์ รวมฟังก์ชั่นแบบไม่ต้องใช้เซิร์ฟเวอร์เพื่อสร้างแอปพลิเคชันบนเว็บที่มีขั้นตอนการอนุมัติแบบอะซิงโครนัส สำหรับตัวอย่างกรณีการใช้งานเพิ่มเติม โปรดดู การควบคุมระบบไมโครเซอร์วิส ในคู่มือนักพัฒนา AWS Step Functions
- การประมวลผลข้อมูล — รวมข้อมูลจากชุดข้อมูลหลายชุดเป็นรายงานแบบครบวงจร ปรับแต่งและลดชุดข้อมูลขนาดใหญ่ให้เป็นรูปแบบที่มีประโยชน์ หรือประสานงานการวิเคราะห์แบบหลายขั้นตอนและเวิร์กโฟลว์แมชชีนเลิร์นนิ่ง สำหรับตัวอย่างกรณีการใช้งานเพิ่มเติม โปรดดูที่ การประมวลผลข้อมูล ในคู่มือนักพัฒนา AWS Step Functions
- DevOps และระบบไอทีอัตโนมัติ — สร้างเครื่องมือสำหรับการผสานรวมและการนำไปใช้จริงอย่างต่อเนื่อง หรือสร้างแอปพลิเคชันที่ขับเคลื่อนด้วยเหตุการณ์ซึ่งจะตอบสนองต่อการเปลี่ยนแปลงโครงสร้างพื้นฐานโดยอัตโนมัติ สำหรับตัวอย่างกรณีการใช้งานเพิ่มเติม โปรดดู ระบบอัตโนมัติด้านไอทีและการรักษาความปลอดภัย ในคู่มือนักพัฒนา AWS Step Functions
- อีคอมเมิร์ซ — ทำให้กระบวนการทางธุรกิจที่สำคัญต่อภารกิจเป็นไปโดยอัตโนมัติ เช่น การดำเนินการตามคำสั่งซื้อและการติดตามสินค้าคงคลัง
- เว็บแอปพลิเคชัน - ใช้กระบวนการลงทะเบียนผู้ใช้ที่มีประสิทธิภาพและการตรวจสอบสิทธิ์ ตัวเลือกการรวมขั้นตอนสำหรับการตรวจสอบและการรักษาความปลอดภัยที่เพิ่มขึ้น
- แมชชีนเลิร์นนิ่ง — เรียกใช้กระบวนการ Extract, Transform and Load (ETL) เพื่อสร้าง ฝึก และปรับใช้โมเดลแมชชีนเลิร์นนิ่ง ตัวอย่างเช่น การรวบรวมและประมวลผลข้อมูลภาพเพื่อตรวจจับวัตถุภายในสตรีมวิดีโอ เพื่อเพิ่มกล่องจำกัดขนาด หรือเพื่อให้ข้อมูลภาพและข้อมูลเมตาสำหรับการจัดทำรายการข้อมูล สำหรับตัวอย่างกรณีการใช้งานเพิ่มเติม โปรดดูที่ส่วน แมชชีนเลิร์นนิ่ง ในคู่มือนักพัฒนา AWS Step Functions
- การรักษาความปลอดภัยอัตโนมัติ — การวิเคราะห์ตามกำหนดเวลาหรือการตอบสนองเหตุการณ์ด้านความปลอดภัยที่จะเริ่มโดยเหตุการณ์ทรัพยากรที่มีการจัดการ พร้อมเวิร์กโฟลว์ที่กำหนดเองซึ่งจะเรียกใช้ขั้นตอนการตรวจสอบและการแจ้งเตือนตามกฎของธุรกิจ
- การประมวลผลสื่อ — ดึงข้อมูลจากเอกสาร PDF หรือรูปภาพสำหรับการประมวลผล แยกและแปลงรหัสวิดีโอโดยใช้การทำให้ขนานกันขนาดใหญ่ สำหรับตัวอย่างกรณีการใช้งานเพิ่มเติม โปรดดูที่ การประมวลผลสื่อ ในกรณีการใช้งาน AWS Step Functions
คุณจะสร้างเวิร์กโฟลว์ได้อย่างไร
นักพัฒนาเริ่มอาจสร้างโซลูชันโค้ดแบบกำหนดเองและกระบวนการโค้ดอัตโนมัติ โซลูชันเหล่านี้เริ่มต้นได้ง่ายๆ แต่มีแนวโน้มที่จะกลายเป็นสิ่งที่ซับซ้อนและมีแนวโน้มที่จะเกิดข้อผิดพลาดในด้านเวลาและการพัฒนา การดำเนินการที่จำเป็นในการปรับปรุงตรรกะทางธุรกิจนั้นเพิ่มขึ้นและอัตราการเปลี่ยนแปลงช้าลงเมื่อเวลาผ่านไป
คุณสามารถลดความซับซ้อนของโซลูชันแบบสร้างเองได้โดยการนำไลบรารีเฉพาะเวิร์กโฟลว์มาใช้ อย่างไรก็ตามการกำหนดค่าเครื่องมือเหล่านี้อาจเพิ่มความซับซ้อนใหม่ให้กับกระบวนการ ขั้นตอนและสถานะเวิร์กโฟลว์อาจยังยากที่จะเห็นภาพ
การสร้างและการตรวจสอบเวิร์กโฟลว์ขั้นสูงต้องใช้เครื่องมือสร้างภาพเพื่อจัดเรียงสถานะเวิร์กโฟลว์และขั้นตอน ในเครื่องมือเหล่านี้ สามารถจัดการและอัปเดตกฎตรรกะทางธุรกิจได้ การใช้เครื่องมือแบบกราฟิกจะช่วยเพิ่มผลงานของนักพัฒนาและการมองเห็นขั้นตอนการทำงาน และสามารถลดโอกาสเกิดข้อผิดพลาดได้
สำหรับการฝึกปฏิบัติจริงโดยใช้ Workflow Studio แบบเห็นภาพสำหรับนักออกแบบเวิร์กโฟลว์ โปรดดูที่ วิธีสร้างเวิร์กโฟลว์แบบไม่ต้องใช้เซิร์ฟเวอร์ ที่ AWS Developer Center
รูปแบบเวิร์กโฟลว์ทั่วไปมีอะไรบ้าง
เมื่อใช้เวิร์กโฟลว์ คุณสามารถมุ่งเน้นไปที่การกำหนดปฏิสัมพันธ์ขององค์ประกอบได้มากกว่าการเขียนซอฟต์แวร์ที่จะทำให้การปฏิสัมพันธ์ทำงาน
เวิร์กโฟลว์สามารถประสานทั้งไมโครเซอร์วิสและคอนเทนเนอร์เข้าด้วยกันได้ รูปแบบทั่วไปของเวิร์กโฟลว์นั้นมีทั้งการเชื่อมโยงไมโครเซอร์วิส การตอบสนองแบบซิงโครนัสหรืออะซิงโครนัส การปฏิสัมพันธ์กับมนุษย์ การควบคุมระบบคอนเทนเนอร์ และโครีโอกราฟี แบรนชิ่ง และการรับมือกับข้อผิดพลาด
AWS ให้บริการเวิร์กโฟลว์อะไรบ้าง
AWS Step Functions คือบริการเวิร์กโฟลว์ที่แสดงผลด้วยภาพแบบการเขียนโค้ดน้อยที่สุดที่ใช้ในการประสานบริการของ AWS ทำให้กระบวนการทางธุรกิจเป็นอัตโนมัติ และสร้างแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ ฟังก์ชั่นขั้นตอนรวมถึง Workflow Studio ตัวออกแบบเวิร์กโฟลว์แบบลากและวางด้วยการแสดงภาพแบบโลว์โค้ด เครื่องมือจะสร้างฟังก์ชั่นและการกำหนดค่าของคุณโดยอัตโนมัติใน Amazon States Language ซึ่งเป็นภาษาโครงสร้าง JSON ใช้ในการกำหนดสถานะของแมชชีน คุณสามารถใช้ Amazon States Language ในคอนโซลฟังก์ชั่นขั้นตอน หรือส่งออกและแก้ไขได้
Amazon Managed Workflows สำหรับ Apache Airflow (Amazon MWAA) ให้ประสบการณ์ Apache Airflow แบบโอเพนซอร์สเช่นกัน แต่ในรูปแบบบริการที่มีการจัดการอย่างเต็มที่ ใช้ Amazon MWAA เพื่อย้ายโซลูชันที่มีอยู่ในองค์กรของคุณไปยังระบบคลาวด์เพื่อลดต้นทุนการดำเนินงานและปรับใช้ในระดับที่เหมาะสม นักพัฒนาซอฟต์แวร์สามารถเขียนแบบจำลอง Acyclic Graph (DAG) แบบกำกับได้ใน Python เพื่อแสดงถึงงานที่อ้างอิงกันในขณะที่บูรณาการร่วมกับบริการอื่นๆ ของ AWS
เราขอแนะนำให้ใช้ AWS Step Functions สำหรับการใช้งานใหม่ทั้งหมด เนื่องจากเป็นวิธีการที่มีประสิทธิภาพและคล่องตัวมากกว่าในการประสานส่วนประกอบของแอปพลิเคชันโดยใช้เวิร์กโฟลว์ที่เป็นภาพ สำหรับประสบการณ์แบบสัมผัสเองด้วย Step Functions Workflow Studio และ Amazon States Language โปรดดูที่ ฉันจะสร้างเวิร์กโฟลว์แบบไร้เซิร์ฟเวอร์ได้อย่างไร ที่ AWS Developer Center
ขั้นตอนถัดไปกับเวิร์กโฟลว์บน AWS
สร้างเวิร์กโฟลว์ด้วยบริการของ AWS มากกว่า 200 รายการและการดำเนินการ API จำนวน 9,000 รายการ