Anda di halaman 1dari 26

SILABUS

SEKOLAH DEVOPS
CILSY

Cilsy Fiolution
www.cilsy.id
Sarijadi Blok 23 No. 80 – Bandung
SILABUS DEVOPS
Bab Materi Pokok Detail Materi Indikator Tugas/Test Mingguan Small Project

1 Pengenalan 1. Roadmap apa aja yang 1. Peserta Kalian diposisikan sekarang


Roadmap SDC dan akan kita pelajari dari awal mengetahui sebagai seorang sysadmin di
DevOps sampai akhir. Roadmap dari perusahaan startup bernama PT.
2. Pengenalan DevOps proses Samehada, perusahaan tersebut
3. Mengenal Proses pembelajaran akan mencoba aplikasi web baru
Development Aplikasi yang akan di server mereka. Maka berikut
4. Masalah Utama pada mereka tempuh beberapa hal yang harus kalian
Proses Development di sekolah lakukan :
5. Bagaimana DevOps devops cilsy
berkembang dan menjadi 2. Peserta 1. Buat sebuah topologi
solusi mengetahui dan jaringan untuk infrastruktur
6. DevOps sekarang dan memahami server yang akan kalian
yang akan datang mengenai dunia buat.
7. How DevOps Works DevOps dan 2. Tentukan berapa saja IP
8. DevOps Dimata Industri Culture kerja Address yang akan kalian
dari seorang berikan, sesuai dengan
devops tersebut infrastructure tersebut.
3. Buat sebuah bash script
2 Networking Dasar 1. Networking Fundamental 1. Memahami Teori : yang berisi script untuk
dan Roadmap a. Pengenalan Jaringan konsep dasar 1. Jelaskan menurutmu menginstallkan layanan
Topologi DevOps Komputer jaringan, dapat apa yang dimaksud Webserver dan Database
b. Macam-macam memanipulasi IP dengan jaringan ? server.
Jaringan Addres dan 4. Setup Web Apps pada
c. Topologi Jaringan dapat membaca Praktek : server yang sudah kita
d. Macam-macam topologi 1. Buatlah skema jaringan buat.
Perangkat Jaringan jaringan. untuk sebuah ruangan 5. Upload content yang sudah
2. TCP/IP dan OSI 2. Memahami warnet yang memiliki kita buat ke Git.
a. Pengenalan Model OSI roadmap dari satu buah server dan 20 6. Lalu buat commit baru pada
b. Pengenalan Model topologi yang komputer didalamnya. repository git tersebut.
TCP/IP akan dibangun a. Tentukan tolopogi
3. IP Address di sekolah yang akan

1 | Silabus Sekolah DevOps Cilsy Batch 2


a. Pembagian Kelas IP devops cilsy. digunakan.
Address b. Berapa IP Address
b. Prefix-length dan dan Subnet yang
Subnet Mask akan digunakan
4. Menggambar dan
Membaca Topologi
5. Dasar Routing
a. Jenis Routing
b. Teknik/Metode Routing
c. Default route, gateway,
NAT
6. Roadmap topologi
keseluruhan yang akan
dibangun di Sekolah
DevOps.

3 Pengenalan Linux & 1. Pengenalan Linux dan Memahami fungsi Teori :


Pemrograman Dasar Command Line utama dari server, 1. Sebutkan
2. Mengenal Server dapat Macam-macam distro
3. Mengenal GNU/Linux mengoperasikan linux
4. Struktur Direktori Sistem Operasi Linux
GNU/Linux dan membuat bash Praktek :
5. Perintah-Perintah Dasar scripting untuk 1. Membuat file bash
Command Line Linux kebutuhan automasi untuk menginstall
6. Belajar permission webserver dan
7. Belajar Manajemen paket database server,
& layanan muncul tulisan installasi
8. Topologi yang akan berhasil ketika selesai
dibangun dijalankan.
9. Installasi Webserver 2. Setup webserver dan
10. Setup Web Aplikasi di database server.
Webserver 3. Setup web aplikasi di
11. Programming Fundamental webserver.
menggunakan Shell
Scripting
a. Pengenalan Shell

2 | Silabus Sekolah DevOps Cilsy Batch 2


Scripting
b. Konsep Pemrograman
if, while dan for
c. Pemrograman Shell
d. Bash Scripting
12. Membuat automasi
installasi webserver
menggunakan bash file
dengan beberapa logic if,
for, atau while didalamnya.

4 Git 1. Pengenalan Git Dapat menggunaka 1. Buat sebuah repository


2. Installasi Git Git untuk menyimpan baru di Github/Gitlab.
3. Membuat Repository dan konten aplikasi 2. Upload konten web ke
Revisi github/gitlab.
a. Gitignore 3. Buat dua commit baru
4. Git Pull & Git Push pada repository
5. Topologi dan Roadmap tersebut.
yang akan dibangun.
6. Remote Repository
a. Membuat Repository di
Github dan Gitlab
b. Menambah Remote
Repository
c. Menggunakan SSH di
Github
d. Mengirim dan
Mengambil Revisi ke
Remote Repository
e. Clone Remote
Repository
7. Praktek Push & Pull web
lokal ke Github/gitlab

