Bagikan melalui


Tutorial: Membuat alur kerja otomatis berbasis jadwal menggunakan Azure Logic Apps

Berlaku pada: Azure Logic Apps (Konsumsi)

Tutorial ini menunjukkan cara membuat contoh alur kerja yang berjalan pada jadwal berulang dengan menggunakan Azure Logic Apps. Contoh ini secara khusus membuat alur kerja aplikasi logika Konsumsi yang memeriksa waktu perjalanan, termasuk lalu lintas, antara dua tempat dan berjalan setiap pagi hari kerja. Apabila waktunya melebihi batas tertentu, alur kerja mengirimkan surel yang mencakup waktu perjalanan dan waktu tambahan yang diperlukan untuk tiba di tujuan Anda. Alur kerja mencakup berbagai langkah, yang dimulai dengan pemicu berbasis jadwal diikuti dengan tindakan Bing Maps, tindakan operasi data, tindakan alur kontrol, dan tindakan pemberitahuan surel.

Setelah selesai, alur kerja Anda terlihat seperti contoh tingkat tinggi berikut:

Cuplikan layar memperlihatkan contoh alur kerja Konsumsi yang berjalan dengan pemicu Pengulangan.

Tip

Untuk mempelajari lebih lanjut, Anda dapat mengajukan pertanyaan-pertanyaan ini kepada Azure Copilot:

  • Apa itu Azure Logic Apps?
  • Apa itu alur kerja aplikasi logika Konsumsi?
  • Apa konektor Bing Maps?
  • Apa itu tindakan Operasi Data?
  • Apa itu tindakan alur kontrol?
  • Apa itu konektor Office 365 Outlook?

Untuk menemukan Azure Copilot, pada toolbar portal Azure, pilih Copilot.

Anda dapat membuat alur kerja serupa dengan sumber daya aplikasi logika Standar. Namun, pengalaman pengguna dan langkah-langkah tutorial sedikit bervariasi dari versi Konsumsi.

Prasyarat

  • Akun dan langganan Azure. Jika Anda tidak memiliki langganan, daftar untuk mendapatkan akun Azure secara gratis.

  • Akun email dari penyedia email yang didukung oleh Azure Logic Apps, seperti Office 365 Outlook atau Outlook.com. Untuk penyedia email lain yang didukung, lihat Konektor untuk Azure Logic Apps.

    Tutorial ini menggunakan Office 365 Outlook dengan akun kerja atau sekolah. Jika Anda menggunakan akun email yang berbeda, langkah-langkah umum tetap sama, tetapi pengalaman pengguna mungkin sedikit berbeda. Jika Anda menggunakan Outlook.com, gunakan akun Microsoft pribadi Anda sebagai gantinya untuk masuk.

    Penting

    Apabila Anda ingin menggunakan konektor Gmail, hanya akun bisnis G-Suite yang dapat menggunakan konektor ini tanpa pembatasan dalam akur kerja aplikasi logika. Jika memiliki akun konsumen Gmail, Anda dapat menggunakan konektor ini hanya dengan layanan tertentu yang disetujui Google, atau Anda dapat membuat aplikasi klien Google untuk digunakan sebagai autentikasi dengan konektor Gmail Anda. Untuk informasi selengkapnya, lihatKebijakan keamanan dan privasi data untuk konektor Google di Azure Logic Apps.

  • Untuk mendapatkan waktu perjalanan rute, Anda memerlukan kunci akses untuk Bing Maps API. Untuk mendapatkan kunci ini, ikuti langkah-langkahcara mendapatkan kunci Bing Maps.

  • Apabila alur kerja Anda perlu berkomunikasi melalui firewall yang membatasi lalu lintas ke alamat IP tertentu, firewall tersebut harus mengizinkan akses untuk kedua alamat IP, yakni alamat IP masuk dan keluar yang digunakan oleh Azure Logic Apps di wilayah Azure tempat sumber daya aplikasi logika Anda berada. Apabila alur kerja Anda juga menggunakan konektor terkelola, seperti konektor Office 365 Outlook atau konektor SQL, atau menggunakan konektor kustom, firewall juga perlu mengizinkan akses untuk semua alamat IP keluar konektor terkelola di wilayah Azure sumber daya aplikasi logika Anda.

