00:00:00- Hai, selamat pagi, semuanya.
00:00:02Terima kasih banyak telah bergabung hari ini.
00:00:03Saya sangat bersemangat dengan apa yang akan kami bagikan.
00:00:06Jadi, selama satu dekade terakhir, kode yang berjalan di Vercel
00:00:10utamanya dibangun untuk permintaan web langsung.
00:00:14Namun perangkat lunak paling menarik yang dibuat pelanggan kami saat ini
00:00:17tidak lagi sesuai dengan model tersebut.
00:00:20Dan jumlah proyek baru ini meledak pesat.
00:00:23Hanya dalam beberapa bulan terakhir,
00:00:25penerapan mingguan di Vercel telah meningkat dua kali lipat.
00:00:28Dan sepertiga dari penerapan baru tersebut berasal dari agen pengodean,
00:00:31angka yang melonjak seribu persen
00:00:34hanya dalam enam bulan.
00:00:35Tapi bagian yang paling menarik bagi saya
00:00:38bukan seberapa banyak yang diterapkan, tapi apa yang diterapkan.
00:00:41Agen-agen itu meluncurkan agen lain.
00:00:44Dan agen yang dibangun pelanggan kami,
00:00:48mereka tidak hanya merespons sekali lalu menunggu.
00:00:50Mereka perlu menalar, memanggil alat, menunggu manusia,
00:00:53lalu melakukan semuanya lagi.
00:00:55Dan setiap alur kerja itu butuh backend yang bisa mengimbangi.
00:00:58Jadi, apa yang saya lihat di Vercel
00:01:02adalah tim yang meluncurkan paling cepat saat ini,
00:01:05mereka tidak membangun ulang infrastruktur
00:01:07dan mengodekan antrean sendiri,
00:01:08atau menulis logika percobaan ulang dari awal,
00:01:11atau bahkan menyusun observabilitas.
00:01:13Hal-hal itu sudah dilakukan.
00:01:15Jadi mereka menggunakan primitif infrastruktur kami,
00:01:17hal-hal yang kami bangun selama satu dekade terakhir,
00:01:20sehingga mereka bisa memusatkan seluruh fokus pada produk mereka.
00:01:24Dan itulah masalah yang kami bangun untuk diselesaikan lewat Workflows.
00:01:27Kami meluncurkannya dalam versi beta enam bulan lalu,
00:01:30dan tanggapannya sangat luar biasa.
00:01:33Dan sekarang, setelah seratus juta eksekusi,
00:01:36kami sangat senang mengumumkan bahwa Workflows sudah GA, hari ini.
00:01:41Mari saya tunjukkan cara kerjanya.
00:01:43Aplikasi yang akan saya tunjukkan
00:01:44adalah pembuat kartu ulang tahun yang saya buat.
00:01:47Bisa jadi apa saja, sebenarnya,
00:01:49tapi ini mencakup semua hal yang baru kita bicarakan.
00:01:51Ini tidak cukup dalam satu permintaan tunggal,
00:01:54ia menunggu manusia, mencoba ulang saat gagal,
00:01:57dan mengalirkan progres secara real-time ke pengguna.
00:02:00Jadi, beginilah cara kerjanya.
00:02:02Mari saya kirim kartu untuk diri sendiri,
00:02:04dan saya akan mulai dengan memasukkan email saya.
00:02:05Selanjutnya, saya akan memilih tanggal,
00:02:09dan saya akan memilih tanggal 23 April.
00:02:11Saya suka api unggun untuk ulang tahun saya,
00:02:14jadi saya pilih api unggun Ocean Beach,
00:02:17dan saya mengirimnya ke diri sendiri, untuk Pernet.
00:02:21Dan saya masukkan email sendiri agar demonya mudah.
00:02:24Jadi, saya akan melakukan RSVP untuk ulang tahun saya sendiri.
00:02:27Keren, sekarang saya klik Generate dan Send,
00:02:30dan saya akan melihat kartu ulang tahun mulai dibuat.
00:02:34Saya akan buka dasbor Vercel
00:02:35di mana saya bisa melihat eksekusi ini baru saja masuk.
00:02:37Mari kita klik.
00:02:39Dan saya bisa melihat ini secara real-time saat ia membuat perintah,
00:02:42lalu menghasilkan pesan,
00:02:43dan juga menghasilkan gambar.
00:02:45Inilah observabilitas yang kita bicarakan.
00:02:48Setiap langkah terlihat di sini.
00:02:50Anda bisa melihat apa yang sedang berjalan,
00:02:52apa yang sudah selesai, dan apa yang sedang menunggu.
00:02:54Di sisi pengguna,
00:02:57saya bisa melihat kartunya telah dibuat,
00:02:58dan email RSVP telah dikirim.
00:03:01Pada titik ini, alur kerja ditangguhkan.
00:03:04Tidak ada komputasi yang sebenarnya terjadi.
00:03:07Ia menunggu tanggapan manusia,
00:03:09dan saya bisa masuk ke email, membalas sekarang,
00:03:12atau menunggu beberapa jam atau hari lalu membalas.
00:03:15Ini akan terus melacak progresnya.
00:03:18Sekarang, sebelum saya menunjukkan emailnya,
00:03:20saya ingin menunjukkan CLI-nya.
00:03:22Workflow hadir dengan CLI sejak hari pertama
00:03:25yang memungkinkan Anda memeriksa semua yang tersedia
00:03:27di dasbor observabilitas.
00:03:29Ini berarti Anda dan agen Anda
00:03:32memiliki akses ke gambaran lengkap
00:03:35saat mencoba mendebung sesuatu yang salah.
00:03:37Oke, beralih ke email saya.
00:03:40Saya seharusnya melihat emailnya masuk.
00:03:43Nah, itu dia.
00:03:44Dan ini hanya meminta saya untuk RSVP.
00:03:46Saya klik ya, itu sudah di sana.
00:03:49Kembali ke dasbor, saya lihat hook dilanjutkan,
00:03:53dan seharusnya masuk ke mode tidur.
00:03:55Kembali ke dasbor pengguna, dan saya akan melihat hal yang sama.
00:03:58Kita tidak lagi menunggu RSVP,
00:04:00dan sekarang hanya menunggu tanggal 23,
00:04:01sehingga bisa mengirimkan ucapan ulang tahun.
00:04:03Saya tidak ingin membuat Anda menunggu dua minggu,
00:04:05jadi saya kembali ke dasbor
00:04:06dan membangunkan mode tidur di sini.
00:04:09Itu akan segera melanjutkan alur kerja,
00:04:12dan kita akan melihat alur kerjanya selesai.
00:04:14Mari kembali ke dasbor pengguna.
00:04:17Kartu pos telah dikirim.
00:04:18Dan di email, saya seharusnya mendapat kartu ulang tahun
00:04:22beserta RSVP-nya juga.
00:04:23Keren.
00:04:24Sekarang, saya ingin menunjukkan kodenya,
00:04:26dan ingat apa yang kita katakan tadi.
00:04:29Tim yang meluncurkan tercepat saat ini tidak berurusan dengan antrean
00:04:32serta mengelola status dan infrastruktur.
00:04:34Itu cara lama.
00:04:35Dalam Workflow, semua yang kita lihat hari ini
00:04:38adalah fungsi tunggal,
00:04:40dan dimulai dengan arahan ini, useWorkflow.
00:04:43Arahan inilah yang memungkinkan fungsi ini berjalan selama berhari-hari,
00:04:48ditangguhkan antar langkah, dan dilanjutkan tepat di tempat terakhirnya.
00:04:52Jadi ketika alur kerja memanggil sebuah langkah,
00:04:53seperti membuat perintah atau menghasilkan gambar,
00:04:56alur kerja menangguhkan fungsinya,
00:04:58mengantrekan pekerjaan di latar belakang.
00:05:00Ia bahkan akan mencobanya lagi jika gagal,
00:05:02lalu melanjutkan alur kerja saat selesai.
00:05:05Sepanjang waktu, saya mendapat observabilitas penuh
00:05:07di dasbor Vercel untuk setiap langkah dalam perjalanannya.
00:05:11Saya bahkan bisa mengeklik salah satunya,
00:05:13dan secara default, di Vercel, semuanya terenkripsi,
00:05:16tapi saya akan dekripsi datanya agar Anda bisa melihat inputnya.
00:05:19Ya, ini tersedia baik di dasbor maupun CLI.
00:05:22Workflows juga dilengkapi dengan streaming bawaan.
00:05:24Inilah cara saya mengirim pembaruan real-time ke klien
00:05:29untuk melacak progres secara langsung.
00:05:31Saya tidak perlu menggunakan database tertentu
00:05:33hanya untuk melakukan ini.
00:05:34Klien bahkan bisa terputus dan terhubung kembali dengan baik.
00:05:37Ini adalah aliran yang persisten.
00:05:39Baiklah, dan inilah hook-nya.
00:05:42Untuk setiap RSVP, saya membuat URL webhook fana
00:05:46secara langsung, lalu saya mengirimkannya melalui email,
00:05:50dan saya cukup menunggunya di bawah sini.
00:05:52Alur kerjanya berhenti tepat di sini
00:05:56sampai setiap orang mengeklik tautan mereka.
00:05:59Tidak ada database yang terlibat,
00:06:01dan hasilnya bahkan hanya tersimpan dalam variabel JavaScript lokal.
00:06:05Alur kerja menahan semua statusnya sendiri.
00:06:08Inilah mekanisme sistem terdistribusi
00:06:11yang kita katakan tadi sudah tidak perlu lagi.
00:06:12Anda tidak perlu memikirkan hal-hal ini lagi.
00:06:14Terakhir, mari kita buat mode tidur di akhir
00:06:17untuk tidur sampai ulang tahun saya.
00:06:18Ada di sini.
00:06:19Tidur ini bisa beberapa detik,
00:06:21hari, atau bahkan berminggu-minggu seperti yang baru saja kita lakukan.
00:06:24Dan selama tidur, alur kerjanya hanya ditangguhkan
00:06:27dengan nol penggunaan komputasi.
00:06:29Saat bangun, ia berlanjut tepat di tempat terakhirnya,
00:06:33sambil mempertahankan status di sepanjang jalan.
00:06:34Dan inilah keseluruhannya.
00:06:37Ini adalah satu fungsi yang bisa Anda baca dari atas ke bawah
00:06:40dan dipahami alurnya dari awal hingga akhir.
00:06:43Setiap langkah didukung oleh antrean,
00:06:45dicoba ulang secara otomatis,
00:06:47dan berjalan pada fungsi serverless-nya sendiri.
00:06:49Tidak ada batas waktu habis (timeout),
00:06:51jadi alur kerja bisa berjalan selama yang dibutuhkan.
00:06:54Inilah maksud kami
00:06:56saat kami bilang Vercel menangani semuanya di balik layar.
00:06:59Anda cukup menulis logikanya dan kami urus sisanya.
00:07:02Dalam demo ini, saya menunjukkan kasus penggunaan yang sederhana,
00:07:07tapi pelanggan kami menggunakan Workflows
00:07:09untuk menjalankan agen dalam produksi pada skala yang luar biasa.
00:07:12Mux menggunakan Workflows untuk memastikan pipa pembuatan video
00:07:17berjalan andal setiap saat.
00:07:19Dan Flora mengorkestrasi agen kreatif paralel
00:07:23di 50 model pembuatan gambar, semuanya dengan Workflow.
00:07:27Durable adalah tim kecil
00:07:30yang menghosting 3 juta situs web pelanggan,
00:07:33dan mereka menggunakan Workflows untuk meluncurkan agen baru
00:07:35kepada pengguna mereka setiap hari.
00:07:38Sekarang, saya memulai demo ini
00:07:40dengan mengatakan bahwa perangkat lunak paling menarik
00:07:42yang dibangun pelanggan kami tidak lagi cukup dalam satu permintaan.
00:07:46Dan kami melihat semakin banyak aplikasi seperti ini
00:07:50diterapkan setiap hari.
00:07:51Agen meluncurkan agen,
00:07:54dan tim yang membangunnya tidak lagi memikirkan antrean,
00:07:58mereka fokus pada masalah pelanggan mereka.
00:08:01Dan pergeseran ini tidak hanya terjadi di dalam Vercel.
00:08:05Penerapan pelanggan kami meningkat dua kali lipat,
00:08:07dan semakin sedikit insinyur yang membangun infrastruktur secara manual.
00:08:11Jadi aplikasi atau agen apa pun yang ingin Anda bangun,
00:08:16Workflows akan membuatnya andal,
00:08:18berjalan lama, tahan lama, dan dapat diamati.
00:08:22Dari laptop Anda hingga satu juta pengguna
00:08:25semuanya dengan kode aplikasi yang sama.
00:08:27Workflows tersedia secara umum hari ini,
00:08:31jadi silakan luncurkan sesuatu yang berhasil.
00:08:37[AUDIO KOSONG]