5 AWS (Amazon Web 1. Pengenalan AWS (Amazon 1. Mengenal 1. Buat Sebuah VPC baru Setelah perusahaan PT.
Service) Basic Web Service) Amazon Web dengan menggunakan Samehada sudah melakukan

3 | Silabus Sekolah DevOps Cilsy Batch 2


server Production a. Pengenalan Cloud Service, Dapat nama kalian. persiapan di server local,
Part 1 Computing merancang VPC 2. Buat 3 AZ dengan ternyata perusahaan tersebut
b. Pengenalan AWS untuk kebutuhan subnet yang berbeda ingin melakukan deployment
c. Sistem Pembayaran jaringan di AWS pada VPC tersebut. aplikasi web mereka ke server
AWS dan Dapat 3. Atur supaya VPC production dengan sistem cloud
d. Membuat dan Login merancang EC2 tersebut dapat infrastruktur. Maka berikut yang
AWS untuk kebutuhan terhubung dengan harus kalian lakukan :
e. Perbedaan AWS Server. internet.
dengan Cloud Sejenis 2. Dapat 4. Buat sebuah EC2 1. Buat sebuah VPC baru
2. Topologi dan roadmap melakukan Instance Ubuntu Server yang memiliki 4 AZ.
yang akan dibangun. deployment dengan type T2.micro 2. Buat sebuah instance
3. Pengenalan VPC (Virtual aplikasi dari 5. Setup aplikasi dari local dengan sistem operasi
Private Cloud) local ke ke server testing Ubuntu 18.04
4. Praktik VPC production menggunakan VPC yang
a. Membuat VPC sudah kalian buat
b. Membuat Subnet sebelumnya.
c. Internet Gateways 3. Aktifkan Autoscalling dan
d. NAT Gateway Load Balance pada
5. Pengenalan EC2 (Elastic Instance tersebut.
Cloud Compute) 4. Buat sebuah bucket S3
a. Instance Type baru
b. Keypairs 5. mounting S3 storage pada
c. Request Limit Instance instance tersebut.
AWS 6. Buat database baru dengan
6. Praktik EC2 menggunakan Amazon
a. Membuat EC2 RDS
Instance Linux dan 7. Deploy Aplikasi web dari
Windows Server lokal ke server production
b. Remote EC2 Instance yang sudah dibuat dan
via Linux dan Windows sudah di mounting S3,
Desktop simpan konten di storage
c. Elastic IP S3 dan gunakan database
7. Deploy Aplikasi Web di RDS sebagai databasenya
EC2 8. Buat subdomain di
a. Installasi Paket Route53, lalu arahkan
Aplikasi server production sehingga

4 | Silabus Sekolah DevOps Cilsy Batch 2


b. Installasi Aplikasi Web bisa diakses melalui
subdomain.
AWS (Amazon Web 1. Pengenalan Elastic Load Dapat melakukan 1. Buat Autoscalling pada 9. Setup CloudFront pada
Service) Basic Balancer penanganan server production yang Instance agar Kontent bisa
server Production 2. Topologi dan roadmap resources dan traffic sudah dibuat diakses lebih ringan oleh
Part 2 yang akan dibangun. pada Server sebelumnya. user.
3. Setup Elastic Load menggunakan 2. Buat Load Balancer
Balancer layanan Load pada server yang sudah
a. Konfigurasi Webserver Balancer dan autoscalling tersebut.
EC2 AutoScaling 3. Lakukan stres test untuk
b. Setup Classic Load menguji autoscalling
Balancer pada server tersebut.
c. Setup Application Load 4. Matikan salah satu
Balancer server load balace
d. Setup Networking Load untuk menguji load
Balancer balancer tersebut.
4. Pengenalan AutoScaling
5. Setup AutoScaling
a. Setup AMI
b. Konfigurasi
AutoScaling Group
6. Setup Kombinasi Load
Balancer dan Auto Scalling

AWS (Amazon Web 1. Topologi dan roadmap Dapat melakukan 1. Deploy Aplikasi Web
Service) Basic yang akan dibangun. deployment aplikasi menggunakan
server Production 2. Pengenalan Elastic menggunakan Elastic Beanstalk
Part 4 Beanstalk BeanStalk dan 2. Setup dan Integrasikan
3. Setup Elastic Beancstalk melakukan konsep CloudFront dengan EC2
a. Deployment Aplikasi CDN menggunakan 3. Testing CDN
4. Pengenalan Amazon CloudFront pada CloudFront
CloudFront beberapa service
a. Pengenalan CDN AWS
b. Amazon CloudFront
5. Setup Amazon CloudFront
a. Integrasi CloudFront

5 | Silabus Sekolah DevOps Cilsy Batch 2


Ke EC2