Membuat sumber daya aplikasi logika Konsumsi

  1. Di portal Azure, masuk dengan akun Azure Anda.

  2. Di kotak pencarian portal Azure, masukkan aplikasi logika, dan pilih Aplikasi logika.

    Cuplikan layar memperlihatkan kotak pencarian portal Azure dengan aplikasi logika dimasukkan dan opsi yang dipilih untuk Aplikasi logika.

  3. Pada toolbar halaman Aplikasi logika, pilih Tambahkan.

    Halaman Buat Aplikasi Logika muncul dan memperlihatkan opsi berikut:

    Paket Deskripsi
    Consumption Membuat sumber daya aplikasi logika yang hanya mendukung satu alur kerja yang berjalan di Azure Logic Apps multipenyewa dan menggunakan model Konsumsi untuk penagihan.
    Standard Membuat sumber daya aplikasi logika yang mendukung beberapa alur kerja. Anda memiliki opsi berikut:

    - Paket Layanan Alur Kerja: Alur kerja berjalan di Azure Logic Apps penyewa tunggal dan menggunakan model Standar untuk penagihan.

    - App Service Environment V3: Alur kerja berjalan di Azure Logic Apps penyewa tunggal dan menggunakan paket Lingkungan App Service untuk penagihan.
  4. Pada halaman Buat Aplikasi Logika, pilih Konsumsi (Multi-penyewa).

  5. Pada tab Dasar , berikan informasi berikut tentang sumber daya aplikasi logika Anda:

    Properti Wajib Nilai Deskripsi
    Langganan Ya <Azure-subscription-name> Nama langganan Azure Anda.

    Contoh ini menggunakan Pay-As-You-Go.
    Grup Sumber Daya Ya <Azure-resource-group-name> Grup sumber daya Azure tempat Anda membuat aplikasi logika dan sumber daya terkait. Nama ini harus unik di seluruh wilayah dan hanya dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), tanda kurung (()), dan periode (.).

    Contoh ini membuat grup sumber daya bernama LA-TravelTime-RG.
    Nama Aplikasi Logika Ya <logic-app-resource-name> Nama sumber daya aplikasi logika Anda, yang harus unik di seluruh wilayah dan hanya dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), tanda kurung (()), dan titik (.).

    Contoh ini membuat sumber daya aplikasi logika bernama LA-TravelTime.
    Wilayah Ya <Wilayah-Azure> Wilayah pusat data Azure untuk aplikasi Anda.

    Contoh ini menggunakan US Barat.
    Mengaktifkan analitik log Ya Tidak Ubah opsi ini hanya saat Anda ingin mengaktifkan pembuatan log diagnostik. Untuk tutorial ini, biarkan pilihan default.

    Catatan: Opsi ini hanya tersedia dengan aplikasi logika Konsumsi.

    Catatan

    Zona ketersediaan secara otomatis diaktifkan untuk alur kerja aplikasi logika Konsumsi baru dan yang sudah ada di wilayah Azure yang mendukung zona ketersediaan. Untuk informasi selengkapnya, lihat Keandalan di Azure Functions dan Melindungi aplikasi logika dari kegagalan wilayah dengan redundansi zona dan zona ketersediaan.

    Setelah selesai, pengaturan Anda terlihat mirip dengan contoh berikut:

    Cuplikan layar memperlihatkan portal Azure dan halaman pembuatan untuk aplikasi dan detail logika Konsumsi multipenyewa.

  6. Setelah selesai, pilih Tinjau + buat. Setelah Azure memvalidasi informasi mengenai sumber daya aplikasi logika Anda, pilih Buat.

  7. Setelah Azure menyebarkan sumber daya aplikasi logika Anda, pilih Buka sumber daya. Atau, temukan dan pilih sumber daya aplikasi logika Anda dengan menggunakan kotak pencarian Azure.

Selanjutnya, tambahkan pemicu Jadwal bernama Pengulangan, yang menjalankan alur kerja berdasarkan jadwal yang ditentukan. Setiap alur kerja harus dimulai dengan pemicu, yang aktif saat peristiwa tertentu terjadi atau ketika data baru memenuhi kondisi tertentu.

