Untuk layanan, terdapat 3 jenis
layanan (service) yang diberikan oleh cloud.
1. Software as a Service (SaaS)
Layanan Cloud yang paling dahulu populer, merupakan evolusi lebih lanjut dari
konsep ASP (Application Service Porvider). Pelanggan dapat menggunakan SaaS
dengan cara berlangganan atau pay-per-user sehingga tidak perlu investasi IT.
Contoh layanan SaaS adalah Salesforce.com dengan layanan CRM online (menjadi
icon SaaS), Zoho.com dengan layanan word processor seperti google docs, Xero.com dengan akunting online, Lotuslive.com
dari IBM dengan layanan kolaborasi/unified communication.
Software as a Service (SaaS). SaaS adalah model dimana aplikasi “ditawarkan”
kepada klien sebagai sebuah layanan. Jika sebuah aplikasi/software disajikan
kepada klien, klien tidak perlu merawat dan melakukan update pada
aplikasi tersebut. Tapi sebaliknya, jika provider hendak mengganti atau
melakukan update pada aplikasi tersebut, kita hanya bisa mengikuti
mereka saja tanpa bisa melakukan apa-apa. Inti pemikirannya adalah kita
menggunakan software yang ada pada layanan provider dan provider harus
menjaga kenyamanan kita menggunakan software tersebut, termasuk
memikirkan tentang update, keamanan dan infrastrukturnya.
Software as a Service
Yang sering memerlukan perhitungan
mendalam disini adalah masalah harga. Ada 2 tipe billing yang terdapat
pada layanan ini. Pertama, yaitu kita membayar setiap menggunakan aplikasi
tersebut dan kedua, kita membayar sedikit di awal dan untuk seterusnya, kita
akan membayar hanya sesuai pemakaian kita terhadap aplikasi tersebut. Pilihan
yang pertama, tentu saja merugikan kita sebagai klien. Pilihan kedua akan
‘sedikit’ merugikan provider (tentunya setiap provider menginginkan laba yang
besar, kan?).
Ada beberapa tipe software yang
ditawarkan pada SaaS, yaitu :
- Manajemen resources bagi pelanggan
- Video Conferencing
- Manajemen Layanan IT
- Akunting
- Analisa Web
- Manajemen web content
Rata-rata aplikasi yang ditawarkan
pada SaaS adalah aplikasi yang tidak memerlukan banyak interaksi dengan
antarmuka lain serta memiliki kegunaan yang simpel. Tentu saja karena
aplikasi-aplikasi ini akan dipakai oleh ratusan bahkan ribuan lebih user!
Berbeda dengan grid computing
(akan dijelaskan di postingan lainnya) atau sistem terdistribusi lainnya,
aplikasi-aplikasi yang ditawarkan pada SaaS biasanya web-native yang
artinya diakses melalui web browser. Aplikasi tersebut juga harus multitenant
yaitu memperbolehkan banyak user mengakses sekaligus.
Sejauh ini SaaS terlihat bagus? Yah,
itu tergantung dari kebutuhan kita. Sekali lagi saya tegaskan bahwa SaaS hanya
cocok untuk aplikasi yang simpel! Jika sebuah perusahaan membutuhkan sebuah
proses komputasi yang spesifik, mungkin perusahaan tersebut tidak akan
menemukan apa yang mereka cari di SaaS. Lalu terdapat ‘ketergantungan’ terhadap
provider tertentu. Jika kita ingin memindahkan data-data kita dari satu
provider ke provider lainnya, ada dua kemungkinan. Pertama, tidak bisa (terjadi
jika kedua provider tidak menjalin kerjasama) atau membutuhkan biaya mahal
(jika kedua provider bekerjasama – tentu saja mereka, kan, ingin untung!)
Musuh utama dari SaaS adalah
aplikasi-aplikasi open source. Tentu saja, alasan orang menggunakan SaaS
salah satunya adalah karena biaya supporting dan updating
aplikasi tersebut ditanggung oleh provider. Jika ada yang open source,
maka mereka akan menginstalasi aplikasi tersebut di mesin lokal dan berarti
tidak membutuhkan SaaS!
2. Platform as a Service (PaaS)
PaaS adalah layanan yang menyediakan modul-modul siap pakai yang dapat
digunakan untuk mengembangkan sebuah aplikasi yang hanya dapat berjalan diatas
platform tersebut. Pionir PaaS adalah Google Appengine yang menyediakan
aplikasi diatas platform Google dengan bahasa pemrograman Phyton dan
Django. Penyedia layanan PaaS lainnya seperti : Salesforce melalui force.com
menyediakan modul-modul untuk mengembangkan aplikasi diatas salesforce dengan
menggunakan bahasa apex. contoh lainnya adalah facebook yang memungkinkan kita
mengembangkan aplikasi di facebook seperti aplikasi game yang dilakukan oleh
zynga.
Platform as a Service (PaaS). Mirip
dengan SaaS, PaaS juga menawarkan layanan aplikasi, hanya saja PaaS juga
menawarkan platform yang kita butuhkan untuk membuat aplikasi-aplikasi.
PaaS juga sering disebut cloudware, dikarenakan kita mengakses platform
tersebut via cloud computing.
Platform as a Service
Layanan utama PaaS biasanya berupa
desain aplikasi, development, proses testing dan deployment
serta hosting. Layanan tambahan bisa berupa kolaborasi tim
(memperbolehkan kita untuk membentuk tim pengembang aplikasi dengan orang-orang
yang berada jauh dari kita), integrasi layanan web, integrasi database, storage
dan pemberian versi aplikasi.
PaaS juga mendukung interface
untuk pengembangan web seperti Simple Object Acccess Protocol
(SOAP) dan Representational State Transfer (REST). Kedua servis tersebut
mendukung konstruksi beberapa layanan web sekaligus (mashups).
Sistem PaaS terbagi 3 :
- Fasilitas Pengembangan Add-On. Sistem ini akan menawarkan beberapa aplikasi PaaS yang bisa dikostumisasi oleh user.
- Stand Alone Environments. Untuk penggunaan software developing biasa.
- Application Delivery-Only Environments. Juga mendukung layanan hosting, seperti keamanan dan skalabilitas. Tidak termasuk development dan debugging.
Seperti SaaS, PaaS juga menganut sistem
lock-in dimana kita harus membayar mahal jika ingin berganti provider.
Banyak pengembang aplikasi dan programmer
menggunakan fasilitas PaaS, dikarenakan :
- Memungkinkan pengembang-pengembang software atau programmer yang berada di tempat berjauhan untuk saling bekerjasama dalam suatu platform.
- Tidak perlu membuat infrastruktur sendiri untuk mengembangkan sebuah aplikasi spesifik.
3. Infrastructure as a Service
(IaaS)
adalah sebuah layanan yang
menyewakan sumber daya teknologi informasi dasar, yang meliputi media
penyimpanan, processing power, memory, sistem operasi, kapasitas jaringan, dan
lain-lain, yang dapat digunakan oleh penyewa untuk menjalankan aplikasi yang
dimilikinya. Model bisnisnya mirip dengan penyedia data center yang menyewakan
ruangan untuk co-location , tapi ini lebih ke level mikronya. Penyewa tidak
perlu tahu , dengan mesin apa dan bagaimana caranya. Salah satu pionir dalam
dalam penyediaan IaaS ini adalah Amazon.com
yang meluncurkan Amazon EC2 (Elasting Computing Cloud). Layanan Amazon EC2 ini
menyediakan berbagai pilihan persewaan mulai dari CPU, media penyimpanan,
dilengkapi dengan sistem operasi, dan juga platform pengembangan aplikasi yang
bisa disewa dengan perhitungan jam-jaman.
Infrastructure as a Service (IaaS) atau Hardware as a Service (HaaS). Dari
namanya saja kita bisa membayangkan, bukan? Layanan ini menawarkan
infrastruktur dan hardware pada kita.
Hardware as a Service atau
Infrastructure as a Service
Mungkin anda bingung, apa yang bisa
ditawarkan oleh IaaS? Bisa storage, processing power, memori dan
peralatan networking! Infrastruktur ini juga bisa ditambah (tergantung
‘paket sewa’ dan bayaran tentunya) sesuai kebutuhan kita. Bagian-bagian dari
IaaS atau HaaS adalah :
- Perjanjian Layanan yang merupakan awal dari persetujuan klien dan provider.
- Hardware komputer
- Networking
- Koneksi Internet
- Virtualisasi Platform
sumber :
NIST (2011). The Nist Definition of Cloud Computing (Draft).
John Sitohang (2011). Prinsip dasar cloud computing
NIST (2011). The Nist Definition of Cloud Computing (Draft).
John Sitohang (2011). Prinsip dasar cloud computing
dentity
Management pada cloud computing juga terkait dengan fokus bahasan pada paper
ini, yaitu keamanan cloud computing dari sisi model layanan Software
as a Service-nya. Dengan penjelasan detail sebelumnya mengenai
komponen-komponen pembentuk sebuah SaaS pada Cloud
Computing yaitu menggunakan Service Oriented
Architecture (SOA) dengan Web
Services standart (bahasa xml).
Identity Management dan access control cloud computing pada Service Oriented Architecture
Sebagaimana
didefinisikan sebelumnya, SOA memiliki fitur loosely-coupled yang
membuat SOA sangat terbuka akan resiko keamanan yang dapat terjadi. Oleh karena
itu SOA harus memenuhi beberapa persyaratan utama dalam memenuhi standart
keamanan data, yaitu antara lain : service discovery, service
authentication, user authentication, access control, confidentiality,
integrity, availability, and privacy (17). Untuk
menjamin keamanan di lingkungan pengembangan SOA, komunitas open standart yang
menciptakan web services membangun sebuah standart keamanan untuk web services,
dimana diketahui web services adalah implementasi dari SOA yang paling banyak
digunakan. Bersamaan dengan itu maka Identity Management dan
access control dalam cloud computing telah diatur juga dengan
adanya standart tersebut. Gambar dibawah memperlihatkan referensi model untuk
standart keamanan web services.
The Web Services Security Stack
Seperti
terlihat pada gambar diatas, untuk pengontrolan hak akses telah ditetapkannya
oleh Security Assertion Markup Language (SAML) dan the eXtensible Access
Control Markup Language (XACML) , artinya disaat user meminta suatu servis,
user tersebut harus mengikuti aturan kebijakan keamanan yang berkaitan dengan access
control yang telah ditetapkan.
SAML
dan Single Sign On
SAML adalah
standar XML untuk pertukaran data otentikasi dan
otorisasi antara security domains (7).
SAML memiliki fitur platform yang independen, dan terutama
diterapkan untuk Single Sign-On (SSO). Single Sign-On merupakan salah
satu metode yang digunakan dalam keamanan data aspek autentikasi dan otorisasi
pada aplikasi atau service cloud computing. Teknologi Single-sign-on (SSO)
adalah teknologi yang mengizinkan pengguna jaringan
agar dapat mengakses sumber daya dalam jaringan hanya dengan menggunakan satu
akun pengguna saja. Teknologi ini sangat diminati, khususnya dalam jaringan
yang sangat besar dan bersifat heterogen (di saat sistem operasi serta aplikasi
yang digunakan oleh komputer adalah berasal dari banyak vendor,
dan pengguna dimintai untuk mengisi informasi dirinya ke dalam setiap platform
yang berbeda tersebut yang hendak diakses oleh pengguna). Dengan menggunakan
SSO, seorang pengguna hanya cukup melakukan proses autentikasi sekali saja
untuk mendapatkan izin akses terhadap semua layanan yang terdapat di dalam
jaringan.
Keamanan SaaS Cloud Computing dengan Single Sign On dalam layer Protokol Internet TCP/IP
Dari
penjelasan arsitektur keseluruhan SaaS Cloud Computing dapat dipetakan posisi
Keamanan SaaS Cloud Computing dengan Single Sign On dalam layer protokol
internet TCP/IP, sehingga lebih memperjelas pemahaman terhadap keamanan
jaringan informasi sebagai bagian dari ilmu jaringan informasi itu sendiri.
Arsitektur pemetaan tersebut dapat dilihat pada gambar dibawah ini :
SOA, Web Service, dan XML pada SaaS Cloud Computing
22 Dec
Saat
membangun aplikasi cloud computing (Software As A Services), komponen-komponen
pembentuknya dibangun dalam bentuk service-service menggunakan Service
Oriented Architecture (SOA) dengan Web Services
standart.
Servis dalam Cloud computing
Service
Oriented Architecture (SOA)
SOA
adalah sebuah bentuk arsitektur yang menerapkan konsep service-oriented
(berorientasi service) [16]. Pendekatan SOA adalah pendekatan
penyelesaian masalah yang besar dengan membagi-baginya menjadi beberapa
service. Service-service tersebut dapat berdiri sendiri atau dihubungkan dengan
service-service yang lain. Arsitektur yang berdasarkan SOA memiliki
fleksibilitas yang tinggi dan tidak technology-dependent sehingga
memungkinkan peningkatan kinerja dari suatu sistem.
Dalam
implementasi SOA, konsep service-oriented diimplementasikan dalam
sebuah layer di antara business process layer dan application
layer yang mana keduanya merupakan bagian dari enterprise logic
yang diberi nama service interface layer [16].
Teknologi
cloud computing dapat dikombinasikan dengan baik dengan SOA sehingga
mampu menghasilkan solusi alternatif untuk membangun sistem dan teknologi
informasi di suatu enterprise. Cloud computing mampu
memberikan dukungan ke SOA berupa desain layanan dan kemampuan memperluas
layanan. Sedangkan SOA mampu memberi dukungan ke cloud computing
berupa tata kelola layanan dan memberikan dorongan dari arsitektur.
Web
Service
Seperti
yang dijelaskan sebelumnya bahwa cloud computing sebagai aplikasi-aplikasi yang
dapat diakses melalui internet sebagai servis-servis, maka konsumen bisa secara
spesifik meminta servis-servis cloud melalui web browser atau web services.
Web
service bukan merupakan aplikasi yang dapat berinteraksi secara langsung
dengan user. Melainkan web service memberikan kemampuan untuk
berkomunikasi dengan aplikasi lain yang prosesnya dibutuhkan oleh user secara
tidak langsung. Proses yang digunakan oleh web service untuk
berkomunikasi dengan aplikasi lainnya menggunakan teknologi internet.
Dalam menghubungkannya web service menggunakan sebuah message yang
dapat dipahami oleh bahasa pemrograman yaitu Extensible Markup Language (XML).
Web
services dapat dilihat sebagai sebuah cara mendesain interaksi yang
fleksibel lintas aplikasi-aplikasi dan lintas batas-batas yang tegas.
Terminologi web services menunjukkan sekelompok teknologi yang
memperkenankan proses-proses bisnis atau informasi untuk diakses melalui
internet. Web services didesain untuk mendukung interaksi antar
aplikasi. Teknologi ini memperkenankan aplikasi-aplikasi berkomunikasi tanpa
bantuan manusia.
Web
service sebagai sebuah teknologi dapat memfasilitasi beberapa isu
perancangan SOA melalui cara sebagai berikut:
1. Sebuah
service dalam SOA adalah sebuah aplikasi web service. Pada
dasarnya sebuah service di dalam SOA adalah sebuah aplikasi. Aplikasi
ini merepresentasikan sebuah business logic atau automation logic
dari sebuah proses sistem besar yang mencakupinya. Tuntutan dari sistem
tersebut adalah bahwa sistem tersebut harus bisa berdiri sendiri dan bisa
berkomunikasi satu sama lain. Hal itu sudah dimiliki oleh sebuah aplikasi web
service.
2.
Hubungan satu service dengan yang lainnya didefinisikan dengan Web
Service Description Language (WSDL). WSDL mendeskripsikan bagaimana
format sebuah pesan yang akan dikirim oleh sebuah aplikasi web service harus
ditulis, agar dapat dimengerti oleh aplikasi web services lainnya yang
menerima. Dalam sudut pandang SOA, yang menggunakan web service
sebagai service, teknologi WSDL ini menjadi jembatan untuk
menghubungkan sebuah service ke service lainnya.
3. Service
berkomunikasi satu sama lain menggunakan Simple Object Access Protocol
(SOAP) messaging.Kebutuhan untuk saling berkirim pesan dalam SOA
merupakan hal yang paling penting. Untuk teknologi pengiriman pesan, dapat
digunakan SOAP sebagai standar transport protocol untuk pemrosesan
pesan pada web service.
Extensible
Markup Language
Extensible
Markup Language (XML) adalah format yang dihasilkan dari pemanfaatan web
service untuk saling berkomunikasi antara client dengan data
storage untuk memproses pengolahan data.
Menurut
kelompok kerja arsitektur W3C, web services adalah aplikasi-aplikasi
yang diidentifikasi oleh sebuah URI (Universal Resource Indicator),
yang antar muka-antar muka dan pengikat-pengikatnya mampu didefinisikan,
dideskripsikan, dan diketahui sebagai artefak-artefak XML.
Apa Itu Open
Stack
Open Stack adalah operating system
awan yang selalu mengontrol lingkungan komputasi dengan skala besar. open stack
mengontrol storage dan sumber daya jaringan lainnya pada data center. Melalui
dashboard open stack memberikan kontrol untuk administrator sekaligus
memberdayakan user mereka ke antarmuka web (Web GUI). API standar open stack
berfungsi untuk komunikasi dengan software lainnya. Inisiatif Open Stack mulai
digunakan oleh NASA dan rackspace. Relatif muda dibandingkan dengan beberapa
inisiatif yang sudah muncul seperti CloudStack dan OpenNebula.
Perusahaan yang sedang membangun
sistem teknologi informasi atau perusahaan yang sedang berkembang bisa
menggunakan Open Stack untuk menawarkan layanan komputasi awan dengan
menggunakan software open source dan hardware dengan spesifikasi standar. Open
source sendiri adalah software bebas dipakai siapa saja dibawah persyaratan
Lisensi Apache 2.0.
Proyek ini dikelola oleh Open Stack
Fundation sebuah perusahaan non profit yang berdiri tahun 2012 pada bulan
september. lingkup tugas Open Stack Fundation adalah untuk mempromosikan
software open stack kepada masyarakat. Banyak perusahaan yang sudah bergabung
diantaranya lebih dari 200 perusahaan seperti AT&T, AMD, AristaNetwork,
Brocade Communications System, Cisco, Dell , dan masih banyak lagi.
Teknologi ini terdiri dari beberapa
bagian yang bermula dari sebuah proyek yang satu sama lain terkait untuk
mengontrol gabungan dari penyimpanan, pengolahan, dan sumber daya jaringan pada
pusat-pusat data. teknologi ini juga mempunyai kemampuan untuk mengelola dan
mengatur dashboard berbasis web, Restful API, dan perangkat perintah baris.
Terdapat dua jenis open stack :
- OpenStack Compute
Perangkat lunak yang digunakan untuk
melakukan secara otomatis ketika mengelola VPS ( virtual Private Server ) dalam
jumlah yang sangat besar.
- OpenStack Storage
Perangkat lunak yang berfungsi untuk
membuat sebuah object storage yang bersifat scalable dan redundant. OpenStack
Storage menggunakan cluster untuk menyimpan data dengan ukuran TB terabytes.
Maka dari itu OpenStack banyak
digunakan oleh perusahaan-perusahaan besar untuk mengelola puluhan ribu compute
instance dan storage dengan jumlah ukuran sampai petabytes. OpenStack bisa
diinstall pada OS diatas Linux CentOS dengan kapasitas memori hardware minimal
2 GB, sedangkan untuk prosesor harus sudah mendukung virtualisasi.