Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dicoding Developer Coaching #47: Back-End | Lay...

Dicoding Developer Coaching #47: Back-End | Layanan Komputasi di AWS

Layanan utama dan fundamental yang perlu diketahui saat belajar tentang AWS adalah layanan komputasi. AWS memiliki rentetan layanan komputasi yang komprehensif, mulai dari virtual machine hingga container orchestrator. Setiap layanan yang tersedia tentunya memiliki fungsinya sendiri-sendiri, sehingga kita perlu memilihnya sesuai kebutuhan.

Penasaran apa saja layanan-layanan komputasi di AWS beserta fungsi-fungsinya? Simak lebih lengkapnya pada Developer Coaching dengan poin pembahasan seperti berikut:

- Infrastructure as a Service dengan Amazon EC2
- Platform as a Service dengan AWS Elastic Beanstalk
- Container as a Service dengan Amazon ECS, Amazon EKS, dan AWS Fargate
- Function as a Service dengan AWS Lambda

Dicoding Indonesia

May 13, 2022
Tweet

More Decks by Dicoding Indonesia

Other Decks in Education

Transcript

  1. Selamat kepada Pemenang Giveaway Share Poster Dicoding Developer Coaching #47

    Layanan Komputasi di AWS @suf.aal ✅ Jaket Hoodie Dicoding
  2. Selamat kepada Pemenang Giveaway ✅ Jaket Hoodie Dicoding @bmntrm ✅

    3 Token Langganan Dicoding Academy (30 Hari) @b_chareeze @naya_24 @vwxyogaa
  3. Layanan Komputasi di AWS Dicoding Developer Coaching #47 Fikri Helmi

    Setiawan Curriculum Developer REPLACE ME (Silakan ubah dengan image yang relevan sesuai materi)
  4. Model Layanan di Cloud Computing Infrastructure as a Service (IaaS)

    • Paling fleksibel • Memberikan kontrol penuh • Menyediakan akses ke fitur network, virtual machine, storage, dan OS. Platform as a Service (PaaS) • Menyediakan lingkungan untuk development, testing, dan production aplikasi. • Tak perlu mengelola infrastruktur. • Fokus pada aplikasi. Software as a Service (SaaS) • Produk lengkap siap pakai. • Pengguna hanya perlu memikirkan bagaimana aplikasi digunakan. • Contoh: Google Workspace, Dropbox, Cisco WebEx, Netflix.
  5. Amazon EC2 • Layanan yang menyediakan server virtual di cloud

    yang secure, resizable, dan scalable. • Menghilangkan kebutuhan untuk membeli perangkat keras di awal, sehingga kita dapat develop dan deploy aplikasi lebih cepat. • Konfigurasi security, networking, dan storage sesuai kebutuhan. • Scale up atau scale out dengan mudah untuk menangani lonjakan traffic.
  6. Amazon EC2 Instance (VM) under the hood • Infrastructure: Physical

    hardware (CPU, Memory, dsb). • Host OS: OS pada physical hardware • Hypervisor: Software atau hardware untuk membuat dan menjalankan VM. • Guest OS: OS pada VM. • Bins/Lib: Binaries, Library, atau Dependencies yang dibutuhkan aplikasi. • App: Aplikasi yang kita deploy
  7. Fitur-Fitur Amazon EC2 • Instances: Virtual machine. • AMI: Preconfigured

    templates (OS dan additional software yang diperlukan). • Instance types: Berbagai konfigurasi CPU, memory, storage, dan networking. • Key pairs: Informasi untuk login ke instance dengan aman (asymmetric). • Instance store: Storage volumes yang terpasang pada instance untuk penyimpanan data sementara (data terhapus saat instance stop, hibernate, atau terminate). • EBS volumes: Persistent storage volumes, seperti external hard drive (data tidak akan terhapus jika instance stop, hibernate, atau terminate). • Region dan AZ: Lokasi fisik untuk menempatkan resource (instance). • Security group: Firewall untuk menentukan protocols, ports, dan source IP ranges yang memasuki instance. • Elastic IP address: Public static IPv4 address untuk instance. • Tags: Label untuk memudahkan pencarian instance. • VPC: Virtual networks untuk menempatkan instance.
  8. AWS Elastic Beanstalk • Layanan yang mudah digunakan untuk deploying

    dan scaling web application dan service, tanpa harus memikirkan infrastruktur yang menjalankan aplikasi tersebut. • Support Java, .NET, PHP, Node.js, Python, Ruby, Go, dan Docker. • Saat kita deploy aplikasi, Elastic Beanstalk akan provision satu atau lebih AWS resource (seperti EC2 instance) dan menyiapkan semua yang dibutuhkan untuk menjalankan aplikasi Anda.
  9. AWS Elastic Beanstalk (cont.) • Cara pakai: ◦ Cukup unggah

    kode, dan Elastic Beanstalk pun secara otomatis akan menangani proses deployment: capacity provisioning, load balancing, auto scaling, hingga application health monitoring. • Kita tetap memegang kontrol penuh atas sumber daya AWS yang di-deploy, seperti mengelola environment dan deploy version yang baru. Gambaran alur kerja Elastic Beanstalk
  10. Container • Apa itu Container? ◦ Container menyediakan cara standar

    untuk mengemas kode, konfigurasi, dan dependensi aplikasi ke dalam satu objek. • Bagaimana cara kerjanya? ◦ Dengan berbagi sistem operasi yang terinstal di server dan dijalankan sebagai proses yang terisolasi. • Mengapa harus menggunakan container? ◦ Mendukung deployment yang cepat dan andal. ◦ Ringan ◦ Konsisten dan portabel, mampu dijalankan di berbagai environment, baik Linux, Windows, maupun macOS. • Use case: ◦ Membangun microservices ◦ Menjalankan batch jobs ◦ Aplikasi machine learning ◦ Migrasi aplikasi dari on-premise ke cloud
  11. Container under the hood • Infrastructure: Physical hardware (CPU, Memory,

    dsb). • Host OS: OS pada physical hardware. • Container Engine: Komponen software yang dapat menjalankan container di atas Host OS. • Bins/Lib: Binaries, Library, atau Dependencies yang dibutuhkan aplikasi. • Application: Aplikasi yang kita deploy.
  12. Container Orchestrator (Pengelola Container) Amazon ECS • Layanan container orchestrator

    fully managed yang memudahkan kita untuk deploy, manage, dan scale containerized application. • Sangat terintegrasi dengan platform AWS lainnya untuk memberikan solusi yang aman dan mudah digunakan untuk menjalankan container workload di cloud. • Serverless by default dengan AWS Fargate (launch type). • Opsi lain, bisa juga menggunakan Amazon EC2 untuk mendapatkan kontrol lebih. Amazon EKS • Layanan container yang terkelola untuk run dan scale aplikasi berbasis Kubernetes di cloud atau on-premise. • Kubernetes adalah software open-source yang memungkinkan kita untuk menjalankan dan mengelola container dalam skala besar. • Pilih launch type: ◦ AWS Fargate: Deploy serverless containers ◦ Amazon EC2: Deploy worker nodes untuk EKS Cluster.
  13. Apa perbedaan antara Amazon ECS dan Amazon EKS? Amazon ECS

    dan Amazon EKS adalah sistem manajemen container yang membantu Anda menjalankan container dalam skala besar. Namun: • Amazon EKS menjalankan Kubernetes dan menggunakan API Kubernetes • Amazon ECS memiliki integrasi mendalam dengan layanan AWS lain dan menggunakan AWS API.
  14. AWS Lambda • Layanan komputasi serverless dan event-driven yang memungkinkan

    kita untuk menjalankan kode, tanpa perlu provision atau manage server. • Support Node.js, Python, Ruby, Java, Go, .NET Core. • Kode hanya akan berjalan saat dibutuhkan dan akan scaling secara otomatis, mulai dari beberapa request per hari hingga ribuan per detik.
  15. Use Case (File Processing) Gunakan Amazon S3 untuk men-trigger data

    processing pada AWS Lambda secara real time setelah pengunggahan.
  16. Use Case (Mobile Backends) Gabungkan AWS Lambda dengan layanan AWS

    lainnya untuk membangun aplikasi web canggih yang secara otomatis melakukan scaling dan highly available.
  17. Dicoding Dicoding Dicoding Dicoding Indonesia Contact us : Contact me

    : [email protected] REPLACE ME (Silakan ubah dengan image yang relevan sesuai materi)
  18. Selamat kepada Pemenang Giveaway Share Poster Dicoding Developer Coaching #47

    Layanan Komputasi di AWS @suf.aal ✅ Jaket Hoodie Dicoding
  19. GIVEAWAY! Dapatkan: ✅ 3 Paket Langganan Dicoding Academy Selama 30

    hari yang dapat kamu gunakan untuk semua kelas dicoding.id/devcoaching47