Tambah pemicu Pengulangan

  1. Pada perancang alur kerja, ikuti langkah-langkah umum ini untuk menambahkan pemicu Jadwal bernama Pengulangan.

  2. Ganti nama pemicu Pengulangan dengan judul berikut: Periksa waktu perjalanan setiap pagi hari kerja.

    Cuplikan layar memperlihatkan perancang alur kerja dan panel informasi untuk pemicu Pengulangan dengan pemicu yang diganti namanya.

  3. Dalam kotak informasi pemicu, berikan informasi berikut:

    Parameter Nilai Deskripsi
    Interval 1 Jumlah interval untuk menunggu di antara pemeriksaan
    Frekuensi Minggu Satuan waktu yang digunakan untuk pengulangan
    Pada hari-hari ini Senin, Selasa, Rabu, Kamis, Jumat Pengaturan ini hanya tersedia jika Anda menyetel FrekuensikeMinggu.
    Pada jam-jam ini 7, 8, 9 Pengaturan ini hanya tersedia jika Anda menyetelFrekuensikeMingguatauHari. Untuk pengulangan ini, pilih jam dalam sehari. Contoh ini berjalan pada tanda 7, 8, dan 9 jam.
    Pada menit-menit ini 0, 15, 30, 45 Pengaturan ini hanya tersedia jika Anda menyetelFrekuensikeMingguatauHari. Untuk pengulangan ini, pilih menit dalam sehari. Contoh ini dimulai pada tanda jam nol dan berjalan setiap 15 menit.

    Setelah selesai, kotak informasi pemicu tampak mirip dengan contoh berikut:

    Cuplikan layar memperlihatkan properti terkait minggu yang diatur ke nilai yang dijelaskan dalam tabel sebelumnya.

    Pemicu ini diaktifkan setiap hari kerja, setiap 15 menit, mulai pukul 07.00 dan berakhir pada pukul 09.45. KotakPratinjaumenunjukkan jadwal pengulangan. Selengkapnya, lihatJadwalkan tugas dan alur kerjadantindakan dan pemicu Alur Kerja.

  4. Simpan alur kerja Anda. Di bar alat perancang, pilih Simpan.

Sumber daya aplikasi logika dan alur kerja yang diperbarui sekarang berada di portal Azure. Namun, alur kerja hanya memicu berdasarkan jadwal yang ditentukan dan tidak melakukan tindakan lain. Jadi, tambah tindakan yang merespons saat pemicu diaktifkan.

Dapatkan waktu perjalanan untuk rute

Sekarang setelah Anda memiliki pemicu, tambahkan tindakan Bing Maps yang mendapatkan waktu perjalanan di antara dua tempat. Azure Logic Apps menyediakan konektor untuk Bing Maps API sehingga Anda dapat dengan mudah mendapatkan informasi ini. Sebelum memulai tugas ini, pastikan Anda memiliki kunci Bing Maps API seperti yang dijelaskan dalam prasyarat tutorial ini.

  1. Di perancang alur kerja, di bawah pemicu Pengulangan , ikuti langkah-langkah umum ini untuk menambahkan tindakan Bing Maps bernama Dapatkan rute.

  2. Jika Anda tidak memiliki koneksi Bing Maps, Anda akan diminta untuk membuat koneksi. Berikan informasi koneksi berikut, dan pilih Buat.

    Parameter Wajib Nilai Deskripsi
    Nama Koneksi Ya <Bing-Maps-connection-name> Siapkan nama untuk koneksi Anda. Contoh ini menggunakan BingMapsConnection.
    Kunci API Ya <Kunci-Bing-Maps-API> Masukkan kunci Bing Maps API yang sebelumnya Anda terima. Jika Anda tidak memiliki kunci Bing Maps, pelajari cara mendapatkan kunci.

    Contoh berikut menunjukkan contoh informasi koneksi:

    Cuplikan layar memperlihatkan kotak koneksi Bing Maps dengan nama koneksi contoh dan kunci Bing Maps API.

  3. Ganti nama tindakan Dapatkan rute dengan judul berikut: Dapatkan rute dan waktu perjalanan dengan lalu lintas.

  4. Dalam tindakan, buka daftar Parameter tingkat lanjut, dan tambahkan properti berikut:

    • Optimalkan
    • Unit Jarak
    • Mode Perjalanan
  5. Sekarang masukkan nilai untuk properti tindakan berikut:

    Parameter Nilai Deskripsi
    Titik jalan 1 <lokasi-awal> Asal rute Anda. Contoh ini menentukan contoh alamat awal.
    Titik jalan 2 <lokasi-akhir> Tujuan rute anda. Contoh ini menentukan contoh alamat tujuan.
    Optimalkan timeWithTraffic Parameter untuk mengoptimalkan rute Anda, seperti jarak, waktu perjalanan dengan lalu lintas saat ini, dan sebagainya. Pilih nilai parameter, timeWithTraffic.
    Unit Jarak <preferensi Anda> Unit jarak untuk rute Anda. Contoh ini menggunakan Mil sebagai unit.
    Mode Perjalanan Mengemudi Mode perjalanan untuk rute Anda. Pilih mode Mengemudi.

    Selengkapnya tentang parameter dan nilai ini, lihatMenghitung rute.

    Contoh berikut menunjukkan contoh informasi tindakan:

    Cuplikan layar memperlihatkan tindakan yang telah selesai bernama Dapatkan rute.

  6. Di bar alat perancang, pilih Simpan.

