Di serial tutorial ini saya akan memperagakan cara untuk membangun aplikasi modern menggunakan bahasa PHP dan framework Yii2. PHP adalah bahasa pemrograman yang paling populer di Indonesia. Tidak hanya sebagai bahasa yang diadopsi pemula di bidang pemrograman, PHP juga dipakai untuk produksi di banyak sekali organisasi mulai dari startup, non-profit, pendidikan, pemerintahan, hingga enterprise. Saya banyak terlibat dalam percakapan dengan organisasi ini yang mulai ingin memodernisasi aplikasi PHP mereka dan juga yang telah berhasil mengadopsi pengembangan aplikasi modern dengan berangkat dari aplikasi PHP. Saya berharap tutorial ini dapat memberikan contoh dan gambaran bagi rekan-rekan para pemrogram yang menggunakan bahasa PHP sekaligus mencoba berbagai jenis layanan AWS untuk meningkatkan kelincahan organisasi Anda semua.

Saya sangat menyarankan untuk membaca e-book tentang Modern Application Development dari AWS (klik untuk mengunduh) untuk mengenali bagaimana meningkatkan kelincahan atau agility di organisasi dengan mengadopsi pengembangan aplikasi modern. Buku tersebut merinci karakteristik pengembangan aplikasi modern dan kisah sukses pelanggan AWS yang berhasil memodernisasi tim pengembangan mereka dalam perjalanan melakukan transformasi digital.

Pada bagian pertama ini, kita akan menelusuri bagaimana cara melakukan deployment aplikasi di cloud. Saya akan menggunakan beberapa layanan dari AWS yakni Amazon Elastic Container Service, Amazon Elastic Container Registry, AWS Fargate, dan AWS Cloud Development Kit. Sebelum memulai menjelaskan langkah-langkah pembangunan, saya akan menjelaskan secara singkat tentang layanan-layanan tersebut.

Amazon Elastic Container Service

Amazon Elastic Container Service atau Amazon ECS adalah layanan untuk melakukan orkestrasi container yang aman, cepat, mudah, dan highly scalable dan sepenuhnya dikelola oleh AWS. Dengan layanan Amazon ECS kita dengan mudah dapat menjalankan dan menghentikan container Docker untuk aplikasi kita. Layanan ECS ini terintegrasi dengan banyak layanan AWS lainnya seperti Amazon Route53, Amazon CloudWatch, dan AWS IAM. Amazon ECS sangat cocok bagi kita yang ingin mengembangkan secara cepat aplikasi yang tersusun oleh layanan-layanan kecil atau microservice di atas container dan ingin lebih cepat terintegrasi dengan layanan AWS lainnya.

Klik ini untuk belajar lebih lanjut tentang Amazon ECS.

Amazon Elastic Container Registry

Amazon Elastic Container Registry atau Amazon ECR adalah layanan yang sepenuhnya dikelola AWS untuk menyimpan, mengambil, dan mendeploy Docker container image. Akses pengelolaan untuk ECR ini sudah terintegrasi dengan AWS IAM. Selain itu karena ECR ini dikelola di atas arsitektur yang highly scalable dan highly available, maka Anda dapat secara reliable melakukan deployment aplikasi Anda yang berbasis container.

Klik di sini untuk belajar lebih lanjut tentang Amazon ECR.

AWS Fargate

AWS Fargate adalah serverless compute engine atau mesin komputasi tanpa-server untuk menjalankan container yang bekerja baik untuk Amazon Elastic Container Service (Amazon ECS) dan Amazon Elastic Kubernetes Service (Amazon EKS). Serverless bukan berarti tidak ada server di balik layanan ini, melainkan layanan ini akan memudahkan Anda untuk fokus dalam pengembangan aplikasi Anda tanpa harus banyak menginvestasikan waktu dalam mengelola server. Fargate akan menjalankan ECS task atau EKS pod secara aman dalam lingkungan yang terisolasi. Anda cukup membayar tergantung resource yang Anda butuhkan. Selain itu, adanya Fargate Spot dapat membantu Anda menekan biaya hingga 70% dibandingkan On-Demand.

Klik ini untuk belajar lebih lanjut tentang AWS Fargate.

AWS Cloud Development Kit

AWS Cloud Developmet Kit atau AWS CDK adalah opensource development framework yang dapat memudahkan kita untuk mendefinisikan dan memodelkan infrastruktur dan resource yang kita butuhkan di Cloud dengan bahasa pemrograman yang familiar seperti Java, Javascript, Typescript, dan Python. Karena menggunakan bahasa pemrograman yang familiar, kita dapat lebih cepat untuk membaca model infrastruktur kita. Selain itu, karena infrastrukturnya terdefinisi dalam kode, kita mudah melihat perubahan infrastruktur dari waktu ke waktu. Proses provisioning yang otomatis menggunakan CDK akan membantu kita menghindari kesalahan yang mungkin terjadi jika kita membangun infrastruktur secara manual lewat konsol web. Dan terakhir, kita dapat dengan mudah menggunakannya kembali untuk proyek lain bahkan membagikannya ke tim pengembang lain dalam bentuk library.

Klik di sini untuk belajar lebih lanjut tentang AWS CDK.

Di halaman berikutnya kita akan belajar cara deployment ke Amazon ECS menggunakan AWS CDK. Klik ini untuk melanjutkan.

Leave a comment

Leave a Reply

%d bloggers like this: