

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kontainerisasi beban kerja mainframe yang telah dimodernisasi oleh Blu Age
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age"></a>

*Richard Milner-Watts, Amazon Web Services*

## Ringkasan
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-summary"></a>

[Pola ini menyediakan lingkungan wadah sampel untuk menjalankan beban kerja mainframe yang telah dimodernisasi dengan menggunakan alat Blu Age.](https://www.bluage.com/) Blu Age mengubah beban kerja mainframe lama menjadi kode Java modern. Pola ini menyediakan pembungkus di sekitar aplikasi Java sehingga Anda dapat menjalankannya dengan menggunakan layanan orkestrasi kontainer seperti Amazon Elastic Container Service (Amazon ECS) [Service Elastic Container (Amazon ECS) atau Amazon Elastic [Kubernetes](https://aws.amazon.com/eks/) Service (Amazon](https://aws.amazon.com/ecs/) EKS).

Untuk informasi selengkapnya tentang memodernisasi beban kerja Anda dengan menggunakan layanan Blu Age dan AWS, lihat publikasi AWS Prescriptive Guidance ini:
+ [Menjalankan beban kerja mainframe Blu Age yang dimodernisasi pada infrastruktur AWS tanpa server](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Menerapkan lingkungan untuk aplikasi Blu Age dalam kontainer dengan menggunakan Terraform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html)

[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.](https://www.bluage.com/) Untuk bantuan dalam memigrasikan beban kerja modern Anda ke AWS, mengintegrasikannya dengan layanan AWS, dan memindahkannya ke produksi, hubungi manajer akun AWS Anda atau isi formulir AWS [Professional Services](https://pages.awscloud.com/AWS-Professional-Services.html).

## Prasyarat dan batasan
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-prereqs"></a>

**Prasyarat**
+ Aplikasi Java modern yang dibuat oleh Blu Age. Untuk tujuan pengujian, pola ini menyediakan contoh aplikasi Java yang dapat Anda gunakan sebagai bukti konsep.
+ Lingkungan [Docker](https://aws.amazon.com/docker/) yang dapat Anda gunakan untuk membangun wadah.

**Batasan**

Bergantung pada platform orkestrasi kontainer yang Anda gunakan, sumber daya yang dapat disediakan untuk wadah (seperti CPU, RAM, dan penyimpanan) mungkin terbatas. Misalnya, jika Anda menggunakan Amazon ECS dengan AWS Fargate, lihat dokumentasi [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) untuk batasan dan pertimbangan.

## Arsitektur
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-architecture"></a>

**Tumpukan teknologi sumber**
+ Usia Blu
+ Java

**Tumpukan teknologi target**
+ Docker

**Arsitektur target**

Diagram berikut menunjukkan arsitektur aplikasi Blu Age dalam wadah Docker.

![Aplikasi Blu Age dalam wadah Docker](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/c1747094-357b-4222-b4eb-b1336d810f83/images/0554332d-eff5-49ca-9789-da39b5a10045.png)


1. Titik masuk untuk wadah adalah skrip pembungkus. Skrip bash ini bertanggung jawab untuk mempersiapkan lingkungan runtime untuk aplikasi Blu Age dan memproses output.

1. Variabel lingkungan dalam wadah digunakan untuk mengonfigurasi variabel dalam skrip pembungkus, seperti nama bucket Amazon Simple Storage Service (Amazon S3) dan kredenal database Simple Storage Service (Amazon S3). Variabel lingkungan disediakan oleh AWS Secrets Manager atau Parameter Store, kemampuan AWS Systems Manager. Jika Anda menggunakan Amazon ECS sebagai layanan orkestrasi kontainer, Anda juga dapat melakukan hardcode variabel lingkungan dalam definisi tugas Amazon ECS.

1. Skrip pembungkus bertanggung jawab untuk menarik file input apa pun dari bucket S3 ke dalam wadah sebelum Anda menjalankan aplikasi Blu Age. AWS Command Line Interface (AWS CLI) diinstal di dalam container. Ini menyediakan mekanisme untuk mengakses objek yang disimpan di Amazon S3 melalui titik akhir gateway virtual private cloud (VPC).

1. File Java Archive (JAR) untuk aplikasi Blu Age mungkin perlu berkomunikasi dengan sumber data lain, seperti Amazon Aurora.

1. Setelah selesai, skrip pembungkus mengirimkan file keluaran yang dihasilkan ke dalam bucket S3 untuk diproses lebih lanjut (misalnya, oleh layanan CloudWatch logging Amazon). Pola ini juga mendukung pengiriman file log zip ke Amazon S3, jika Anda menggunakan alternatif untuk CloudWatch logging standar.

## Alat
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-tools"></a>

**Layanan AWS**
+ [Amazon Elastic Container Registry (Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)) adalah layanan registri gambar kontainer terkelola yang aman, terukur, dan andal.
+ [Amazon Elastic Container Service (Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html)) adalah layanan manajemen kontainer yang cepat dan dapat diskalakan yang membantu Anda menjalankan, menghentikan, dan mengelola kontainer di klaster.

**Alat**
+ [Docker](https://aws.amazon.com/docker/) adalah platform perangkat lunak untuk membangun, menguji, dan menyebarkan aplikasi. Docker mengemas perangkat lunak ke dalam unit standar yang disebut [kontainer](https://aws.amazon.com/containers/), yang memiliki semua yang dibutuhkan perangkat lunak untuk dijalankan, termasuk perpustakaan, alat sistem, kode, dan runtime. Anda dapat menggunakan Docker untuk menyebarkan dan menskalakan aplikasi ke lingkungan apa pun.
+ [Bash](https://www.gnu.org/software/bash/manual/) adalah antarmuka bahasa perintah (shell) untuk sistem operasi GNU.
+ [Java](https://www.java.com/) adalah bahasa pemrograman dan lingkungan pengembangan yang digunakan dalam pola ini.
+ [Blu Age](https://www.bluage.com/) adalah alat modernisasi mainframe AWS yang mengubah beban kerja mainframe lama, termasuk kode aplikasi, dependensi, dan infrastruktur, menjadi beban kerja modern untuk cloud.

**Repositori kode**

Kode untuk pola ini tersedia di [repositori wadah sampel GitHub Blu Age](https://github.com/aws-samples/aws-blu-age-sample-container).

## Praktik terbaik
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-best-practices"></a>
+ Eksternalisasi variabel untuk mengubah perilaku aplikasi Anda dengan menggunakan variabel lingkungan. Variabel-variabel ini memungkinkan solusi orkestrasi kontainer untuk mengubah lingkungan runtime tanpa membangun kembali wadah. Pola ini mencakup contoh variabel lingkungan yang dapat berguna untuk aplikasi Blu Age.
+ Validasi dependensi aplikasi apa pun sebelum Anda menjalankan aplikasi Blu Age Anda. Misalnya, verifikasi bahwa database tersedia dan kredensialnya valid. Tulis tes dalam skrip pembungkus untuk memverifikasi dependensi, dan gagal lebih awal jika tidak terpenuhi.
+ Gunakan logging verbose dalam skrip pembungkus. Berinteraksi langsung dengan wadah yang sedang berjalan dapat menjadi tantangan, tergantung pada platform orkestrasi dan berapa lama pekerjaan itu berlangsung. Pastikan bahwa output yang berguna ditulis `STDOUT` untuk membantu mendiagnosis masalah apa pun. Misalnya, output mungkin termasuk isi direktori kerja aplikasi baik sebelum dan sesudah Anda menjalankan aplikasi.

## Epik
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-epics"></a>

### Dapatkan file JAR aplikasi Blu Age
<a name="obtain-a-blu-age-application-jar-file"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Opsi 1 - Bekerja dengan Blu Age untuk mendapatkan file JAR aplikasi Anda. | Wadah dalam pola ini membutuhkan aplikasi Blu Age. Atau, Anda dapat menggunakan contoh aplikasi Java yang disediakan dengan pola ini untuk prototipe.<br />Bekerja dengan tim Blu Age untuk mendapatkan file JAR untuk aplikasi Anda yang dapat dipanggang ke dalam wadah. Jika file JAR tidak tersedia, lihat tugas berikutnya untuk menggunakan aplikasi sampel sebagai gantinya. | Arsitek awan | 
| Opsi 2 - Bangun atau gunakan file JAR aplikasi sampel yang disediakan. | Pola ini menyediakan file JAR sampel prebuilt. File ini mengeluarkan variabel lingkungan aplikasi `STDOUT` sebelum tidur selama 30 detik dan keluar.<br />File ini diberi nama `bluAgeSample.jar` dan terletak di [folder docker repositori](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/docker). GitHub <br />[Jika Anda ingin mengubah kode dan membangun versi file JAR Anda sendiri, gunakan kode sumber yang terletak di. /java\_ sample/src/sample \_java\_app.java](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/java_sample/src) di repositori. GitHub Anda dapat menggunakan skrip build di[. ](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/java_sample)/java\_sample/build.sh untuk mengkompilasi sumber Java dan membangun JAR fie baru. | Pengembang aplikasi | 

### Bangun wadah Blu Age
<a name="build-the-blu-age-container"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kloning GitHub repositori. | Kloning repositori kode sampel dengan menggunakan perintah:<pre>git clone https://github.com/aws-samples/aws-blu-age-sample-container</pre> | AWS DevOps | 
| Gunakan Docker untuk membangun wadah. | Gunakan Docker untuk membangun wadah sebelum Anda mendorongnya ke registri Docker seperti Amazon ECR:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html) | AWS DevOps | 
| Uji wadah Blu Age. | (Opsional) Jika perlu, uji wadah secara lokal dengan menggunakan perintah:<pre>docker run -it <tag> /bin/bash</pre> | AWS DevOps | 
| Otentikasi ke repositori Docker Anda. | Jika Anda berencana untuk menggunakan Amazon ECR, ikuti petunjuk dalam [dokumentasi Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html) untuk menginstal dan mengonfigurasi AWS CLI dan mengautentikasi CLI Docker ke registri default Anda.<br />Kami menyarankan Anda menggunakan [get-login-password perintah](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ecr/get-login-password.html) untuk otentikasi.  [Konsol Amazon ECR](https://console.aws.amazon.com/ecr/) menyediakan versi pra-isi dari perintah ini jika Anda menggunakan tombol perintah **tekan Lihat**. Untuk informasi selengkapnya, lihat [dokumentasi Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-console.html).<pre>aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <account>.dkr.ecr.<region>.amazonaws.com</pre><br />Jika Anda tidak berencana untuk menggunakan Amazon ECR, ikuti petunjuk yang diberikan untuk sistem registri kontainer Anda. | AWS DevOps | 
| Buat repositori kontainer. | Buat repositori di Amazon ECR. Untuk petunjuknya, lihat pola [Menerapkan lingkungan untuk aplikasi Blu Age dalam kontainer](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html) menggunakan Terraform.<br />Jika Anda menggunakan sistem registri kontainer lain, ikuti instruksi yang diberikan untuk sistem itu. | AWS DevOps | 
| Tandai dan dorong wadah Anda ke repositori target. | Jika Anda menggunakan Amazon ECR:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html)<br />Untuk informasi selengkapnya, lihat [Mendorong gambar Docker](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) di *Panduan Pengguna Amazon ECR*. | AWS DevOps | 

## Sumber daya terkait
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-resources"></a>

**Sumber daya AWS**
+ [Repositori wadah sampel AWS Blu Age](https://github.com/aws-samples/aws-blu-age-sample-container)
+ [Menjalankan beban kerja mainframe Blu Age yang dimodernisasi pada infrastruktur AWS tanpa server](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Menerapkan lingkungan untuk aplikasi Blu Age dalam kontainer dengan menggunakan Terraform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html)
+ [Menggunakan Amazon ECR dengan AWS CLI](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html) (Panduan Pengguna *Amazon ECR*)
+ [Otentikasi registri pribadi](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html) (*Panduan Pengguna Amazon ECR*)
+ [Dokumentasi Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html)
+ [Dokumentasi Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html)

**Sumber daya tambahan**
+ [Situs Blu Age](https://www.bluage.com/)
+ [Situs Docker](https://docker.com/)