AWS (Amazon Web 1. Topologi dan roadmap Dapat membuat S3 1. Buat sebuah bucket S3
Service) Basic yang akan dibangun. sebagai storage baru
server Production 2. Pengenalan S3 content, 2. Mounting S3 pada
Part 5 a. Membuat Bucket S3 mendaftarkan domain server yang telah dibuat
Baru melalui Route53 dan 3. Setting Server dan
b. Membuat Public menggunakan RDS arahkan pada domain
Bucket Sebagai Database menggunakan Route53
c. Mounting Bucket S3 Server 4. Deploy Aplikasi Web
Sebagai Storage ke pada server yang sudah
EC2 di mounting S3 dan
3. Konfigurasi Penyimpanan domainnya diarahkan
Aplikasi di S3 Storage oleh Route53, Jangan
4. Pengenalan Route53 lupa simpan file web di
5. Topologi dan roadmap directori penyimpanan
yang akan dibangun. S3 dan gundakan
6. Setup Route53 database dari Amazon
a. Konfigrasi Domain di RDS
Route53
b. Konfigurasi
NameServer EC2 ke
Route53
c. Konfigurasi Domain ke
Route53
7. Pengenalan RDS
8. Topologi dan roadmap
yang akan dibangun.
9. Setup RDS
a. Membuat Database
Baru
b. Replica Database RDS
10. Setup Aplikasi Web
dengan Database RDS

6 Docker Container Docker instalation Memahami konsep 1. Menurut Anda seperti

6 | Silabus Sekolah DevOps Cilsy Batch 2


Fundamental & 1. Docker edition dasar dan arsitektur apa proses yang terjadi
Basic Docker a. CE vs EE docker serta dapat jika kita menjalankan
Orchestration in b. Edge vs stable mengoperasikan Container
Production Server c. Penjelasan penulisan docker menggunakan images
using Swarm (EC2) format versi yang sudah ada di
Part 1 2. Instalasi docker local? Ceritakan seperti
a. on Windows pada penjelasan
b. on Mac
c. on Linux Praktek
d. Install docker 1. Coba jalankan 3 buah
e. Install docker machine Container
f. Install docker version menggunakan image
g. Install visual studio yang sama yaitu :
code + docker add on mysql. Tapi
coba jalankan tanpa
All About Container menggunakan opsi
1. Pengecekan instalasi --name.
Docker 2. Tampilkan semua
2. Perintah-perintah dasar container yang sedang
Docker berjalan tersebut. Apa
a. Docker Version keanehan yang Anda
b. Docker Info temukan? Apa
c. Docker Help kesimpulan Anda?
d. Docker Command
format/structure (old
way & new way)
3. Arsitektur Docker
a. Client
b. Server
c. Container
d. Image
e. Registry
4. Manajemen Container
a. Menjalankan nginx
container (biasa dan
detach mode)

7 | Silabus Sekolah DevOps Cilsy Batch 2


b. Melihat container
yang berjalan
c. Menghentikan
container
d. Melihat container
dengan -a (melihat
ada yang sudah di
stop)
e. Menjalankan
container yang sudah
di stop
f. Docker logs dan top
g. Menghapus container
5. Apa yang terjadi ketika kita
menjalankan container?
a. Penjelasan step by
step ketika
menjalankan docker
run
b. Coba beberapa
kombinasi command
6. Perbedaan VM dan
Container? (its just a
process!)
7. Assignment!
a. Jalankan 3 docker
(mysql, apache, nginx)
beri nama
masing-masing dan
jalankan dengan
detach.
b. Cek apakah sudah
berjalan
c. Stop dan hapus
8. Monitoring dan
mendapatkan informasi

8 | Silabus Sekolah DevOps Cilsy Batch 2


penting dari container
a. Top
b. Inspect
c. Stats
9. Shell in container
a. run -it
b. exec -it
c. Different linux distros

Docker Container 1. Docker Concept Memahami konsep Teori


Fundamental & Networking docker networking 1. Menurut Anda apakah
Basic Docker a. Melihat ip address mungkin VM bisa lebih
Orchestration in container dan ringan dari Container
Production Server mempelajari ulang -p jika isi aplikasinya
using Swarm (EC2) opsi sama? Misalnya
Part 2 b. Belajar konsep network sama-sama OS Ubuntu
di docker atau sama-sama
c. Belajar alur paket Wordpress. Jika
network di docker mungkin jelaskan
2. Docker CLI Networking alasannya, jika tidak
a. Docker network ls jelaskan alasannya.
b. Network driver (Host, 2. Menurut Anda bisakah
bridge, none) kita masuk ke shell
c. Docker network inspect Container
d. Docker network create menggunakan SSH?
e. Docker network Jika bisa jelaskan step
connectg by step caranya, jika
f. Docker network tidak bisa jelaskan
disconnect alasannya.
g. Coba praktek
bagaimana melihat Praktek
docker bisa punya 1. Coba jalankan dua buah
lebih dari 1 NIC, bisa Container yaitu Ubuntu
konek antar private 14.04 dan Centos 7
network dengan mode Detach.
h. Penjelasan kelebihan 2. Dapatkan informasi

9 | Silabus Sekolah DevOps Cilsy Batch 2


