This document provides an overview of AWS Cloud solutions from Dony Riyanto. It begins with introducing basic concepts of cloud computing, trends, experiences, and future predictions. It then discusses what AWS is, compares AWS to other cloud providers, and the technologies used by AWS like virtualization. It outlines several AWS services including EC2, IAM, S3, RDS, and Lambda. It discusses strategies for learning AWS and concludes with an introduction to cloud computing fundamentals.
3. Apa itu AWS?
• Amazon Web Service (AWS) adalah layanan cloud terpopuler di
dunia sampai saat ini (lihat Gartner Magic Quadrant).
• AWS lahir dari kebutuhan perusahaan Amazon sendiri yang
mengawali bisnisnya dengan penjualan buku secara online lalu
menjadi salah satu eCommerce terbesar dunia sampai saat ini.
Dan merambah ke berbagai bisnis lain termasuk retail.
• AWS lahir menjawab kebutuhan startup digital, yang butuh
kecepatan pengembangan dan agilitas, sehingga harus
fleksibel/elastis.
• AWS begitu populer karena lahir tepat di era berkembangnya
startup dan generasi digital-native
4. AWS vs other cloud?
• Selain AWS ada beberapa penyedia layanan cloud lain yang juga
populer di dunia. Antara lain: Google Cloud Platform (GCP), Azure
dari Microsoft, juga muncul pemain-pemain baru namun
berkembang cukup pesat seperti Alibaba Cloud (aliyun),
DigitalOcean, dsb. Di Indonesia sendiri juga ada beberapa
penyedia layanan cloud seperti Biznet Gio, Infinity Cloud, dsb.
• Namun secara umum biasanya yang cukup bersaing di startup
adalah AWS dan GCP. Azure lebih populer di pengguna teknologi
.Net dan teknologi Microsoft lainnya.
5. Apa Teknologi yang Dipakai AWS?
• AWS banyak mengembangkan teknologi dan produk sendiri, yang biasanya
juga merupakan pengembangan dari teknologi opensource atau teknologi
propietary lain.
• Secara umum AWS berkembang sejak adanya teknologi virtualisasi
khususnya untuk komputasi dan penyimpanan (storage). Yang sekarang
berkembang sangat pesat bahkan sampai pada teknologi container dan
serverless. Ini semua bisa terjadi karena dilakukan resource pooling
menggunakan teknologi virtualisasi.
• Beberapa teknologi yang dikembangkan AWS memang propietary/hak paten
AWS yang tidak dibuka kode sumber-nya. Dalam hal penggunaan
layanannya pun banyak yang mengharuskan penggunakan SDK/Library
yang dibuat khusus oleh AWS.
6. Mengenal Layanan-layanan AWS
• Layanan AWS ada banyak sekali dan terus berkembang. Antara
lain:
– AWS Elastic Compute Cloud (EC2)
– AWS Identity & Access Management (IAM)
– AWS Simple Storage Service (S3)
– AWS Relational Database Service (RDS)
– AWS DynamoDB (Database tipe NoSQL yang dikembangkan AWS)
– AWS CloudFront (a.k.a content delivery network/CDN)
– AWS Lamda (a.k.a serverless)
– AWS Simple Notification Service (SNS)
– dan lain sebagainya
• Daftar layanan lengkap AWS beserta penjelasan singkatnya
bisa di download di https://d1.awsstatic.com/whitepapers/aws-
overview.pdf
7. Strategi Belajar
• AWS lahir pada era digital-native. Sifat alamiahnya adalah mudah untuk
dipelajari/diserap dan pergunakan luas oleh para digital-native. Maka mempelajari
layanan-layanan AWS seharusnya relatif mudah dibanting teknologi-teknologi
propietary yang harus dilakukan pembelian putus, maupun teknologi open source
namun belum berkembang/dipakai luas.
• AWS menyediakan beberapa sertifikasi, antara lain: AWS Solution Architect, AWS
DevOps Engineer, dsb (selengkapnya bisa dilihat di
https://aws.amazon.com/certification/ )
• Online Course. Banyak tersedia online course baik yg free maupun berbayar. Antara
lain bisa melakui Udemy
• Komunitas dan event. AWS banyak memberikan webinar, menyelenggarakan event
pelatihan, dan sering juga dibahas di komunitas-komunitas seperti komunitas
DevOps, Microservices, Deeptech, Cloud Native, dsb.
9. Pre-Course Quiz
• What is Cloud Computing?
• What is the difference of Cloud, web
hosting and VPS?
• What is virtualization?
• Is Cloud Computing secure?
• What is Business Continuity (BC)?
10. Objectives
• Introducing Cloud Computing basics
• Have the knowledge of the profit/benefit of cloud
computing
• Improve the skill to evaluate and analyze the
cloud computing usage for the organization
• Preparation to a proper Cloud Computing
certification process
11. Introducing to Cloud Computing
• Cloud computing is a computing paradigm, where a large
pool of systems are connected in private or public
networks,to provide dynamically scalable infrastructure for
application, data and file storage. With the advent of this
technology, the cost of computation, application hosting,
content storage and delivery is reduced significantly.
• Forrester defines cloud computing as: “A pool of abstracted,
highly scalable, and managed compute infrastructure capable
of hosting end-customer applications and billed by
consumption.”
12. 1212
According to NIST Cloud computing is
a model for enabling ubiquitous,
convenient, on-demand network
access to a shared pool of
configurable computing resources
(e.g., networks, servers, storage,
applications, and services) that
can be rapidly provisioned and
released with minimal
management effort or service
provider interaction. (Special
Publication 800-145)
Introducing to Cloud Computing
13. Introducing to Cloud Computing
“The simplest way to define
cloud computing,” says
Devadas, “is that it involves
using a computer that is not
on your desk.” Instead,
you’re using a computing
service powered by a cluster
of hardware somewhere in
the world and delivered to
your terminal over the
Internet.
~ Srini Devadas
(http://www.csail.mit.edu/user/792)
14. 1414
What It Provides
• Cloud computing provides shared services as
opposed to local servers or storage resources
• Enables access to information from most web-
enabled hardware
• Allows for cost savings – reduced facility,
hardware/software investments, support
15. 1515
Essential Characteristics
• On-demand self-service
A consumer can unilaterally provision computing capabilities,
such as server time and network storage, as needed
automatically without requiring human interaction with each
service provider.
• Broad network access
Capabilities are available over the network and accessed
through standard mechanisms that promote use by
heterogeneous thin or thick client platforms (e.g., mobile
phones, tablets, laptops, and workstations).
Source: NIST Special Publication 800-145
16. 1616
Characteristics
• Resource pooling
The provider’s computing resources are pooled to serve
multiple consumers
Resources can be dynamically assigned and reassigned
according to customer demand
Customer generally may not care where the resources are
physically located but should be aware of risks if they are
located offshore
Source: NIST Special Publication 800-145
17. 1717
Characteristics
• Rapid elasticity
Capabilities can be expanded or released automatically
(i.e., more cpu power, or ability to handle additional users)
To the customer this appears seamless, limitless, and
responsive to their changing requirements
• Measured service
Customers are charged for the services they use and the
amounts
There is a metering concept where customer resource usage can
be monitored, controlled, and reported, providing
transparency for both the provider and consumer of the utilized
service
Source: NIST Special Publication 800-145
19. Virtualization
• Virtual workspaces:
– An abstraction of an execution environment that can be made
dynamically available to authorized clients by using well-defined
protocols,
– Resource quota (e.g. CPU, memory share),
– Software configuration (e.g. O/S, provided services).
• Implement on Virtual Machines (VMs):
– Abstraction of a physical host machine,
– Hypervisor intercepts and emulates instructions from VMs, and
allows management of VMs,
– VMWare, Xen, etc.
• Provide infrastructure API:
– Plug-ins to hardware/support structures Hardware
OS
App App App
Hypervisor
OS OS
Virtualized Stack
20. Virtual Machines
• VM technology allows multiple virtual
machines to run on a single physical
machine.
Hardware
Virtual Machine Monitor (VMM) / Hypervisor
Guest OS
(Linux)
Guest OS
(NetBSD)
Guest OS
(Windows)
VM VM VM
AppApp AppAppApp
Xen
VMWare
UML
Denali
etc.
Performance: Para-virtualization (e.g. Xen) is very close to raw physical performance!
20
21. Virtualization in General
• Advantages of virtual machines:
– Run operating systems where the physical hardware is
unavailable,
– Easier to create new machines, backup machines, etc.,
– Software testing using “clean” installs of operating
systems and software,
– Emulate more machines than are physically available,
– Timeshare lightly loaded systems on one host,
– Debug problems (suspend and resume the problem
machine),
– Easy migration of virtual machines (shutdown needed or
not).
– Run legacy systems! 21
22. • Cloud Computing is Virtualization
• But Cloud Computing is not virtual
• Not every virtualization is cloud computing
23. Rationale for Private Cloud:
• Security and privacy of business data was
a big concern
• Potential for vendor lock-in
• SLA’s required for real-time performance
and reliability
• Cost savings of the shared model achieved
because of the multiple projects involving
semantic technologies that the company is
actively developing
30. Business Models:
• Cloud computing basic service models =
business models
• PaaS, IaaS, SaaS
• But many other things could be 'as a
services'
• Too many services can be delivered, and
driving business models to the edge
Cloud Business Analysis
31. Cloud computing readiness
best practices
• To make sure we are well prepared of
Cloud Computing adoption/business, there
are several course, exam/certification of
Cloud Computing related
• A general (non specific technical)
course/awareness training is a good start
• Prepared some Cloud Computing
certified/skilled is a great move. There are
some popular certifications
33. Cloud computing readiness
best practices
• There are no best way to start Cloud Computing
adoptions/businesses
• You have to tailored it your own
• When it come to choose the best tech stack, try to start
learning from some open initiatives like OpenStack. They
offering market place also (including some consulting and
integrator firm)
• It is also a good way to make partnership with some
technology owner/providers
• Keep aware that, cloud computing business is rapidly change,
move and disrupted.
35. Apa yang baru di Cloud Computing?
• Teknologi Cloud Computing berkembang sangat pesat. Saat ini sangat
aktif berkembang teknologi seputaran serverless dan container
(docker, kubernetes, dsb)
• Apa itu serverless?
– Dengan berkembangnya Functional Programming (dan juga microservices), sehingga
memungkinkan kita untuk cukup fokus pada fungsi. One function at a time. Tiap fungsi ini kita
buat/daftarken ke layanan serverless. Contoh: jika mengacu pada konsep (yang
disederhanakan) Uber, maka setidaknya ada 5 fungsi dasar yaitu: Passenger Management,
Driver Management, Trip Management, Billing dan Payment.
– Tiap fungsi ini bisa didaftarkan menjadi pada layanan serverless, tanpa kita perlu pusing
dengan konfigurasi server, kapasitas server, dsb.
– Serverless biasanya hitung berdasarkan traffic/hit
– Serverless tentu bisa (harus) di integrasikan dengan layanan cloud lain seperti api
gateway/management, storage atau cloud database.
45. Step 1: Register to AWS
• Buka aws.amazon.com
• Lakukan registrasi
• Dibutuhkan kartu kredit untuk menyelesaikan registrasi
(ada biaya yang di charge namun akan dikembalikan)
• Login ke web AWS Management Console
• AWS menyediakan banyak layanan gratis dengan syarat
dan ketentuan, silahkan cek aws.amazon.com/free
46. Step 2: AWS IAM
• Dari “services” pilih AWS IAM
• Ada beberapa step yang bisa/harus dilakukan disana, antara lain
membuat user baru
• AWS memiliki banyak policy template. Setiap policy dibuat
configurasinya dalam sebuah file dengan format JSON
• Setiap policy melibatkan: user, group, rule
• Policy bisa di terapkan (applied) langsung ke user atau group.
• Jangan lupa untuk mengambil Access Key dan Secret Key (secret
key hanya dimunculkan sekali)
47. Step 3: EC2
• Kembali ke halaman utama AWS Management Console
• Pilih “Services”, lalu pilih EC2
• Kita akan dihadapkan dengan pilihan berbagai OS yang
sudah disediakan
• Paling atas biasanya adalah Amazon Machine Image
(AMI) Linux dan Linux 2 (baca perbedaa antara AMI Linux
dan AMI Linux 2 disini https://aws.amazon.com/amazon-
linux-2 )
• Selesaikan hingga instance EC2 terbuat
48. Step 4: Login ke instance EC2
• Setelah kita membuat instance EC2, kita bisa log-in ke dalam instance
tersebut. Ada perbedaan cara log-in untuk beberapa OS. Untuk OS
berbasis linux biasanya dilakukan dengan menggunakan terminal.
Terminal linux bida diakses dengan beberapa cara: SSH client, web
terminal. Untuk OS Windows bisa dilakukan dengan menggunakan
remote desktop.
• Untuk login menggunakan terminal, kita pembutuhkan private key berupa
file (*.pem) yang terbuat/download saat kita membuat instance EC2
• Contoh perintah login terminal:
ssh -i "my.pem" ec2-user@ec2-xxx.ap-southeast-
1.compute.amazonaws.com
• Setelah login ke terminal, lalukan semua aktivitas yang dibutuhkan seperti
sedang mengakses VPS/baremetal server biasa
49. Step 5: AWS S3
• Kembali ke halaman utama
• Pilih AWS S3
• Pilih “Create Bucket”
• Proses dalam 4 langkah: name & region, configure
options, set permissions, review
• Klik bucket yang baru saja kita create
• Tiap bucket bisa kita pakai selayaknya layanan drive
online (seperti Google Drive atau Dropbox)
• AWS S3 bisa diakses dengan 3 cara: menggunakan web
(GUI) seperti diatas, menggunakan AWS CLI (command
line interface), secara programatic menggunakan
SDK/public URL
50. Step 6: AWS RDS
• Kembali ke halaman utama, lalu pilih RDS
• RDS adalah layanan cloud untuk RDBMS, dengan berbagai pilihan:
Oracle, SQL Server, PostgreSQL, Mysql, dsb. Termasuk produk RDBMS
milik AWS sendiri yaitu Amazon Aurora
• Click “Create Database”
• Selesaikan dengan mengisi beberapa langkah: choose database creation
method, engine option, features, template, settings, size, dsb.
• Setelah selesai, jangan lupa untuk melihat/menyimpan credential sesuai
kebutuhan.
• Koneksi ke database server melui EC2 instance/Lambda atau
menggunakan database client/browser seperti Navicat, HeidiSQL,
DBeaver, dsb
51. Step 7: AWS Lambda
• Kembali ke halaman utama, lalu pilih Lambda
• Lalu click “Create Function”
• Selesaikan dengan mengisi: choose options, basic information
• Pilih bahasa pemrograman yang akan dipakai (umumnya function
programming seperti NodeJS (javascript ) atau Python
• Format function harus menyesuaikan dengan format function
yang ditentukan Lambda
• Setiap function bisa di hubungkan dengan service lain, seperti
AWS S3, RDS ataupun API Gateway
53. Application Deployment
• Login ke salah satu instance EC2
• Lakukan instalasi supporting software
• Lakukan instalasi dependency
• Lakukan setup jika dibutuhkan
• Up service
54. AWS 6 R's
What Is a Cloud Migration Strategy?
The cloud migration process, as described by Amazon,
encompasses five stages:
• Phase 1: Migration Preparation and Business Planning
• Phase 2: Discovery and Planning
• Phase 3: Designing the Migration
• Phase 4: Migrating and Validating Applications
• Phase 5: Operations
https://cloud.netapp.com/blog/aws-migration-strategy-the-6-rs-in-depth
57. Workload Discovery
Workload assesment category:
• Retain -> Maintain workload in on-prem or co-location facility
• Retire -> Evaluation usually indentify a number of workloads that can be shutdown
• Rehost -> Simple lift and shift (IaaS)
• Replatform -> Reconnect or optimize Legacy System workloads with Cloud
Platform service (IaaS)
• Refactor -> Refactor parts of the application to improve scale or to leverage new
service
• Replace -> Replace legacy systems with Commercial Off The Shelf (COTS)/SaaS
apps that are easier to support (monstly SaaS solution, like salesforce)
• Rebuild -> Rebuild the application to modernize with e.g: Docker or Kubernetes
(PaaS)
58. Prioritize
• Group 1: First movers. Cloud ready. The biggest business
improvement impact, with less effort to implement.
• Group 2: Second movers. Temporary state, e.g:
master/slave component, caching, service discovery
• Group 3: Compatible Legacy System / Database Server
59. Customer Case Study*
1. eCommerce
– 500 apps
– Refactor
– 30 person
– 7 months
2. Telco
– 50 apps
– Replatform
– 10 person
– 3 months
3. Logistic
• 100 apps
• Rehost
• 8 person
• 5 months
4. Bank
• 70 Apps
• Rehost & Rebuild
• 10 person
• 5 months