Kamis, 20 Oktober 2016

Layanan Cloud Computing

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 :
  1. Manajemen resources bagi pelanggan
  2. Video Conferencing
  3. Manajemen Layanan IT
  4. Akunting
  5. Analisa Web
  6. 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 :
  1. Fasilitas Pengembangan Add-On. Sistem ini akan menawarkan beberapa aplikasi PaaS yang bisa dikostumisasi oleh user.
  2. Stand Alone Environments. Untuk penggunaan software developing biasa.
  3. 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 :
  1. Memungkinkan pengembang-pengembang software atau programmer yang berada di tempat berjauhan untuk saling bekerjasama dalam suatu platform.
  2. 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 :
  1. Perjanjian Layanan yang merupakan awal dari persetujuan klien dan provider.
  2. Hardware komputer
  3. Networking
  4. Koneksi Internet
  5. Virtualisasi Platform
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 :
  1. OpenStack Compute
Perangkat lunak yang digunakan untuk melakukan secara otomatis ketika mengelola VPS ( virtual Private Server ) dalam jumlah yang sangat besar.
  1. 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.

Tidak ada komentar:

Posting Komentar