networking dari sisi sebanyak mungkin
security terkait kedua container
3. Docker Networking : DNS ini dan bandingkan
and how each container secara kasat mata
communicate each other Container mana yang
a. Penjelasan why DNS menurut Anda paling
b. Penjelasan docker ringan dijalankan.
tidak bisa rely ke ip 3. Masuklah ke dalam
c. Penjelasan built-in shell container
docker dns function keduanya dan install
d. Penjelasan sebaiknya aplikasi curl. Cek
gunakan network baru perbedaan versi kedua
e. Praktek ping ke aplikasi tersebut. Disini
nama_container untuk Anda belajar bagaimana
test dns melakukan manajemen
f. Penjelasan why dns paket sederhana untuk
robin distro Linux yang
g. Praktek dns round berbeda. Seperti biasa,
robin dengan net-alias googling adalah teman
4. Assignment Anda.
a. Coba buat 2 container 4. Keluar dari container
dengan versi centos 7 dan hapus container
dan ubuntu 14.04 tersebut. Presentasikan
tanpa mode bash hasil yang Anda dapat.
b. Coba install curl di
kedua distro tersebut
dan cek perbedaan
versi curlnya
c. Hapus container
5. Assignment
a. Coba buat 2 container
nginx dengan nama
random didalam
network baru bernama
cilsy_net, setelah itu
coba lakukan nslookup

10 | Silabus Sekolah DevOps Cilsy Batch 2


dengan alpine linux
untuk melihat bahwa 2
container tersebut
sudah dapat dipanggil
dengan dns yang
sama.

Docker Container All About Image Dapat melakukan Teori


Fundamental & 1. What is in image and what push container ke 1. Bolehkah kita hanya
Basic Docker isn’t in docker registry dan melakukan tagging
Orchestration in 2. Belajar Docker Hub basic building nama image tanpa
Production Server a. Daftar docker hub menggunakan nama user Docker Hub?
using Swarm (EC2) b. Official images dan Dockerfile Jika boleh, jelaskan
Part 3 how to use them kenapa dan kapan bisa
c. How to see good menggunakan cara ini.
images Jika tidak boleh,
d. How to download jelaskan juga alasan
diffrernt images Anda.
3. Image layer
a. Memvisualisaasikan Praktek
Layer pada Image 1. Carilah nama image
b. Memvisualisasikan untuk aplikasi apache
Container sebagai webserver di Docker
sebuah read/write layer Hub.
4. Image tagging and pushing 2. Lakukan image tagging
to Docker Hub pada image apache
a. Penjelasan latest tersebut, lalu push ke
bukan “latest” Docker Hub. Nama
b. Coba buat image baru image bebas.
dengan beberapa tag 3. Hapus semua image
lalu upload ke docker terkait apache dari lokal.
hub 4. Jalankan Container
c. Lihat fungsi tag dengan webserver apache
image id yang sama menggunakan image
disana. yang sudah anda push
5. Building Image : Basic ke

11 | Silabus Sekolah DevOps Cilsy Batch 2


Dockerfile Docker Hub tersebut.
a. untuk apa dockerfile?
b. lihat contoh dockerfile
yang sudah ada dan
coba dijelaskan
6. Building image : Running
Docker Builds
a. Coba build image
b. Coba dilihat bedanya
build 2x (disinggung
tentang layer)
7. Building Image : Extending
Official Image
a. Kenapa sebaiknya
build dari official
image?
b. Coba build official
image yang sudah
dimodif
c. Push ke docker hub
8. Assignment
a. Coba build image dari
contoh app node js
b. Upload ke docker hub
c. Hapus yang di local
d. Download ulang

Docker Container Container Lifetime and Dapat melakukan Teori


Fundamental & Persistent Data konfigurasi docker 1. Menurut Anda seperti
Basic Docker 1. How do we should treat menggunakan docker apa proses yang terjadi
Orchestration in container and data? compose jika kita menjalankan
Production Server a. Bagaimana Container
using Swarm (EC2) seharusnya docker menggunakan images
Part 4 bekerja (immutable, yang sudah ada di
tidak diubah-ubah, local? Ceritakan seperti
temporary) pada penjelasan materi

12 | Silabus Sekolah DevOps Cilsy Batch 2


b. Problemnya dengan
data yang terus Praktek
berubah-ubah 1. Praktek kali ini ceritanya
c. Solusinya : Volume Anda adalah Devops di
dan Bind mount suatu perusahaan.
d. Praktek Volume with Salah satu programmer
Docker file dan Volume meminta bantuan Anda
with manual way untuk menjalankan
e. Praktek bind mount aplikasi berbasis Node
2. Assignments JS milik perusahaan
a. Buat postgresql versi dan juga database
6.9.1 cek volumenya mysql agar bisa berjalan
dimana di Docker.
b. Stop container tsb 2. Anda hanya diberikan
c. Buat container baru file aplikasi Node JS
postgresql dengan beserta petunjuk
bersi 6.9.2 dengan requirement agar
volume yang sama. aplikasi ini bisa berjalan.
pastikan tetap berjalan Hal ini lumrah terjadi.
dengan baik. Dimana kita sebagai
orang infrastruktur sama
Manage Multiple Container with sekali tidak perlu tahu
Docker Compose Node JS itu apa,
1. Docker Compose and bagaimana codingnya,
YAML namun kita cukup tahu
a. Why docker compose? untuk bagaimana
b. What is YAML? menjalankan aplikasi ini
c. Basic Sample YAML di server.
file explanation 1 3. Seluruh file aplikasi
d. Basic Sample YAML sudah tersedia di dalam
file explanation 2 folder
e. Basic Sample YAML dockerfile-exercise-1.
file explanation 3 Anda tidak perlu
2. Basic Compose Command mengedit file manapun
a. Docker compose up kecuali file Dockerfile.
(dengan -d atau tidak) 4. Bukalah Dockerfile dan

