Apa itu alur kerja?

Alur kerja menjelaskan cara orang menyelesaikan pekerjaan dari awal hingga akhir. Alur kerja terdiri dari langkah dan keadaan dalam suatu proses. Alur kerja dapat muncul sebagai serangkaian langkah dalam daftar periksa, atau sebagai diagram yang memvisualisasikan langkah-langkah tersebut.

Berikut ini adalah contoh alur kerja dukungan sederhana:

  1. Carl, seorang pelanggan, memulai permintaan dukungan.
  2. Kasus terbuka ditugaskan untuk Sasha, Perwakilan Dukungan.
  3. Sasha menerima kasus yang ditugaskan dan meminta informasi kepada Carl. Sambil menunggu balasan, status kasus tertunda.
  4. Setelah Carl memberikan informasi yang diminta, Sasha menjawab dengan solusi lalu memperbarui status kasus untuk diselesaikan.
  5. Carl menerima jawabannya, beserta tautan survei tempat ia dapat memberikan umpan balik mengenai permintaan dukungannya. Dia senang dengan respons cepat Sasha dan memberikan peringkat tinggi dalam survei. Status kasus diperbarui menjadi ditutup.

Dalam alur kerja ini, langkah-langkahnya adalah “mulai”, “tetapkan”, “selesaikan masalah”, dan “tutup”. Statusnya adalah “buka”, “ditetapkan”, “tertunda”, “diselesaikan”, dan “ditutup”. Langkah-langkah untuk memindahkan proses dari status ke status di sepanjang jalur hingga alur kerja selesai.

Apa manfaat menggunakan alur kerja?

Alur kerja menyediakan serangkaian langkah dan tugas berulang yang dapat Anda mulai, jadwalkan, dan pantau.

Anda dapat memvisualisasikan alur kerja untuk pengamatan, memvalidasi kebenaran alur kerja, dan memantau operasi dalam alur kerja.

Dengan alur kerja, bisnis dapat mencapai tingkat keandalan yang lebih baik untuk aplikasi terdistribusi tanpa menambahkan kompleksitas tambahan pada kode mereka. Anda dapat mengotomatiskan, mengoptimalkan, dan menskalakan alur kerja pada tingkat terperinci. 

Apa yang dibawa alur kerja ke arsitektur aplikasi?

Alur kerja mendorong pemisahan logis antara alur kontrol logika bertahap dari tugas dan unit kerja aktual Anda yang berisi logika bisnis unik Anda. Dengan divisi ini, Anda dapat mengelola, memelihara, dan menskalakan mesin status aplikasi secara terpisah dari logika bisnis inti.

Ketika persyaratan bisnis Anda berubah, Anda dapat dengan mudah mengubah logika aplikasi tanpa perlu mengubah mesin status yang mendasarinya, pengiriman tugas, dan kontrol alur.

Bagaimana layanan alur kerja meningkatkan arsitektur aplikasi?

Keandalan

Pemisahan pelacakan status dan pemrosesan tugas membawa keandalan pada arsitektur berbasis cloud. Dengan menggunakan layanan alur kerja, Anda dapat mengirimkan tugas ke komponen aplikasi, melacak kemajuan mereka, dan mengetahui keadaan terbaru dari sistem.

Kesederhanaan

Alur kerja menggantikan kompleksitas solusi buatan internal yang dikodekan khusus dan kode otomatisasi proses.

Tugas yang mendorong langkah-langkah pemrosesan dapat berjalan lama dan mungkin gagal, waktu habis, atau memerlukan mulai ulang. Tugas tersebut seringkali dilengkapi dengan berbagai throughput dan latensi. Dalam semua kasus ini, melacak dan memvisualisasikan tugas bukan hanya pekerjaan yang menantang, tetapi juga tidak berbeda.

Dengan layanan alur kerja, developer dapat menghindari pengelolaan pipa infrastruktur otomatisasi proses. Akibatnya, mereka dapat memfokuskan energi mereka pada fungsionalitas unik dari aplikasi mereka.

Skalabilitas

Layanan alur kerja didesain untuk menskalakan secara mulus dengan penggunaan aplikasi Anda. Anda dapat mengotomatiskan administrasi layanan alur kerja ketika menambahkan lebih banyak alur kerja ke aplikasi Anda, atau meningkatkan kompleksitas alur kerja Anda.

Fleksibilitas

Developer dapat menggunakan layanan alur kerja untuk membuat komponen aplikasi dan logika koordinasi dalam berbagai bahasa pemrograman. Developer kemudian dapat fokus pada logika aplikasi mereka yang berbeda.

Apa saja kasus penggunaan alur kerja umum?

