Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasi aplikasi.NET
Migrasi aplikasi.NET Anda untuk AWS memungkinkan Anda membuat beban kerja yang sangat tersedia dengan kemampuan penskalaan elastis, mengurangi overhead operasi, dan meningkatkan kelincahan bisnis Anda dengan berfokus pada nilai pembeda Anda.
Bagian ini berfokus pada berbagai opsi untuk menghosting aplikasi.NET Anda AWS. Anda dapat memilih antara menggunakan VM, solusi terkelola seperti, mengkontainerisasi kode Anda AWS Elastic Beanstalk
Menilai
Memilih jalur migrasi untuk beban kerja.NET Anda bergantung pada faktor kunci berikut:
-
Temukan versi.NET yang digunakan — Ada dua implementasi.NET berbeda yang didukung oleh Microsoft: .NET Framework (1.0-4.8) dan.NET (.NET Core 1.0-3.1 dan .NET 5 dan yang lebih baru). Keduanya berbagi banyak komponen yang sama dan dapat menjalankan kode aplikasi yang ditulis menggunakan bahasa pemrograman.NET yang berbeda (seperti C #, F #, dan VB.NET). Memilih strategi migrasi dan layanan hosting tergantung pada runtime yang digunakan sejak .NET Framework berjalan di Windows sedangkan .NET yang lebih baru adalah multi-platform. Untuk .NET Framework, Anda dapat meng-host pada OS Windows atau refactor kode Anda untuk menggunakan .NET yang lebih baru. .NET yang lebih baru juga dapat di-host di OS-based layanan Linux. Saat memodernisasi Framework-based beban kerja.NET, Anda dapat menggunakan .NET AWS Transform untuk memindai kode dan membuat laporan penilaian kompatibilitas. Dengan menemukan apakah ada API.NET Framework yang tidak kompatibel yang direferensikan oleh proyek Anda, Anda dapat merencanakan kompleksitas proyek migrasi dan memutuskan apakah dan kapan akan memfaktorkan ulang kode Anda untuk menggunakan runtime yang lebih baru.
-
Tinjau penerapan Anda saat ini — Periksa apakah beban kerja yang saat ini dimigrasi memiliki CI/CD pipeline yang sudah ada yang dapat diperbarui untuk menerapkan beban kerja yang sama ke cloud. Menggunakan pipeline build dan deploy yang ada dapat mengurangi waktu yang diperlukan untuk menerapkan aplikasi Anda ke cloud dengan mengotomatiskan langkah-langkah yang diperlukan untuk membangun, mengonfigurasi, dan menerapkan beban kerja Anda.
-
Tinjau peta jalan Anda — Tergantung pada keadaan proyek saat ini, Anda mungkin sudah berencana untuk merancang ulang atau mendesain ulang aplikasi Anda. Setiap modernisasi yang dilakukan harus mempertimbangkan peta jalan produk. Misalnya, memutuskan untuk memasukkan kode yang ada atau memfaktorkan ulang arsitektur monolitik ke dalam layanan mikro idealnya merupakan bagian dari peta jalan produk dan selaras dengan upaya pengembangan lainnya.
Memobilisasi
Ada tiga jalur migrasi berbeda yang perlu dipertimbangkan saat memigrasikan beban kerja.NET Anda ke. AWS Anda dapat memilih di antara berbagai opsi tergantung pada kompleksitas basis kode yang ada, waktu yang dialokasikan untuk migrasi, dan ukuran tim yang dialokasikan untuk mendukung upaya migrasi. Saat mempertimbangkan modernisasi sebagai bagian dari migrasi Anda, itu adalah praktik terbaik untuk diselaraskan dengan peta jalan produk.
-
Rehost (lift & shift) — Anda dapat memilih pendekatan ini jika prioritas Anda adalah migrasi yang lebih cepat AWS dengan sedikit atau tanpa perubahan. Anda dapat meng-host ulang ASP.NET-based situs web ke Internet Information Services (IIS) yang berjalan di instans Amazon EC2. Anda dapat meng-host ulang aplikasi berbasis desktop Anda (seperti Windows Presentation Foundation, Formulir Web, dan .NET MAUI) ke salah satu platform komputasi pengguna akhir seperti Amazon Applications atau Amazon. WorkSpaces WorkSpaces
-
Replatform - Replatforming paling cocok untuk saat Anda ingin meng-host aplikasi Anda menggunakan layanan terkelola tanpa membuat perubahan kode tetapi ingin mengurangi overhead operasional Anda dengan membongkar beban berat yang tidak berdiferensiasi seperti instalasi, patching, upgrade, dan manajemen instans. Strategi ini juga cocok untuk tim yang ingin pindah ke beban kerja berbasis kontainer. Anda dapat memplatform ulang aplikasi yang ada ke Elastic Beanstalk
, atau menggunakan kontainer Docker yang dihosting di Amazon ECS, Amazon EKS, atau. AWS App Runner -
Refactor — Pilih pendekatan ini jika Anda dapat menginvestasikan waktu dan upaya untuk membuat perubahan kode dan arsitektur yang mengurangi overhead operasional dan mencapai penskalaan yang lebih baik, ketersediaan tinggi, dan pemulihan bencana dengan menggunakan AWS layanan cloud-native. Refactoring melibatkan modernisasi basis kode Anda dengan mem-porting aplikasi.NET framework yang ada ke .NET (sebelumnya .NET Core) atau memodernisasi basis kode yang ada agar berjalan lebih baik di cloud. Anda dapat menggunakan AWS SDK untuk .NET
untuk memanggil banyak layanan AWS cloud dari dalam kode .NET Anda. Alat seperti AWS Transform untuk.NET dapat digunakan untuk mem-port basis kode Anda dari .NET Framework ke .NET. Dengan memfaktorkan ulang beban kerja.NET yang ada untuk dijalankan AWS Lambda , Anda dapat menggunakan komputasi tanpa server untuk menghindari penyediaan dan pengelolaan infrastruktur.
Migrasi
Langkah-langkah migrasi beban kerja.NET Anda bergantung pada jalur migrasi yang Anda pilih selama tahap penilaian dan jenis aplikasi Anda.
Rehost aplikasi.NET
Pilih jalur migrasi ini jika Anda ingin memigrasikan aplikasi tanpa membuat perubahan kode apa pun, tetapi ingin memanfaatkan penskalaan otomatis, penyeimbangan beban, dan elastisitas di cloud. Untuk Windows-based situs web, rehosting biasanya berarti menjalankannya di Internet Information Services (IIS). AWS Untuk aplikasi berbasis desktop, Anda harus menginstal aplikasi dan memungkinkan pengguna untuk terhubung ke aplikasi dari luar.
Layanan Informasi Internet di AWS
Internet Information Services (IIS) adalah server web Microsoft yang berjalan pada sistem operasi Windows dan digunakan untuk meng-host situs web dan layanan web. IIS dapat diinstal pada instans Amazon EC2 yang menjalankan Windows Server. Setelah IIS diaktifkan dan dikonfigurasi, Anda dapat menerapkan ASP.NET situs web dan layanan Anda dengan menggunakan mekanisme penyebaran yang sama yang Anda gunakan untuk lingkungan lokal.
Jika Anda meng-host IIS pada instans Windows EC2, penting untuk mengikuti AWS Well-ArchitectedFramework
Hosting aplikasi desktop di AWS
Banyak klien memiliki kebutuhan untuk mengakses aplikasi klien tebal berbasis Windows. Anda memiliki pilihan di antara tiga platform yang berbeda:
-
Amazon EC2
— Pilih opsi ini jika Anda ingin pengguna Anda terhubung ke Server-based lingkungan Windows dengan menggunakan Microsoft Remote Desktop. Dengan opsi ini Anda bertanggung jawab untuk menambal dan memelihara sistem operasi Anda. Anda juga harus membeli lisensi akses klien Layanan Desktop Jarak Jauh (RDS CAL) tambahan untuk pengguna Anda dan Jaminan Perangkat Lunak (SA) aktif Anda. Untuk informasi selengkapnya, lihat Lisensi Microsoft AWS di AWS dokumentasi. -
Amazon WorkSpaces
— Pilih opsi ini jika Anda memerlukan infrastruktur desktop virtual (VDI) yang dikelola sepenuhnya untuk pengguna Anda. Anda dapat menggunakan WorkSpaces untuk memberikan pengalaman Windows Desktop persisten kepada pengguna Anda. Anda juga dapat menyesuaikan WorkSpaces lingkungan Anda dan menginstal aplikasi.NET dengan menggunakan gambar khusus, atau gunakan AWS Systems Manager untuk mengirimkan aplikasi.NET Anda ke WorkSpaces lingkungan Anda. Pengguna dapat terhubung baik dengan menggunakan browser mereka atau WorkSpacesklien Amazon . -
WorkSpaces Aplikasi Amazon
— Pilih opsi ini untuk menyediakan akses yang aman, andal, dan terukur ke aplikasi dan desktop non-persisten dari lokasi mana pun. Anda dapat menggunakan WorkSpaces Aplikasi untuk memungkinkan pengguna mengakses aplikasi.NET Anda dari web. Jika Anda sudah memiliki RDS CAL dan SA aktif, maka Anda dapat menggunakan lisensi tersebut dengan WorkSpaces Aplikasi dengan menggunakan Mobilitas Lisensi.
Platform Ulang
Replatforming melibatkan perubahan lingkungan hosting Anda dengan sedikit atau tanpa perubahan kode. Pilih strategi ini untuk mengurangi biaya operasional Anda dan manfaatkan kemampuan dan layanan cloud.
AWS Elastic Beanstalk
Anda dapat menggunakan AWS Elastic Beanstalk
Untuk mempelajari lebih lanjut, lihat sumber daya berikut:
-
Membuat dan menerapkan aplikasi.NET pada Elastic Beanstalk (dokumentasi Elastic Beanstalk)
-
Bekerja dengan.NET Core di Linux (dokumentasi Elastic Beanstalk)
-
Multi-App Support dengan Custom Domains untuk.NET dan AWS Elastic Beanstalk
(AWS Developer Tools Blog)
Kontainerisasi aplikasi yang ada
Anda dapat menggunakan Amazon ECS atau Amazon EKS untuk meng-host aplikasi Docker-based kontainer Anda. AWS mengelola kedua layanan tersebut. Pilihan antara keduanya tergantung pada pengetahuan dan preferensi yang ada. Kedua opsi dapat menjalankan Linux-based kontainer atau Windows-based kontainer.
Untuk mempelajari lebih lanjut, lihat sumber daya berikut:
-
Wadah Windows Amazon EC2 (dokumentasi Amazon ECS)
-
Mengaktifkan dukungan Windows untuk kluster Amazon EKS Anda (dokumentasi Amazon EKS)
-
Menjalankan Windows Container dengan Amazon ECS di AWS Fargate
(AWS Blog) -
Mempercepat waktu peluncuran wadah Windows dengan pembuat Gambar EC2 dan strategi cache gambar (Blog
)AWS -
Mulai cepat: CI/CD untuk Aplikasi .NET di AWS Fargate
(AWS dokumentasi)
Containerizing aplikasi berbasis .NET tergantung pada runtime .NET yang digunakan. Pertimbangkan hal berikut:
-
Framework-based Aplikasi .NET berjalan pada wadah Windows - Menambahkan dukungan Docker ke aplikasi yang ada dilakukan dengan membuat file Docker yang menguraikan bagaimana aplikasi perlu dikontainerisasi.
-
.NET atau .NET Core — Selain menjalankan yang lebih baru. NET-based aplikasi web di Amazon ECS atau Amazon EKS, Anda juga dapat menggunakan AWS App Runner
. App Runner adalah solusi tanpa server yang dikelola sepenuhnya yang menjalankan kode atau gambar kontainer Anda dan mengelola penyeimbangan beban, penskalaan otomatis, pencatatan, sertifikat, dan jaringan.
Refactor/re-architect kode yang ada
Pilih opsi ini jika Anda memiliki kebutuhan bisnis yang kuat untuk menambahkan fitur, skala, atau kinerja yang sulit dicapai di lingkungan aplikasi saat ini. Bergantung pada peta jalan aplikasi Anda, Anda dapat memilih untuk mengubah kode Anda untuk menggunakan kerangka kerja terbaru, layanan cloud-native, atau merancang ulang agar lebih baik dijalankan di cloud.
Opsi refactoring pertama yang tersedia adalah memigrasikan aplikasi.NET Framework Anda yang ada ke .NET. Pindah ke .NET memberi Anda manfaat berjalan di Linux, bukan Windows. Ini mengurangi total biaya lisensi Anda, memberi Anda kerangka kerja terbaru, dan menawarkan versi terbaru dari bahasa pemrograman.NET.
AWS SDK untuk .NET
AWS SDK untuk .NET
Modernisasi aplikasi.NET Framework
Anda dapat bermigrasi dari.NET Framework menggunakan AWS Transform untuk .NET, yang memindai file kode Anda dan membuat laporan yang membantu merencanakan peta jalan migrasi portofolio aplikasi Anda. Porting Assistant untuk.NET juga dapat mengurangi overhead porting Anda dengan mengidentifikasi API dan paket .NET Core yang tidak kompatibel dan menemukan pengganti yang diketahui. Migrasi aplikasi.NET Framework ke .NET memungkinkan menjalankannya pada prosesor ARM64-based Graviton untuk rasio harga-ke-kinerja yang lebih baik. Untuk informasi lebih lanjut, lihat .NET tentang Graviton on
Monolith ke microservices
Banyak tim pengembangan ingin merancang ulang aplikasi monolitik mereka yang ada menjadi layanan mikro. Dengan beralih ke arsitektur berbasis layanan mikro, tim pengembangan Anda dapat meningkatkan kelincahan pengembangan, mengurangi biaya komputasi, menskalakan layanan secara individual, dan mengurangi waktu penerapannya. Dengan mengidentifikasi komponen dan fungsionalitas pengelompokan, tim pengembangan dapat secara bertahap mengekstrak fungsionalitas dari aplikasi monolitik .NET Framework ke dalam layanan .NET.
Refactor ke aplikasi tanpa server
AWS Lambda
Sumber daya tambahan
-
AWS Toolkit for Azure DevOps
(AWS dokumentasi) -
Tentang Alat AWS Deploy untuk.NET
()AWS GitHub -
.NET pada AWS
(AWS dokumentasi) -
aws/dotnet
(GitHub)