Selanjutnya, buat variabel untuk mengonversi dan menyimpan waktu perjalanan saat ini sebagai menit, bukan detik. Dengan demikian, Anda dapat menghindari pengulangan konversi dan menggunakan nilai dengan lebih mudah di langkah-langkah selanjutnya.

Buat variabel untuk menyimpan waktu perjalanan

Terkadang, Anda mungkin ingin menjalankan operasi pada data di alur kerja Anda, lalu menggunakan hasilnya di tindakan selanjutnya. Untuk menyimpan hasil ini sehingga dapat digunakan kembali atau dibuat referensinya dengan mudah, Anda dapat membuat variabel yang menyimpan hasil tersebut setelah pemrosesan. Anda hanya dapat membuat variabel di tingkat atas di alur kerja Anda.

Secara default, tindakanDapatkan rutemengembalikan waktu perjalanan saat ini dengan lalu lintas dalam hitungan detik dari propertiLalu Lintas Durasi Perjalanan. Dengan mengonversi dan menyimpan nilai ini sebagai menit, Anda membuat nilai lebih mudah digunakan kembali nanti tanpa mengonversi lagi.

  1. Di bawah tindakan Dapatkan rute, ikuti langkah-langkah umum ini untuk menambahkan tindakan Variabel bernama Inisialisasi variabel.

  2. Ganti nama Inisialisasi tindakan variabel dengan judul berikut: Buat variabel untuk menyimpan waktu perjalanan.

  3. Berikan informasi tindakan berikut:

    Parameter Nilai Deskripsi
    Nama travelTime Nama untuk variabel Anda. Contoh ini menggunakantravelTime.
    Jenis Bilangan bulat Jenis data untuk variabel Anda
    Nilai <nilai awal> Ekspresi yang mengonversi waktu perjalanan saat ini dari detik ke menit (lihat langkah-langkah di bawah tabel ini).

    Untuk membuat ekspresi untuk properti Nilai , ikuti langkah-langkah berikut:

    1. Pilih di dalam kotak Nilai , yang memperlihatkan opsi untuk daftar konten dinamis (ikon kilat) dan editor ekspresi (ikon rumus), lalu pilih editor ekspresi.

      Cuplikan layar memperlihatkan tindakan bernama Inisialisasi variabel dengan kursor di dalam properti Nilai.

      Editor ekspresi menyediakan fungsi yang dapat Anda gunakan untuk melakukan operasi dalam ekspresi Anda. Daftar konten dinamis menyediakan output dari tindakan sebelumnya yang dapat Anda pilih sebagai input untuk digunakan dengan tindakan berikutnya dalam alur kerja Anda.

    2. Di editor ekspresi, masukkan ekspresi berikut: div(,60)

      Cuplikan layar memperlihatkan editor ekspresi dengan ekspresi yang dimasukkan untuk div(,60).

    3. Dalam ekspresi, letakkan kursor Anda di antara tanda kurung kiri (() dan koma (,), lalu pilih Konten dinamis.

      Cuplikan layar memperlihatkan tempat meletakkan kursor dalam ekspresi div(,60) dan pilih Konten dinamis.

    4. Di daftar konten dinamis, di bawah pilih nilai output, Lalu Lintas Durasi Perjalanan.

      Jika output tidak muncul, di daftar konten dinamis, di samping nama tindakan, pilih Lihat selengkapnya.

      Cuplikan layar memperlihatkan nilai yang dipilih untuk output bernama Lalu Lintas Durasi Perjalanan.

    5. Setelah nilai output diselesaikan di dalam ekspresi, pilih Tambahkan.

      Cuplikan layar memperlihatkan tombol Tambahkan yang dipilih.

      Contoh berikut menunjukkan bagaimana properti Nilai sekarang muncul:

      Cuplikan layar memperlihatkan properti Nilai dengan ekspresi terselesaikan.

  4. Simpan alur kerja Anda. Di bar alat perancang, pilih Simpan.

Selanjutnya, tambah kondisi yang memeriksa apakah waktu perjalanan saat ini lebih besar dari batas tertentu.

Bandingkan waktu perjalanan dengan batas

  1. Di bawah tindakan Buat variabel untuk menyimpan waktu perjalanan, ikuti langkah-langkah umum ini untuk menambahkan tindakan Kontrol bernama Kondisi.

  2. Ganti nama kondisi dengan judul berikut: Jika waktu perjalanan melebihi batas

  3. Buat kondisi yang memeriksa apakah nilai output travelTime melebihi batas yang Anda tentukan seperti yang dijelaskan dan ditunjukkan di sini:

    1. Dalam kondisi, di sisi kiri kondisi, pilih di dalam kotak Pilih nilai , lalu pilih opsi untuk daftar konten dinamis (ikon petir).

    2. Di bawah Variabel, pilih output bernama travelTime.

      Cuplikan layar memperlihatkan kotak kiri bernama Pilih nilai, daftar konten dinamis yang dibuka, dan output travelTime dipilih.

    3. Di kotak perbandingan tengah, pilih operator bernama lebih besar dari.

    4. Di sisi kanan kondisi, dalam kotak Pilih nilai , masukkan nilai berikut: 15

      Setelah selesai, kondisinya terlihat seperti contoh berikut:

      Cuplikan layar memperlihatkan kondisi selesai untuk membandingkan waktu perjalanan dengan batas yang ditentukan.

  4. Simpan alur kerja Anda. Di bar alat perancang, pilih Simpan.

Selanjutnya, tambah tindakan untuk dijalankan saat waktu perjalanan melebihi batas Anda.

Kirim surel saat batas terlampaui

Sekarang, tambahkan tindakan yang mengirim email saat waktu perjalanan melebihi batas Anda. Surel ini mencakup waktu perjalanan saat ini dan waktu tambahan yang diperlukan untuk menempuh rute yang ditetapkan.

  1. Di cabang True kondisi, pilih tanda plus (+), lalu pilih Tambahkan tindakan.

  2. Ikuti langkah-langkah umum ini untuk menambahkan tindakan Office 365 Outlook bernama Kirim email.

    • Untuk akun kerja atau sekolah Azure, pilih versi Office 365 Outlook .
    • Untuk akun Microsoft pribadi, pilih versi Outlook.com .

    Contoh ini berlanjut dengan memilih Office 365 Outlook.

    Cuplikan layar memperlihatkan tindakan Office 365 Outlook dipilih bernama Kirim email.

  3. Jika Anda belum memiliki koneksi, masuk dan autentikasi akses ke akun surel Anda saat diminta.

    Azure Logic Apps membuat koneksi ke akun surel Anda.

  4. Mengganti nama tindakan dengan judul berikut: Mengirim email dengan waktu perjalanan

  5. Untuk properti Kepada, masukkan alamat surel penerima. Untuk tujuan pengujian, Anda dapat menggunakan alamat surel Anda sendiri.

  6. Untuk properti Subjek, tetapkan subjek surel, dan sertakan variabel travelTime dengan mengikuti langkah-langkah berikut:

    1. Masukkan teks Waktu perjalanan saat ini (menit): dengan spasi berikutnya. Pertahankan kursor Anda dalam kotak Subjek , dan pilih opsi untuk daftar konten dinamis (ikon petir).

    2. Di daftar konten dinamis, di bagian Variabel , pilih variabel bernama travelTime.

      Catatan

      Jika daftar konten dinamis tidak secara otomatis menampilkan variabel travelTime , di samping label Variabel , pilih Lihat selengkapnya. Variabel mungkin tidak muncul karena properti Subjek mengharapkan nilai string, sementara travelTime adalah bilangan bulat.

  7. Untuk properti Isi, tentukan konten untuk isi surel dengan mengikuti langkah-langkah berikut:

    1. Masukkan teks Tambahkan waktu perjalanan tambahan (menit): dengan spasi berikutnya. Pertahankan kursor Anda dalam kotak Isi , dan pilih opsi untuk editor ekspresi (ikon rumus).

    2. Di penyunting ekspresi, masukkan sub(,15) sehingga Anda dapat menghitung jumlah menit yang melebihi batas:

      Cuplikan layar memperlihatkan editor ekspresi dengan sub(,15) dimasukkan.

    3. Dalam ekspresi, letakkan kursor Anda di antara tanda kurung kiri (() dan koma (,), lalu pilih Konten dinamis.

      Cuplikan layar memperlihatkan tempat meletakkan kursor dalam ekspresi sub(,15), dan pilih Konten dinamis.

    4. Di bawah Variabel, pilih travelTime.

      Cuplikan layar memperlihatkan daftar konten dinamis dengan variabel travelTime dipilih.

    5. Setelah variabel diselesaikan di dalam ekspresi, pilih Tambahkan.

      Properti Isi sekarang muncul seperti yang ditunjukkan di sini:

      Cuplikan layar memperlihatkan ekspresi yang diselesaikan di properti Isi tindakan email.

  8. Simpan alur kerja Anda. Di bar alat perancang, pilih Simpan.

Selanjutnya, uji dan jalankan alur kerja Anda, yang sekarang terlihat mirip dengan contoh berikut:

Cuplikan layar memperlihatkan contoh alur kerja aplikasi logika lengkap.

Jalankan alur kerja Anda

Untuk memulai alur kerja Anda secara manual, pada toolbar perancang, pilih Jalankan Jalankan>.

  • Apabila waktu perjalanan saat ini tidak melebihi batas, alur kerja Anda tidak melakukan hal lain dan menunggu interval berikutnya sebelum memeriksa lagi.

  • Jika waktu perjalanan saat ini melebihi batas, Anda akan mendapatkan surel dengan waktu perjalanan saat ini dan jumlah menit di atas batas Anda. Contoh berikut menunjukkan contoh email yang dikirim alur kerja Anda:

    Cuplikan layar memperlihatkan contoh email yang melaporkan waktu perjalanan saat ini dan waktu perjalanan tambahan yang melebihi batas yang Anda tentukan.

    Tip

    Jika Anda tidak mendapatkan surel apa pun, periksa folder sampah surel Anda. Filter sampah surel Anda mungkin mengalihkan jenis surel ini. Sebaliknya, apabila Anda tidak yakin bahwa alur kerja Anda berjalan dengan benar, lihat Memecahkan masalah alur kerja Anda.

Selamat, Anda membuat dan menjalankan alur kerja berulang berbasis jadwal!

Membersihkan sumber daya

Alur kerja Anda terus berjalan hingga Anda menonaktifkan atau menghapus sumber daya aplikasi logika. Saat Anda tidak lagi memerlukan sampel ini, hapus grup sumber daya yang berisi aplikasi logika dan sumber daya terkait.

  1. Di kotak pencarian portal Azure, masukkan grup sumber daya, dan pilih Grup sumber daya.

  2. Dari daftar Grup sumber daya, pilih grup sumber daya untuk tutorial ini.

  3. Pada menu grup sumber daya, pilih Gambaran Umum.

  4. Pada toolbar halaman Gambaran Umum , pilih Hapus grup sumber daya.

  5. Saat panel konfirmasi muncul, masukkan nama grup sumber daya, dan pilih Hapus.

Langkah selanjutnya

Dalam tutorial ini, Anda telah membuat alur kerja aplikasi logika yang memeriksa lalu lintas berdasarkan jadwal yang ditentukan (pada pagi hari kerja), dan mengambil tindakan (mengirim surel) ketika waktu perjalanan melebihi batas yang ditentukan. Sekarang, pelajari cara membangun alur kerja yang mengirim permintaan daftar email untuk persetujuan dengan mengintegrasikan layanan Azure, layanan Microsoft, dan aplikasi Perangkat Lunak sebagai Layanan (SaaS) lainnya.