Alur kerja dapat membantu mengatasi masalah komputasi atau proses bisnis yang dapat dibagi menjadi serangkaian langkah. Alur kerja menyederhanakan pengelolaan tugas dengan saling ketergantungan. Kasus penggunaan umum meliputi:

  • Orkestrasi aplikasi - Mengoordinasikan layanan mikro yang digabungkan secara longgar, masing-masing berjalan dalam prosesnya sendiri dan di-deploy secara independen, melalui komunikasi peristiwa. Gabungkan fungsi nirserver untuk membangun aplikasi web dengan langkah persetujuan manusia asinkron. Untuk contoh kasus penggunaan lainnya, lihat Orkestrasi layanan mikro di Panduan Developer AWS Step Functions.
  • Pemrosesan data — Mengonsolidasikan data dari beberapa set data ke dalam laporan terpadu, menyempurnakan dan mengurangi set data besar ke dalam format yang berguna, atau mengoordinasikan analitik multilangkah dan alur kerja machine learning. Untuk contoh kasus penggunaan lainnya, lihat Pemrosesan data dalam Panduan Developer AWS Step Functions.
  • Otomatisasi DevOps dan IT — Bangun alat untuk integrasi dan deployment berkelanjutan, atau buat aplikasi berbasis peristiwa yang secara otomatis merespons perubahan infrastruktur. Untuk contoh kasus penggunaan lainnya, lihat otomatisasi IT dan keamanan di Panduan Developer AWS Step Functions.
  • Perdagangan Elektronik – Otomatiskan proses bisnis yang sangat penting, seperti pemenuhan pesanan dan pelacakan inventaris.
  • Aplikasi web – Terapkan proses pendaftaran dan autentikasi pengguna yang kuat, secara opsional mengintegrasikan langkah-langkah untuk audit dan meningkatkan keamanan.
  • Machine learning – Jalankan tugas extract, transform, and load (ETL) untuk membangun, melatih, dan melakukan deployment model machine learning. Misalnya, mengumpulkan dan memproses data gambar untuk mendeteksi objek dalam streaming video, untuk menambahkan kotak pembatas, atau untuk memberikan informasi visual dan metadata untuk pembuatan katalog data. Untuk contoh kasus penggunaan lainnya, lihat Machine learning dalam Panduan Developer AWS Step Functions.
  • Otomatisasi keamanan — Analisis terjadwal atau respons insiden keamanan yang diprakarsai oleh peristiwa sumber daya terkelola, dengan alur kerja khusus yang menerapkan langkah-langkah audit dan notifikasi tergantung pada aturan bisnis.
  • Pemrosesan media – Ekstrak data dari dokumen atau gambar PDF untuk diproses. Pisahkan dan transkode video menggunakan paralelisasi besar-besaran. Untuk contoh kasus penggunaan lainnya, lihat Pemrosesan Media dalam Kasus Penggunaan AWS Step Functions. 

Bagaimana Anda membuat alur kerja?

Developer awalnya dapat membangun solusi berkode khusus dan kode otomatisasi proses. Solusi ini dimulai dengan sederhana, tetapi cenderung menjadi kompleks dan rawan kesalahan seiring dengan waktu dan pengembangan. Upaya yang diperlukan untuk memperbarui logika bisnis meningkat, dan tingkat perubahan melambat dari waktu ke waktu.

Anda dapat mengurangi beberapa kompleksitas solusi buatan internal dengan mengadopsi pustaka khusus alur kerja. Namun, mengonfigurasi alat-alat ini dapat menambah kompleksitas baru untuk proses. Langkah dan status alur kerja mungkin masih sulit untuk divisualisasikan.

Pembuatan dan pemantauan alur kerja lanjutan membutuhkan alat visual untuk mengatur status dan langkah alur kerja. Dalam alat ini, aturan logika bisnis tersedia untuk dikelola dan diperbarui. Menggunakan alat grafis dapat meningkatkan produktivitas developer dan visibilitas alur kerja, serta dapat mengurangi potensi kesalahan.

Untuk tutorial langsung menggunakan Workflow Studio desainer alur kerja visual, lihat Bagaimana cara saya membuat alur kerja nirserver di AWS Developer Center.

Apa pola alur kerja yang umum?

Dengan menggunakan alur kerja, Anda dapat fokus pada penentuan interaksi komponen, dibandingkan menulis perangkat lunak untuk membuat interaksi bekerja.

Alur kerja dapat mengatur layanan mikro dan kontainer. Pola umum untuk alur kerja termasuk rantai layanan mikro, respons asinkron atau sinkron, interaksi manusia, orkestrasi kontainer dan koreografi, percabangan, dan penanganan kesalahan.

Layanan alur kerja apa yang disediakan AWS?

AWS Step Functions adalah layanan alur kerja visual kode rendah untuk mengatur layanan AWS, mengotomatiskan proses bisnis, dan membangun aplikasi nirserver. Step Functions termasuk Workflow Studio, desainer alur kerja visual drag-and-drop, kode rendah. Alat ini secara otomatis menghasilkan fungsi dan konfigurasi Anda di Amazon States Language, bahasa terstruktur berbasis JSON yang digunakan untuk menentukan mesin status. Anda dapat menggunakan Amazon States Language di konsol Step Functions, atau mengekspor dan mengeditnya.

Amazon Managed Workflows for Apache Airflow (Amazon MWAA) memberikan pengalaman Apache Airflow sumber terbuka yang sama tetapi sebagai layanan terkelola penuh. Gunakan Amazon MWAA untuk memindahkan solusi on-premise yang ada ke cloud guna mengurangi biaya operasional dan melakukan deployment pada skala besar. Developer dapat terus menulis model grafik asiklik terarah (DAG) dalam Python, mendeklarasikan dependensi untuk tugas, sembari berintegrasi dengan layanan AWS lainnya.

Sebaiknya gunakan AWS Step Functions untuk semua aplikasi baru, karena aplikasi ini memberikan pendekatan yang lebih produktif dan tangkas untuk mengoordinasikan komponen aplikasi menggunakan alur kerja visual. Untuk tutorial langsung menggunakan Step Functions Workflow Studio dan Amazon States Language, lihat Cara membuat alur kerja nirserver di AWS Developer Center. 

Langkah berikutnya dengan alur kerja di AWS

Lihat sumber daya terkait produk tambahan
Pelajari selengkapnya tentang layanan integrasi aplikasi 
Daftar tingkat gratis AWS Step Functions

Bangun alur kerja dengan 200+ layanan AWS dan 9.000 tindakan API

Daftar 
Mulai membangun di konsol

Mulai membangun dengan gateway API di konsol manajemen AWS.

Masuk