Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerapkan lingkungan untuk aplikasi Blu Age dalam kontainer dengan menggunakan Terraform
Richard Milner-Watts, Amazon Web Services
Ringkasan
Migrasi beban kerja mainframe lama ke arsitektur cloud modern dapat menghilangkan biaya pemeliharaan mainframe—biaya yang hanya meningkat seiring bertambahnya usia lingkungan. Namun, migrasi pekerjaan dari mainframe dapat menimbulkan tantangan unik. Sumber daya internal mungkin tidak akrab dengan logika pekerjaan, dan kinerja tinggi mainframe pada tugas-tugas khusus ini bisa sulit untuk ditiru jika dibandingkan dengan komoditas, digeneralisasi. CPUs Menulis ulang pekerjaan ini bisa menjadi usaha besar dan membutuhkan upaya yang signifikan.
Blu Age mengubah beban kerja mainframe lama menjadi kode Java modern, yang kemudian dapat Anda jalankan sebagai wadah.
Pola ini menyediakan contoh arsitektur tanpa server untuk menjalankan aplikasi kontainer yang telah dimodernisasi dengan alat Blu Age. File HashiCorp Terraform yang disertakan akan membangun arsitektur aman untuk orkestrasi kontainer Blu Age, mendukung tugas batch dan layanan waktu nyata.
Untuk informasi selengkapnya tentang memodernisasi beban kerja Anda dengan menggunakan layanan Blu Age dan AWS, lihat publikasi AWS Prescriptive Guidance ini:
Untuk bantuan menggunakan Blu Age untuk memodernisasi beban kerja mainframe Anda, hubungi tim Blu Age dengan memilih Hubungi pakar kami di situs web Blu Age.
Prasyarat dan batasan
Prasyarat
Contoh aplikasi Blu Age dalam wadah yang disediakan oleh beban kerja mainframe Containerize yang telah dimodernisasi oleh pola Blu Age. Aplikasi sampel menyediakan logika untuk menangani pemrosesan input dan output untuk aplikasi modern, dan dapat berintegrasi dengan arsitektur ini.
Terraform diperlukan untuk menyebarkan sumber daya ini.
Batasan
Amazon Elastic Container Service (Amazon ECS) membatasi sumber daya tugas yang dapat disediakan untuk wadah. Sumber daya ini termasuk CPU, RAM, dan penyimpanan. Misalnya, saat menggunakan Amazon ECS dengan AWS Fargate, batas sumber daya tugas berlaku.
Versi produk
Solusi ini diuji dengan versi berikut:
Terraform 1.3.6
Penyedia AWS Terraform 4.46.0
Arsitektur
Tumpukan teknologi sumber
Usia Blu
Terraform
Tumpukan teknologi target
Edisi yang Kompatibel dengan Amazon Aurora PostgreSQL
AWS Backup
Amazon Elastic Container Registry (Amazon ECR)
Amazon ECS
AWS Identity and Access Management Service (IAM)
Server Manajemen Kunci AWS (AWS KMS)
AWS Secrets Manager
Amazon Simple Notification Service (Amazon SNS)
Amazon Simple Storage Service (Amazon S3)
AWS Step Functions
AWS Systems Manager
Arsitektur target
Diagram berikut menunjukkan arsitektur solusi.