13 | Silabus Sekolah DevOps Cilsy Batch 2


b. Docker compose down ikuti petunjuk untuk
c. Beberapa contoh membangun aplikasi ini.
compose 5. Buat docker mysql versi
3. Assignment 5.6 + bikin volume,
a. Buat compose untuk attach ke docker mysql
multi container service 6. Buat table baru di
drupal + Postgres databse tersebut, bebas
4. Building Image with Docker 7. Update mysql docker ke
Compose versi 5.7 tanpa
5. Assignment menghilangkan data
a. Buat compose untuk yang udah ada
build drupal + tema 8. Hasil akhir dari web, kita
dapat mengakses hasil
web apps node JS ini
pada browser :
http://localhost
9. Hasil akhir dari
database mysql, kita
dapat mengupdate versi
tanpa menghilangkan
database
10. Setelah berhasil
berjalan, push image ini
ke Dockerhub dengan
nama bebas.
11. Hapus image dari local.
Kemudian jalankan
ulang container
menggunakan image
yang sudah Anda
upload di Dockerhub.
12. Hal-hal yang perlu anda
perhatikan saat
melakukan proses ini :
a. Proses ini iteratif.
Akan sangat jarang

14 | Silabus Sekolah DevOps Cilsy Batch 2


Anda membangun 1
Dockerfile dan
langsusng berjalan.
b. Proses iteratifnya
adalah : Sesuaikan
Dockerfile, Build,
Test proses build
berhasil,
ulangi, Jalankan
dalam Container.
Hapus container,
ulangi lagi.
c. Proses membuat
Dockerfile adalah
proses yang paling
menyenangkan
dalam
meng-containerisasi
suatu apps. Karena
salah satu kunci
utama proses
mengcontainerisasi
adalah membangun
image yang tepat
dan berjalan sesuai
Kebutuhan.
d. Kuncinya adalah
Docker Hub, Docker
Docs, dan Googling.

Docker Container Docker Swarm Intro - Create 3 Melakukan Teori


Fundamental & node production Swarm deployment docker 1. Sampai sejauh ini
Basic Docker 1. Why swarm? menggunakan kira-kira apakah Anda
Orchestration in a. Problems with dockerswarm sudah terbayang akan
Production Server Container everywhere seperti apa
using Swarm (EC2) b. Swarm as solution penggunaan dari

15 | Silabus Sekolah DevOps Cilsy Batch 2


Part 5 c. Cara kerja swarm Docker Swarm dan
2. Create single node swarm Scaling ini di
and Service for scaling kantor/bisnis anda?
locally
a. Docker swarm init Praktek
b. Sekilas yang terjadi di 1. Pada pertemuan ini
swarm init belum ada praktek
c. Sekilas bahwa bisa join penting yang perlu
sebagai manager atau diterapkan. Karena kita
worker masih perlu
d. Docker Service mempelajari materi di
e. Jalankan docker pertemuan berikutnya
service seperti overlay Network,
f. Coba lihat-lihat dan routing antar node
perbedaan docker agar Container yang
service dengan docker sudah tersebar dapat
run saling
g. Coba scaling dengan berkomunikasi dengan
replicas baik.
h. Coba lihat fitur bahwa 2. Untuk di pertemuan ini
replicas bisa auto dipastikan saja bahwa
recovery ketika di jika ingin menggunakan
delete/down VPS asli seperti di
3. Create 3 node swarm Digital Ocean atau di
production vendor lainnya, sudah
a. Buat swarm di digital berhasil tersetup
ocean dengan baik
b. Coba buat swarm dan sudah bisa di
cluster dan join semua remote SSH dengan
manager baik. Sehingga di
c. Coba jalankan service pertemuan berikutnya
lalu lihat apakah benar sudah bisa digunakan.
replika nya sudah
terdistribusi

7 Kubernetes 1. Kubernetes Fundamental Memahami cara kerja 1. Buat sebuah sistem

16 | Silabus Sekolah DevOps Cilsy Batch 2


Fundamental & a. Kenapa perlu Kubernetes sebagai kubernetes
Deployment Docker kubernetes ? aplikasi container 2. Deploy aplikasi yang
Local ke Production b. Arsitektur Kubernetes yang lebih baik dari ada di server local ke
Server 2. Topologi dan roadmap docker production kubernetes
menggunakan yang akan dibangun 3. Buat cluster untuk
Kubernetes (EC2) 3. Command-command server production
Kubernetes tersebut
4. Setup dan Installasi 4. Lakukan monitoring
Kubernetes pada server production
a. Persiapan EC2 tersebut
Instance
b. Konfigurasi Amazon
S3
c. Konfigutasi Amazon
Route53
d. Konfigurasi AWS CLI
e. Instalasi Kubectl
f. Installasi Kops
g. Expose Environment
S3
5. Konfigurasi Local Ke
Production
a. Deployment Server
local Docker ke Testing
Kubernetes
b. Deployment Server
testing ke Production
6. Clustering Kubernetes
a. Create Cluster
Kubernetes
b. Update Cluster
c. Create Server Node
pada Cluster
Kubernetes
7. Kubernetes Autoscalling
8. Kubernetes Monitoring

