Strategi Migrasi Cloud dengan API Gateway

Bobur Umurzokov

Bobur Umurzokov

January 18, 2023

Technology

Migrasi cloud adalah proses memindahkan data, aplikasi, atau elemen bisnis lainnya dari lingkungan on-premise sebagian atau sepenuhnya ke lingkungan berbasis cloud yang ditawarkan oleh penyedia layanan cloud populer seperti Azure, AWS, atau Google Cloud. Postingan ini mengeksplorasi berbagai pendekatan untuk membangun strategi migrasi cloud Anda menggunakan API Gateway.

Manfaat berpindah ke cloud

Bagi perusahaan yang menjalani proses migrasi cloud, cloud dapat memberikan dampak yang besar. Ini termasuk menghemat biaya perangkat keras yang diperlukan untuk infrastruktur TI, waktu pengiriman yang lebih cepat, penskalaan aplikasi sesuai kebutuhan, mengamankan beban kerja bisnis yang kritis dan data paling sensitif, serta peluang yang lebih besar untuk inovasi.

Di sini, kami merangkum manfaat lebih lanjut dari migrasi ke cloud:

  • Peningkatan kelincahan dan fleksibilitas
  • Kemampuan untuk berinovasi lebih cepat
  • Meringankan peningkatan permintaan sumber daya
  • Pengelolaan yang lebih baik terhadap peningkatan harapan pelanggan
  • Pengurangan biaya
  • Menghasilkan hasil bisnis segera
  • Menyederhanakan TI
  • Beralih ke segala sesuatu sebagai layanan
  • Pengelolaan konsumsi yang lebih baik
  • Skalabilitas cloud
  • Peningkatan kinerja

Tantangan migrasi cloud

Migrasi cloud dapat membawa manfaat yang signifikan, tetapi ada beberapa tantangan di sepanjang jalan seperti tidak memiliki strategi migrasi cloud di awal, arsitektur yang ada yang kompleks, proses migrasi yang panjang, downtime bisnis selama migrasi, adopsi organisasi, keamanan, dan kepatuhan.

Tantangan migrasi cloud

Bisnis berpindah ke cloud untuk menikmati ketersediaan layanan yang meningkat, skalabilitas, atau manfaat lain yang dijanjikan oleh cloud. Namun, memanfaatkan cloud sepenuhnya memerlukan desain dan perencanaan yang cermat untuk memastikan bahwa organisasi telah memilih cloud yang paling sesuai dengan kasus penggunaannya.

Strategi Migrasi Cloud

Ada sejumlah pendekatan untuk mengembangkan atau memigrasikan sistem berbasis API ke cloud, mulai dari mempertahankan ("tidak melakukan apa-apa"), hingga rehost, replatform, repurchase, refactor/re-architect (menulis ulang untuk memanfaatkan infrastruktur cloud), dan pensiun.

Postingan ini menguraikan 6 strategi migrasi yang berbeda dan merupakan titik awal yang bagus jika Anda ditugaskan untuk mengevaluasi atau memimpin migrasi arsitektur dan sistem yang ada ke cloud. Karena API seringkali merupakan komponen yang paling dekat dengan pengguna—dan titik masuk utama untuk sebagian besar permintaan—Anda harus memberikan perhatian khusus pada mereka ketika memutuskan pendekatan migrasi Anda. Enam R menyajikan spektrum opsi dari "tidak melakukan apa-apa" hingga pembangunan ulang atau pensiun sistem secara lengkap. Mereka adalah:

  • Pertahankan atau Tinjau Kembali
  • Rehost
  • Replatform
  • Repurchase
  • Refactor/Re-architect
  • Pensiun

Peran Manajemen API dalam migrasi cloud

Terlepas dari strategi yang dipilih untuk perjalanan evolusi Anda, manajemen API dapat memainkan peran kunci dalam migrasi dan membuka nilai API di dalam dan di luar organisasi. Manajer API pada dasarnya adalah gateway yang diperkuat, menyediakan berbagai fitur tambahan untuk mempublikasikan dan mengontrol API. Manajer API menyediakan kebijakan yang memungkinkan masalah tepi, seperti tantangan OAuth2, validasi konten, pembatasan kecepatan, caching, throttling, dan banyak fitur lain yang khas dalam gateway. Ada banyak alat manajemen API dan pastikan Anda memilih yang tepat.

Selain itu, mereka dapat menyediakan portal pengembang yang berisi pasar semua API yang dapat digunakan pengembang saat membangun sistem untuk mengonsumsi API yang ditawarkan. Organisasi juga dapat menggunakan manajemen API untuk memonetisasi akses ke API, baik untuk pelanggan eksternal maupun untuk "chargeback" internal, yang umum dalam perusahaan dan penyebaran lintas divisi. Mungkin bagian terpenting dari manajemen API adalah bahwa ia dapat menawarkan titik pusat untuk menemukan API, sementara Anda terus melakukan perubahan di balik layar.

API Gateway sebagai alat untuk migrasi