Solusinya menerapkan peran IAM berikut:
Peran tugas batch
Peran eksekusi tugas Batch
Peran tugas layanan
Peran eksekusi tugas layanan
Peran Step Functions
Peran AWS Backup
Peran Pemantauan yang Ditingkatkan RDS.
Peran sesuai dengan prinsip akses yang paling tidak memiliki hak istimewa.
Amazon ECR digunakan untuk menyimpan gambar kontainer yang diatur oleh pola ini.
AWS Systems Manager Parameter Store menyediakan data konfigurasi tentang setiap lingkungan ke definisi tugas Amazon ECS saat runtime.
AWS Secrets Manager menyediakan data konfigurasi sensitif tentang lingkungan ke definisi tugas Amazon ECS saat runtime. Data telah dienkripsi oleh AWS KMS.
Modul Terraform membuat definisi tugas Amazon ECS untuk semua tugas real-time dan batch.
Amazon ECS menjalankan tugas batch dengan menggunakan AWS Fargate sebagai mesin komputasi. Ini adalah tugas berumur pendek, dimulai seperti yang dipersyaratkan oleh AWS Step Functions.
Amazon Aurora PostgreSQL kompatibel menyediakan database untuk mendukung aplikasi modern. Ini menggantikan database mainframe seperti IBM Db2 atau IBM IMS DB.
Amazon ECS menjalankan layanan berumur panjang untuk memberikan beban kerja real-time yang dimodernisasi. Aplikasi stateless ini berjalan secara permanen dengan kontainer yang tersebar di Availability Zone.
Network Load Balancer digunakan untuk memberikan akses ke beban kerja real-time. Network Load Balancer mendukung protokol sebelumnya, seperti IBM CICS. Atau, Anda dapat menggunakan Application Load Balancer dengan beban kerja berbasis HTTP.
Amazon S3 menyediakan penyimpanan objek untuk input dan output pekerjaan. Wadah harus menangani operasi tarik dan dorong ke Amazon S3 untuk menyiapkan direktori kerja untuk aplikasi Blu Age.
Layanan AWS Step Functions digunakan untuk mengatur menjalankan tugas Amazon ECS untuk memproses beban kerja batch.
Topik SNS untuk setiap beban kerja batch digunakan untuk mengintegrasikan aplikasi modern dengan sistem lain, seperti email, atau untuk memulai tindakan tambahan, seperti mengirimkan objek keluaran dari Amazon S3 ke FTP.
catatan
Secara default, solusinya tidak memiliki akses ke internet. Pola ini mengasumsikan bahwa virtual private cloud (VPC) akan terhubung ke jaringan lain menggunakan layanan seperti AWS
Otomatisasi dan skala
Penggunaan sumber daya tanpa server di seluruh pola ini membantu memastikan bahwa, dengan memperkecil, ada beberapa batasan pada skala desain ini. Ini mengurangi kekhawatiran tetangga yang bising, seperti persaingan untuk sumber daya komputasi yang mungkin dialami pada mainframe asli. Batch task dapat dijadwalkan untuk berjalan secara bersamaan sesuai kebutuhan.
Wadah individu dibatasi oleh ukuran maksimum yang didukung oleh Fargate. Untuk informasi selengkapnya, lihat bagian CPU tugas dan memori di dokumentasi Amazon ECS.
Untuk menskalakan beban kerja real-time secara horizontal
Alat
Layanan AWS
Amazon Aurora PostgreSQL Compatible Edition adalah mesin database relasional yang dikelola sepenuhnya dan sesuai dengan ACID yang membantu Anda mengatur, mengoperasikan, dan menskalakan penerapan PostgreSQL.
AWS Backup adalah layanan terkelola penuh yang membantu Anda memusatkan dan mengotomatiskan perlindungan data di seluruh Layanan AWS, di cloud, dan di tempat.
Amazon Elastic Container Registry (Amazon ECR) adalah layanan registri gambar kontainer terkelola yang aman, terukur, dan andal.
Amazon Elastic Container Service (Amazon ECS) adalah layanan manajemen kontainer yang cepat dan terukur yang membantu Anda menjalankan, menghentikan, dan mengelola kontainer di klaster.
AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
AWS Key Management Service (AWS KMS) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda.
AWS Secrets Manager membantu Anda mengganti kredensi hardcode dalam kode Anda, termasuk kata sandi, dengan panggilan API ke Secrets Manager untuk mengambil rahasia secara terprogram.
Amazon Simple Notification Service (Amazon SNS) membantu Anda mengoordinasikan dan mengelola pertukaran pesan antara penayang dan klien, termasuk server web dan alamat email.
Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
AWS Step Functions adalah layanan orkestrasi tanpa server yang membantu Anda menggabungkan AWS Lambda fungsi dan lainnya Layanan AWS untuk membangun aplikasi yang penting bagi bisnis.
AWS Systems Manager Parameter Store menyediakan penyimpanan hierarkis yang aman untuk manajemen data konfigurasi dan manajemen rahasia.
Layanan lainnya
HashiCorp Terraform
adalah alat infrastruktur sebagai kode (IAc) yang membantu Anda menggunakan kode untuk menyediakan dan mengelola infrastruktur dan sumber daya cloud. Pola ini menggunakan Terraform untuk membuat arsitektur sampel.
Repositori kode
Kode sumber untuk pola ini tersedia di repositori GitHub Blu Age Sample ECS Infrastructure (Terraform)
Praktik terbaik
Untuk lingkungan pengujian, gunakan fitur seperti
forceDateopsi untuk mengonfigurasi aplikasi modern untuk menghasilkan hasil pengujian yang konsisten dengan selalu berjalan untuk jangka waktu yang diketahui.Sesuaikan setiap tugas satu per satu untuk mengkonsumsi jumlah sumber daya yang optimal. Anda dapat menggunakan Amazon CloudWatch Container Insights untuk mendapatkan panduan tentang potensi kemacetan.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Kloning kode sumber solusi. | Kloning kode solusi dari GitHub proyek | DevOps insinyur |
Bootstrap lingkungan dengan menerapkan sumber daya untuk menyimpan status Terraform. |
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Tinjau dan perbarui konfigurasi Terraform. | Di direktori root, buka file
| DevOps insinyur |
Terapkan file Terraform. | Dari terminal Anda, jalankan Perhatikan bahwa dibutuhkan waktu lebih dari 15 menit untuk menyebarkan infrastruktur ini. | DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Dorong gambar wadah Blu Age ke Amazon ECR. | Dorong wadah ke repositori Amazon ECR yang Anda buat di epik sebelumnya. Untuk petunjuk, lihat dokumentasi Amazon ECR. Buat catatan URI gambar kontainer. | DevOps insinyur |
Perbarui Terraform untuk mereferensikan gambar wadah Blu Age. | Perbarui file | DevOps insinyur |
Menerapkan ulang file Terraform. | Dari terminal Anda, jalankan | DevOps insinyur |