17 | Silabus Sekolah DevOps Cilsy Batch 2


9. Konfigurasi Kubernetes
a. Konfigurasi File YAML
b. Setting Deployment
dengan YAML
c. Setting Service

8 Containerisasi di 1. Pengenalan ECS Dapat menggunakan 1. Buat sebuah cluster CTO dari PT. Samehada
Testing & Production a. Amazon ECS Amazon ECS sebagai baru di Amazon ECS ternyata ingin mengubah sistem
Server dengan b. Amazon ECR layanan 2. Setup Server testing kembali, dari container yang ada
Amazon ECS 2. Perbandingan ECS dengan containerisasi pada 3. Setup Server di EC2 menjadi base ECS
Kubernetes AWS Production sehingga berikut yang harus kita
3. Topologi dan roadmap 4. Push container yang lakukan :
yang akan dibangun ada di server testing ke
4. Konfigurasi Amazon ECS server production Challance
a. Setup Cluster Amazon 5. Masukan container ke 1. Buat sebual container baru
ECS cluster yang sudah di local
b. Setting Task Definition dibuat tadi 2. Deploy aplikasi web yang
c. Setting Service sebelumnya sudah dibuat
5. Setup Server Testing ke server local
6. Setup Server Production 3. Buat sebuah cluster server
7. Deploy Aplikasi ke ECS testing dan production di
a. Konfigurasi Database ECS menggunakan
RDS terraform
b. Konfigurasi Storage S3 4. push container dari local ke
c. Konfigurasi Repository testing
dan Container ECS 5. Setelah berhasil di server
d. Testing Aplikasi testing, push container ke
8. Konfigurasi domain server production
Route53 6. Arahkan juga domain dari
9. Konfigurasi Load Balancer Route53 yang sebelumnya
dan Autoscalling. di EC2 ke server
10. Roadmap topologi server production.
local docker hingga ke 7. Buat sebuah alarm
production. cloudwatch pada cluster
tersebut, sehingga ketika
cluster mengalami kenaikan

18 | Silabus Sekolah DevOps Cilsy Batch 2


traffik akan ada pesan pada
email kita

9 CI/CD Jenkins 1. Pengenalan Jenkins 1. Dapat 1. Pastikan kamu sudah 1. Install jenkins pada
2. Topologi dan roadmap mengoperasikan memiliki jenkins, jiga container di server testing
yang akan dibangun. Jenkins dan belum harus di install 2. Buat sebuah automasi
3. Installasi Jenkins Dapat tersebih dahulu. deploymen di jenkins yang
a. Install Jenkins pada menghubungkan 2. Buat dua buah node akan otomatis mendeploy
Host beberapa server server pada jenkins aplikasi di Git ke Server
b. Install Jenkins pada menjadi Node. 3. Setting automation testing dan production yang
Docker 2. Dapat deploy di jenkins ketika kita miliki ketika Git di Push.
4. Setup Jenkins melakukan program di push ke 3. Lakukan Continous testing
a. Setup Awal Jenkins deployment github/gitlab maka pada aplikasi yang sudah
b. Jenkins Menu pada server jenkins akan otomatis kita deploy melalui jenkins.
c. Jenkins Job menggunakan melakukan build ke 4. Installkan sistem monitoring
5. Jenkins Node dua metode server host. automation TIG/ILK pada server
a. Tambah, Hapus dan jenkins freestyle bisa menggunakan production yang kita miliki.
Update Jenkins Node dan popeline, webhook maupun POL
6. Setting Credential Github & Melakukan SCM
Gitlab integrasi jenkins 4. Buat juga auto
7. Pengenalan Webhooks dengan Git deployment yang
8. Setup Auto Deployment untuk mengarah ke conainer
Jenkins menghasilkan yang ada pada server
a. Setup Auto automasi testing dan production
Deployment Webhooks deployment 5. Lakukan continous
Jenkins Server testing pada server testing untuk
+ Continuous Testing testing dan memastikan program
b. Setup Deploy Manual production. Lalu yang sudah kita deploy
ke Webhooks Jenkins melakukan sudah berhasil.
Server Production continous testing
(karena server pada aplikasi
production harusnya yang sudah di
ga auto deploy kan?) deploy.
9. Setup Deployment Jenkins
to Amazon ECS
10. Roadmap Proses

19 | Silabus Sekolah DevOps Cilsy Batch 2


deploymen server local to
production
a. Setup Local Server
b. Setup Testing Server
c. Setup Production
Server
11. Contoh Penerapan CI/CD
di platfrom lain (Codeship,
ravisCI)

10 Monitoring and 1. Pengenalan Monitoring Dapat melakukan 1. Lakukan monitoring