API Gateway adalah komponen penting dari solusi manajemen API. Anda dapat membaca 10 kasus penggunaan paling umum dari API Gateway di blog Apache APISIX. Penggunaan API gateway dapat memberikan transparansi lokasi untuk layanan dan API yang disajikan, yang memungkinkan penyebaran layanan ke cloud dan lalu lintas dapat dialihkan secara bertahap dari layanan yang ada ke yang baru dengan dampak yang terbatas (atau tidak ada) pada konsumen.

Berikut 3 strategi yang mungkin:

  1. Salah satu cara menggunakan API Gateway dalam strategi migrasi cloud adalah dengan memulai dengan membuat proxy untuk layanan on-premise Anda. Ini memungkinkan Anda untuk mengalihkan lalu lintas dari layanan on-premise Anda ke layanan yang sesuai di cloud, tanpa membuat perubahan apa pun pada aplikasi yang ada. Kami juga dapat melakukan pengujian A/B sederhana, mengumpulkan metrik tentang kinerja endpoint cloud baru dan pengalaman pengguna, dan beralih kembali ke layanan on-premise jika, karena alasan apa pun, layanan baru di cloud tidak cocok.

  2. Strategi lain adalah menggunakan API Gateway sebagai fasad untuk layanan cloud Anda. Ini memungkinkan Anda untuk menyembunyikan kompleksitas arsitektur microservices dari konsumen eksternal, sementara masih memungkinkan mereka untuk mengakses fungsionalitas yang mereka butuhkan.

  3. Strategi ketiga adalah menggunakan API Gateway untuk mengimplementasikan service mesh yang dapat membantu Anda mengimplementasikan jaringan zero-trust. Ini memungkinkan Anda untuk mengelola dan mengamankan komunikasi antara microservices, tanpa harus membuat perubahan pada layanan individu.

Layanan Apache APISIX ternyata menjadi solusi yang efisien untuk mengatasi masalah di atas, karena dapat bertindak sebagai proxy untuk seluruh aplikasi, atau sebagai titik akses tunggal. Bertindak sebagai proxy, API Gateway mampu menangani permintaan dengan efisien dan merutekan aplikasi lama dengan endpoint yang telah direfaktor.

Replatforming aplikasi sampel ke cloud

Mari kita asumsikan bahwa kita memiliki aplikasi konferensi yang memiliki 5 komponen utama: aplikasi web, API Gateway, sistem konferensi lama, dan dua microservices (Session dan Attendee). Anda dapat melihat tanggung jawab setiap layanan dalam diagram arsitektur di bawah ini.

Arsitektur Aplikasi Konferensi dengan microservices dan API Gateway

Tim Anda memilih untuk memigrasikan layanan aplikasi konferensi ke cloud secara bertahap—daripada mengambil risiko migrasi besar-besaran—menjalankan layanan di beberapa lingkungan cloud dan pusat data on-premise memang menimbulkan tantangan tambahan. Mengingat tugas ini, Anda memutuskan untuk "replatform" terlebih dahulu layanan Attendee. Karena Anda telah mengarsitektur ulang fungsionalitas peserta, dengan mengekstraknya ke microservice independen pada tahap sebelumnya, strategi refactor/re-architect tidak tampak tepat. Namun, ketika Anda menambahkan fungsionalitas baru ke sistem konferensi di masa depan, mengarsitektur ulang sistem (potensial mengekstrak layanan) dan memindahkannya ke cloud akan menjadi opsi yang patut dipertimbangkan. Rehosting bisa menjadi strategi yang solid, tetapi kami ingin memanfaatkan database-as-a-service berbasis cloud daripada "mengangkat dan menggeser" instance database MySQL kami sendiri.

Selain itu, Anda perlu memigrasikan API gateway ke cloud (atau menggunakan solusi APIM yang disediakan oleh vendor cloud) karena, dengan banyak migrasi cloud bertahap, lalu lintas perlu transit melalui beberapa jaringan untuk memenuhi permintaan API yang dibuat oleh pengguna. Memindahkan API gateway ke cloud sekarang juga akan membantu mendukung lalu lintas API yang secara bertahap dialihkan dari lokasi on-premise yang ada ke cloud. Diagram di bawah ini menunjukkan keadaan akhir dari arsitektur yang telah direplatform.

Aplikasi Konferensi on-premise dan di cloud

Ringkasan

Secara keseluruhan, menggunakan API Gateway dalam strategi migrasi cloud dapat memberikan banyak manfaat, seperti kemudahan manajemen, keamanan, dan skalabilitas. Ini memungkinkan Anda untuk secara bertahap memindahkan layanan Anda ke cloud, dan dapat membantu Anda menyembunyikan kompleksitas arsitektur microservices dari konsumen eksternal. Misalnya, Apache APISIX adalah solusi manajemen lalu lintas API yang sepenuhnya open-source dan cloud-native yang dapat Anda terapkan ke cloud mana pun dan meningkatkan produktivitas pengembang dengan plugin bawaan yang mengurangi waktu untuk migrasi cloud Anda.

Sumber daya terkait

Konten yang direkomendasikan

Komunitas

🙋 Bergabunglah dengan Komunitas Apache APISIX 🐦 Ikuti kami di Twitter 📝 Temukan kami di Slack

Tags: