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 pada layanan berbasis OS Linux. Saat memodernisasi beban kerja berbasis.NET Framework, Anda dapat menggunakan Porting Assistant untuk.NET atau
AWS Toolkit for .NET Refactoring untuk memindai kode Anda dan menghasilkan laporan penilaian kompatibilitas. Dengan menemukan apakah ada .NET Framework yang tidak kompatibel yang APIs 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 situs web berbasis ASP.NET 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 2.0 atau Amazon. AppStream 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 Porting Assistant untuk.NET dan AWS Microservice Extractor for .NET dapat digunakan untuk mem-port basis kode Anda dari .NET Framework ke.NET dan memecah aplikasi monolitik Anda menjadi layanan mikro. 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 Anda tanpa membuat perubahan kode apa pun tetapi ingin mendapatkan manfaat dari penskalaan otomatis, penyeimbangan beban, dan elastisitas di cloud. Untuk situs web berbasis Windows, 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 EC2 instans Amazon apa pun yang menjalankan Windows Server. Setelah IIS diaktifkan dan dikonfigurasi, Anda dapat menerapkan situs web dan layanan ASP.NET Anda dengan menggunakan mekanisme penerapan yang sama yang Anda gunakan untuk lingkungan lokal.
Jika Anda meng-host IIS pada instance EC2 Windows, penting untuk mengikuti AWS Well-Architected Framework
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 lingkungan berbasis Windows Server 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 (RDS CALs) Layanan Desktop Jarak Jauh 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 . -
Amazon AppStream 2.0
— Pilih opsi ini untuk menyediakan akses yang aman, andal, dan terukur ke aplikasi dan desktop non-persisten dari lokasi mana pun. Anda dapat menggunakan AppStream 2.0 untuk memungkinkan pengguna mengakses aplikasi.NET Anda dari web. Jika Anda sudah memiliki RDS CALs dan SA aktif, maka Anda dapat menggunakan lisensi tersebut dengan AppStream 2.0 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 kontainer berbasis Docker Anda. AWS mengelola kedua layanan tersebut. Pilihan antara keduanya tergantung pada pengetahuan dan preferensi yang ada. Kedua opsi dapat menjalankan kontainer berbasis Linux atau wadah berbasis Windows.
Untuk mempelajari lebih lanjut, lihat sumber daya berikut:
-
Wadah Amazon EC2 Windows (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 EC2 gambar dan strategi cache gambar
(AWS Blog) -
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:
-
.NET Framework berbasis aplikasi berjalan pada wadah Windows - Menambahkan dukungan Docker ke aplikasi yang ada dilakukan dengan membuat file Docker yang menguraikan bagaimana aplikasi perlu dikontainerisasi. Anda dapat menggunakan AWS App2Container
untuk dengan mudah melakukan container dan memigrasi aplikasi berbasis .NET Framework yang ada ke. AWS App2Container memindai server IIS Anda untuk menentukan file yang diperlukan dan mengekstrak aplikasi target untuk membuat gambar Docker. Anda juga dapat menggunakan App2Container untuk membuat artefak penerapan yang diperlukan untuk meng-host aplikasi Anda di file. AWS Cloud -
.NET atau .NET Core - Selain menjalankan aplikasi web berbasis.NET yang lebih baru di Amazon ECS atau Amazon EKS, Anda juga dapat menggunakannya. 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/Arsitek ulang 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 dengan menggunakan Porting Assistant untuk.NET
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. AWS Microservice Extractor for .NET
Refactor ke aplikasi tanpa server
AWS Lambda
Sumber daya tambahan
-
Amazon CodeCatalyst
(CodeCatalystdokumentasi) -
AWS Toolkit for Azure DevOps
(AWS dokumentasi) -
Tentang Alat AWS Deploy untuk.NET
()AWS GitHub -
.NET pada AWS
(AWS dokumentasi) -
aws/dotnet
() GitHub