Logging Server System monitoring server server pada dua server
2. Topologi dan roadmap menggunakan yang sudah kita buat
yang akan dibangun Grafana dan sebelumnya dengan
3. Pengenalan TIG (Telegraf, Melakukan monitoring menginstallkan
InfluxDB, dan Grafana) Log menggunakan Telegraf.
4. Setup TIG Monitoring Kibana 2. Lakukan monitoring
dengan Docker aktifitas server
5. Setup Telegraf di Client menggunakan Grafana
Server Interface
6. Testing Monitoring 3. Lakukan monitoring
7. Pengenalan ELK Cluster Amazon ECS
(ElasticSearch, Logstash, menggunakan ELK
dan Kibana) 4. Lakukan Testing log
8. Setup dan Installasi ELK menggunakan kibana
9. Menambah Agent Baru pada cluster yang kita
a. Install Filebeat pada monitoring.
Server
b. Konfigurasi Kibana
10. Testing Monitoring
11. Roadmap Proses local to
production

11 Amazon 1. Pengenalan Amazon 1. Dapat 1. Buat sebuah alarm


CloudWatch dan CloudWatch melakukan untuk Cluster ECS dan
IAM 2. Topologi dan roadmap monitoring dan juga EC2 Instance yang

20 | Silabus Sekolah DevOps Cilsy Batch 2


yang akan dibangun alarm sudah dibuat sebelunya.
3. Konfigurasi Amazon menggunakan 2. Gunakan Stress test
CloudWatch Amazon untuk menguji alarm
a. Setup Alarm pada EC2 CloudWatch yang dipasangkan pada
+ ECS pada Server cluster dan juga Server
b. Setup Monitoring instance apabila Instance yang bersisi
CloudWatch traffic webserver tersebut.
c. Testing CloudWatch mengalami 3. Buat 3 User Baru
4. Monitoring Environment kenaikan. dengan nama
ECS 2. Dapat membuat namapeserta-developer,
5. Pengenalan IAM dan mengatur amapeserta-devops,
6. Setting IAM layanan untuk amapeserta-operator.
a. Membuat IAM Group setiap IAM user 4. Buat ketiga user
Baru yang mengakses tersebut memiliki
b. Membuat IAM User layanan AWS aksesnya masing
Baru sesuai dengan masing :
c. Mengubah Alamat kebutuhannya. a. developer : Akases
Login RDS, S3
d. Testing Login b. devops : All
e. Membuat Policy Baru access
c. Operator : EC2,
VPC, CloudWatch

12 Automation 1. Pengenalan Teraform Memahami dan dapat 1. Buat dua buah server,
Terraform 2. Topologi dan roadmap melakukan server testing dan
yang akan dibangun penyetelan production
3. Install dan Setup Teraform infrastruktur secara menggunakan VPC
a. Installasi Terraform automasi di AWS yang sudah kita buat.
b. Konfigurasi Terraform dengan metode IaaS 2. Buat dua buah bucket
dan Setup Credential menggunakan S3 dan mounting satu
4. Struktur file dan forder Terraform persatu pada server
Terraform testing dan production
a. Struktur File Terraform yang dibuat sebelumnya
b. Penjelasan File dan
Fungsinya
5. Konfigurasi Terraform

21 | Silabus Sekolah DevOps Cilsy Batch 2


sesuai topologi dan
roadmap
a. Konfigurasi EC2
b. Konfigurasi ECS
c. Konfigurasi Load
Balance dan
AutoScalling
d. Konfigurasi S3
e. Konfigurasi RDS
6. Provisioning Terraform

13 Pra Big Project 1. Mentoring Progress Big Dapat menyelesaikan


Project 70% Big Project dan
2. Presentasion Pra-Big mempresentasikan
Project Hasil yang sudah
dibuat

Big Project 1. Mentoring Progress Big Dapat menyelesaikan


Project 100% Big Project dan
2. Presentasion Big Project mempresentasikan
Hasil yang sudah
dibuat

Sertifikasi dan Persiapan Penyaluran Kerja

Latihan Sertifikasi 1. Tips & Trick pengerjaan Peserta bisa berhasil


AWS soal menyelesaikan
2. Test example soal sertifikasi AWS untuk
sertifikasi menunjang karir yang
dimiliki

How to show off 1. Tata penyusunan CV dan Peserta memiliki CV


yourself and get your Sosial media yang profesional,
dream job dari a. Linkedin sehingga perusahaan
b. Cover Letter akan yakin untuk
c. Github/Gitlab merekrut mereka

22 | Silabus Sekolah DevOps Cilsy Batch 2


d. Format pengiriman untuk menjadi bagian
email lamaran dalam perusahaan
2. Penyaluran kerja
GeekHunter

Big Project

Final Project, Buat sebuah Infrastructure baru untuk sebuah aplikasi berbasis container yang berjalan di AWS. Berikut beberapa requirement yang harus
kalian lakukan :

1. Buat sebuah VPC baru yang memiliki 3 AZ.


2. Buat Beberapa service menggunakan terraform (spesifikasi VPC menggunakan VPC yang sudah dibuat sebelumnya)
a. Buat Cluster ECS untuk server testing
b. Buat Cluster ECS untuk server production
c. Buat S3 Bucket
3. Install Jenkins pada container yang ada pada cluster testing
4. Buat database baru dengan menggunakan Amazon RDS
5. Replica database RDS ke penyimpanan S3
6. Buat sebuah container baru di ECS untuk Wordpress, Bucket S3 yang sebelumnya dibuat harus di mounting di countainer tersebut dan wordpress
contentnya di simpan di storage S3 nya. Database wordpress yang digunakan menggunakan Amazon RDS
7. Buat aplikasi non container menjadi aplikasi container dan upload ke git.
8. Build Aplikasi container yang sudah di upload di Git ke server testing
9. Setelah itu build aplikasi ke server production.
10. Buat dua subdomain di Route53, lalu arahkan container wordpress dan aplikasi web tersebut satu persatu sehingga bisa diakses melalui subdomain
di server production.
11. Buat sebuah alarm cloudwatch pada cluster tersebut, sehingga ketika cluster mengalami kenaikan traffik akan ada pesan pada email kita
12. Buat tiga buah user IAM untuk tiga orang karyawan baru
a. Namapeserta-develop1 : Akses S3, Akases RDS
b. Namapeserta-devops : Akses S3, Akses RDS, Akses EC2, Akses CloudWatch, Akses ECS
c. Namapeserta-operator : Akses ECS, Akses EC2, Akses CloudWatch
13. Buat sebuah automasi deploymen di jenkins yang akan otomatis mendeploy aplikasi di Git ke Server Production dan server testing yang kita miliki

23 | Silabus Sekolah DevOps Cilsy Batch 2


ketika Git di Push.
14. Lakukan Continous testing pada aplikasi yang sudah kita deploy melalui jenkins.
15. Installkan sistem monitoring TIG/ELK untuk melakukan monitoring pada Instance yang kita miliki.
16. Setup Amazon CloudFront Untuk Mirroring Amazon ECS
17. Pastikan Semua komponen seperti Wordpress, Aplikasi Web, Jenkins dan Sistem Monitoring sudah berjalan dengan baik.
18. Buat Skematic topologi dari infrastructure yang sudah kalian buat !

Roadmap Pembelajaran

1 User belajar dasar mengenai devops dan roadmap dari pembelajaran yang akan dijalani
Non Container System
2 User belajar dasar jaringan dan membuat satu buah Webserver.

3 User belajar menyimpan code di Git secara cloud dengan melakukan Push dan Pull.

4 User membuat sebuah Webserver di Production Server EC2 agar dapat Online
User memasang Load Balancer dan Autoscalling pada Server Production, karena Server Production yang sudah dibuat
5 harus High Availability dan dapat menampung traffick akses dengan baik.
User membuat konfigurasi Amazon CloudFront pada website static agar dapat di cache dan membuat akses menjadi
6 lebih cepat.

7 User membuat Bucket Amazon S3 untuk menyimpan data secara terpisah agar lebih aman dan efisien.

8 User mengarahkan domain menggunakan Amazon Route53 agar domain dapat terhubung dengan Server EC2 Instance
User membuat database menggunakan Amazon RDS agar database dipisah kedalam server instance khusu yang
9 berbeda dan lebih aman dalam penggunaannya.

Full Container System User belajar konsep Container dan kelebihannya secara mendalam, agar dapat melakukan containerisasi pada app yang
10 non container.
User belajar alur environment, mulai dari local > testing > production sederhana dan belajar setting banyak container
11 menggunakan docker swarm dan docker compose.

24 | Silabus Sekolah DevOps Cilsy Batch 2


User belajar kubernetes agar mengetahui bahwa orchestration container di production yang menggunakan docker swarm
itu masih jelek. Maka disempurnakan dengan kubernetes yang lebih powerfull dengan menggunakan alur environment
12 dari local > testing > production menggunakan docker + kubernetes.
User belajar Containerisasi menggunakan Amazon ECS untuk mengetahui bahwa ECS memiliki banyak kelebihan
dibanding containerisasi sebelumnya, terlebih dalam hal integrasi dengan layanan AWS yang lainnya. Dengan
13 menggunakan alur environment dari local > testing > procution menggunakan docker + ECS + layanan AWS lainnya.
User belajar CI/CD menggunakan Jenkins. Belajar melakukan automasi pada environment yang sudah ditambahkan
berbagai keunggulan jenkins seperti Continuous integration, continuous deployment, delivery, dan testing. Mulai dari local
14 > testing > production. Selain itu juga disinggung bahwa ada CI/CD lain selain jenkins.
User belajar bagaimana monitoring dan logging seluruh container yang kita miliki menggunakan ELK dan TIG. ELK dan
TIG nya harus ada di dalam container dengan environment yang sama, yaitu dari Local > Testing > Production
15 menggunakan docker + ECS.
User belajar monitoring ECS menggunakan layanan yang ada pada AWS yaitu Amazon CloudWatch dan belajar
16 mengatur user dan layanan menggunakan IAM di AWS
User belajar membuat seluruh Infrastruktur Environment AWS secara otomatis menggunakan Terraform. Mulai seluruh
infrastruktur yang dihapus dan dibuat ulang menggunakan terraform hingga docker dan layanan lainnya dapat berjalan
17 dengan baik.

18 Big project

19 Pada tahap ini kita pastikan bahwa para peserta sudah siap untuk mengikuti sertifikasi. Hingga benar benar matang.
Pada tahap ini Kita pastikan bahwa para peserta sudah siap dalam administrasi seperi CV, Cover Letter, Linkedin dll.
20 Sehingga sebelum Graduation Day peserta sudah disalurkan kepada Geek Hunter.

25 | Silabus Sekolah DevOps Cilsy Batch 2

Anda mungkin juga menyukai