Saturday, May 24, 2014

Platform as a Service Windows Azure dan Big Data



BAB I
PENDAHULUAN

1.1. Latar Belakang
Perkembangan komputer yang semakin pesat berikut sistem dan akses global yang Komputasi Awan, Sistem Teknologi Informasi Masa Depan semakin gampang dan murah membawa kita kepada era digital yang dulunya masih dianggap teknologi yang tinggi sekali. Sehingga anggapan bahwa komputer hanya untuk orang-orang beruang dan berintelejensi diatas rata-rata, sekarang berubah usang.
Apalagi di Indonesia ini, hampir di setiap jengkal wilayah yang berpenduduk telah terhubung dengan sinyal telepon seluler. Artinya di tempat-tempat tersebut, para pengguna handphone dengan mudah terhubung secara global dan bisa berselancar dengan internet.
Memang secara umum, Indonesia masih di posisi sebagai pengguna sistem teknologi informasi (TI) dan sistem komputer. Perkembangan sistem TI dan sistem komputer tidak lantas menempatkan Indonesia sebagai pemain global. Begitu banyak dukungan yang belum dimiliki meski Indonesia memiliki kemampuan sebagai pemain.
Contoh perkembangan TI yang sedang hangat dibicarakan di negara-negara maju adalah Komputasi Awan (Cloud Computing). Walaupun di luar negeri perebutan area Komputasi Awan ini sedang hangat, tetapi di Indonesia yang serius tercatat hanya PT. Telkom melalui anak perusahaannya Sigma Cipta Caraka untuk aplikasi core banking bagi bank kecil-menengah. Selanjutnya bekerja sama dengan IBM Indonesia dan mitra bisnisnya, PT. Codephile, Telkom menawarkan aplikasi e-Office on Demand.
Jika dibandingkan dengan pemain-pemain global seperti IBM, Microsoft, Google dan Apple, peperangan untuk menjadi penguasa teknologi Komputasi Awan begitu seru, maka PT. Telkom termasuk perusahaan yang tidak ingin hanya menjadi pengguna walau mungkin tidak menjadi provider kelas dunia.

1.2. Maksud dan Tujuan
Maksud dari pembuatan makalah ini adalah untuk menjelaskan sejarah serta perkembangan yang terjadi pada cloud computing khususnya pada service Platform as a Service pada Windows Azure.
Adapun tujuan dari pembuatan makalah ini yang hendak dicapai adalah sebagai berikut :
1.    Menjelaskan sejarah awalnya terciptanya cloud computing pada Platform as a Service
2.    Menjelaskan bagaimana perkembangan Platform as a Service sebagai Big Data : Database NoSQL, Hadoop, MapReduce.
3.    Menjelaskan bagaimana implementasi Big Data pada Windows Azure
BAB II
PEMBAHASAN

2.1 Definisi Komputasi Awan
Komputasi awan atau dalam bahasa Inggris cloud computing adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan atau cloud adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan") tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain."
Gambar 2.1 Ilustrasi Komputasi Awan

2.1.1 Manfaat Komputasi Awan
Dari penjelasan tentang cloud computing diatas, ada banyak manfaat yang bisa kita ambil dari cloud computing, yaitu :
a.    Skalabilitas, yaitu dengan cloud computing kita bisa menambah kapasitas penyimpanan data kita tanpa harus membeli peralatan tambahan, misalnya hardisk dll. Kita cukup menambah kapasitas yang disediakan oleh penyedia layanan cloud computing.
b.    Aksesibilitas, yaitu kita bisa mengakses data kapanpun dan dimanapun kita berada, asal kita terkoneksi dengan internet, sehingga memudahkan kita mengakses data disaat yang penting.
c.    Keamanan, yaitu data kita bisa terjamin keamanan nya oleh penyedia layanan cloud computing, sehingga bagi perusahaan yang berbasis IT, data bisa disimpan secara aman di penyedia cloud computing. Itu juga mengurangi biaya yang diperlukan untuk mengamankan data perusahaan.
d.   Kreasi, yaitu para user bisa melakukan/mengembangkan kreasi atau project mereka tanpa harus mengirimkan project mereka secara langsung ke perusahaan, tapi user bisa mengirimkan nya lewat penyedia layanan cloud computing.
e.    Kecemasan, ketika terjadi bencana alam data milik kita tersimpan aman di cloud meskipun hardisk atau gadget kita rusak
2.1.2 Layanan Komputasi Awan
Terdapat beberapa layanan pada komputansi awan, berikut adalah layanan yang diberikan berdasarkan layanan komputasi awan :
a.    Infrastructure as a Service (IaaS)
b.    Platform as a Service (PaaS)
c.    Software as a Service (SaaS)

2.2 Platform as a Service (PaaS)
Didalam komputasi awan terdapat layanan yang computing berbasis platform, yaitu Platform as a Service dimana sebuah layanan cloud yang menyediakan sebuah sistem operasi, database, web server dan framework.
2.2.1 Definisi Platform as a Service
Platform as a Service adalah layanan yang menyediakan computing platform. Biasanya sudah terdapat sistem operasi, database, web server dan framework aplikasi agar dapat menjalankan aplikasi yang telah dibuat. Perusahaan yang menyediakan layanan tersebutlah yang bertanggung jawab dalam pemeliharaan computing platform ini.
Suatu platform cloud (cloud platform) (PaaS) mengantarkan sebuah platform komputasi dan/atau solusi tumpukan (solution stack) sebagai satu jasa, umumnya menggunakan infrastruktur cloud (cloud infrastructure) dan aplikasi pendukung cloud (supporting cloud applications). Hal ini memudahkan penyebaran aplikasi tanpa biaya dan kompleksitas dari pembelian dan mengatur perangkat keras dasar dan lapisan perangkat lunak. Antara lain:
- Services
- Identity (OAuth, OpenID)
- Payments (Amazon Flexible Payments Service, Google Checkout, PayPal)
- Search (Alexa, Google Custom Search, Yahoo! BOSS)
- Real-world (Amazon Mechanical Turk)
- Solution stacks
- Java (Google App Engine)
- PHP (Rackspace Cloud Sites)
- Python Django (Google App Engine)
- Ruby on Rails (Heroku)
- .NET (Azure Services Platform, Rackspace Cloud Sites)
- Proprietary (Force.com, WorkXpress, Wolf Frameworks)
- Storage [Structured]
- Databases (Amazon SimpleDB, BigTable)
- File storage (Centerra Blades,Amazon S3, Nirvanix, Rackspace Cloud Files) Queues (Amazon SQS)
2.2.1 Keuntungan PaaS
Keuntungan layanan PaaS ini bagi pengembang adalah mereka bisa fokus pada aplikasi yang mereka buat tanpa memikirkan tentang pemeliharaan dari computing platform. Contoh penyedia layanan PaaS adalah Amazon Web Service dan Windows Azure.
2.2.2 Fitur PaaS
Pada layanan PaaS, konsumen diberikan sebuah platform untuk pengembangan sampai implementasi sistem. Konsumen harus untuk membuat dan mengimplementasikan sistemnya sendiri. Umumnya tools untuk development disediakan dalam bentuk web application.
PaaS umumnya memiliki fitur sebagai berikut :
1.      Development tools berbasis browser internet
2.      Skalabilitas, access control, security, dan web service tersedia
3.      Integrasi yang mudah dengan aplikasi lain selama pada platform yang sama
4.      Tersedia connector untuk terhubung dengan sistem lain diluar komputasi cloud

2.3 Big Data
Didalam layanan Platform as a Service pada cloud computing, terdapat sebuah layanan database yang menampung data-data dari client.
2.3.1 Definisi Big Data
Sesuai dengan namanya, Big Data didefinisikan sebagai sebuah problem domain di mana teknologi tradisional seperti relational database tidak mampu lagi untuk melayani. Definisi Big di sini adalah volume, velositas dan variasi datanya. Peningkatan volume, velositas dan variasi data banyak diakibatkan oleh adopsi internet. Setiap individu memproduksi konten atau paling tidak meninggalkan sidik jari digital yang berpotensial untuk digunakan untuk hal-hal baru; dari audiens targetting, rekomendasi ataupun penggunaan yang lebih tak terduga seperti Google Translate yang menggunakan machine learning di atas Big Data yang Google punya untuk translasi bahasa.
2.3.2 Prinsip Big Data
a. Untuk menghadapi volume yang tinggi, Big Data tidak membuang data apapun karena residu tersebut mungkin akan menjadi penting sejalannya waktu.
b. Untuk menghadapi velositas yang tinggi, Big Data adalah real-time processing.
c. Untuk menghadapi variasi data yang tinggi, Bigdata mengajak kita untuk menciptakan struktur melalui ekstraksi, transformasi dan tidak membuang residu yang tersisa. Misalnya dari sebuah unstructured data kita bisa melakukan entity resolution untuk mengekstrak konteks sebuah kata (contoh: Apple adalah perusahaan atau label rekaman atau buah). Kalkulasi ini biasanya dilakukan secara real time.
2.4 NoSQL
Salah satu implementasi dari big data pada platform as a service yang ada pada cloud computing adalah NoSQL.
2.4.1 Definisi NoSQL
NoSQL adalah suatu evolusi baru yang ada didalam dunia database. Dalam namanya sendiri NoSQL bukan berarti No dengan tetapi lebih ke Non Stop SQL. Yaitu jika SQL diibaratkan dengan relational database maka NoSQL adalah non-relational Database. Sebenarnya NoSQL ini dikembangkan pertama kali pada tahun 1998 oleh Carlo Strozzi. Lalu, pada tahun 2009, Eric Evans memperkenalkan kembali teknologi NoSQL. Non Stop SQL adalah suatu perkembangan dari database rational yang telah sejak ada dan digunakan mulai tahun 1970-an sampai sekarang.

2.4.2 Sejarah Singkat NoSQL
Pada 10-15 tahun yang lalu jumlah user pengguna internet dan juga jumlah transaksi data pada aplikasi – aplikasi yang ada tidaklah sebanyak saat ini dan database relational yang telah ada dulu sudah sangat mencukupi untuk mengatur transaksi data yang ada karena secara umum mereka mendukung operasi transaksi, yang mengijinkan kita merubah sebagian data, melakukan kontrol terhadap operasi database, support terhadap constraint seperti unique, primary key, foreign key dan check. Mereka juga memiliki bahasa SQL atau Simplified Query Language untuk mengakses data, merubah data seperti operasi insert, update dan delete.
Tetapi semakin dengan berkembanganya jaman terutama semakin berkembangnya dunia internet pada saat ini membuat sebuah perubahan besar pada aplikasi – aplikasi yang digunakannya dikomputer dan juga berimbas pada management datanya. Setiap hari semakin banyak user yang aktif di internet dan menggunakan aplikasi – aplikasi yang juga terhubung dengan internet, semakin banyak data yang harus diatur oleh database dan akan semakin sulit bagi sebuah database relational untuk terus memanage datanya karena akan semakin banyak timbul masalah seperti redudansi data dll.
Bahkan oracle saja sampai perlu membangun ORACLE RAC atau Real Application Cluster, yang menemui banyak tantangan untuk melakukan sinkronisasi data di internal cache melalui inter-koneksi khusus tapi itu juga belum mampu mengurangi kesulitan – kesulitan yang muncul dalam melakukan manage data dalam jumlah yang sangat besar jika menggunakan database relational.
Google, Amazon, Facebook, and LinkedIn adalah perusahaan – perusahaan besar pertama yang mengetahui batasan – batasan yang ada pada relational database untuk dapat menyupport kebutuhan dari aplikasi – aplikasi baru yang terus dikembangkan. Akhirnya pun mereka membuat sebuah data management yang baru. Muncullah Open Source NoSQL, proyek database yang dibentuk untuk meningkatkan kinerja perusahaan – perusahaan yang menjadi pelopor dan perusahan – perusahaan komersial yang menjalin kerja sama dengan proyek ini setelahnya.
2.4.3 Metode NoSQL
NoSQL tidak menggunakan sintaks SQL untuk memyimpan data. Penyimpanan data dalam NoSQL tidak memerlukan skema tabel yang tetap seperti pada relational database.
NoSQL memiliki empat metode, yaitu :
1.    Table-oriented
Metode ini biasanya hanya dikembangkan oleh yang membuatnya sendiri seperti Google dan Facebook dengan Big Table dan Cassandranya. Performa dan hasil dari metode ini tidak perlu kita ragukan lagi karena kita telah tiap hari menggunakan kedua website ini dan meskipun dengan berjuta – juta data yang ada di database mereka tapi kita tetap bisa memaksimalkan website mereka.
2.    Graph-oriented
Graph-oriented yaitu jenis database NoSQL yang menggunakan struktur graph dengan node, edge dan properties untuk menyimpan datanya. Metode ini digunakan oleh Infinite Graph, InfoGrid, Neo4J dan lain-lain.
3.    Document-oriented database
Jenis NoSQL ini merupakan database yang berbasiskan dokumen. Tidak ada tabel, field dan record, yang ada hanyalah koleksi dan dokumen. Koleksi dapat disamakan dengan tabel dan dokumen disamakan dengan field. Berbeda dengan database relasional, pada document oriented database, dokumen dapat memiliki field yang berbeda dengan dokumen lain walaupun berada dalam satu koleksi. Hal ini tidak dapat dilakukan dengan database relasional dimana sebuah record tidak mungkin memiliki field yang berbeda dengan record yang berada dalam satu tabel. Document Oriented digunakan oleh Mongodb, Couchdb, Ravendb, dan lain-lain.
4.    Key-value store
Hampir sama seperti document-oriented database, yang berbeda adalah media penyimpanannya. Dalam key-value store, data tidak langsung disimpan dalam disk seperti database pada umumnya. Data disimpan dalam memori komputer dan sesekali data dalam memori ditulis ke disk. Penyimpanan data dalam memori menyebabkan proses query akan lebih cepat, karena tidak perlu lagi mengambil data dari disk. Key-Value Stores, cara ini digunakan oleh REDIS, Tokyo Cabinet, Azure Table Storage dan lain-lain.

2.4.4 Faktor yang Mempengaruhi Perusahaan Besar Beralih ke NoSQL
terdapat 3 hal besar yang mempengaruhi perkembangan ini yaitu Jumlah User yang Banyak, Jumlah Data yang besar dan yang terakhir teknologi terbaru yaitu cloud computing. Dan dengan 3 hal besar diatas juga menjadikan database system harus mampu bergerak secara :
1.    Data harus bisa bergerak secara flexible
2.    Harus mampu bergerak secara cepat dengan data dan user yang besar
3.    Peningkatan performa untuk dapat memuaskan user yang menginginkan pengolahan data yang cepat.
2.4.5 Kelebihan NoSQL dibandingkan database SQL
1.    Melakukan Searching lebih cepat , sehingga bagus untuk list produk,social network,blogging.
2.    Tidak perlu membuat struktur tabel.
3.    Mempercepat proses CRUD (CREATE, READ, UPDATE, DELETE).
4.    Digunakan oleh banyak website-website besar.
5.     
2.5 Hadoop
2.5.1 Definisi Hadoop
Hadoop adalah framework software berbasis Java dan opensource yang berfungsi untuk mengolah data dengan skala besar secara terdistribusi dan berjalan di atas cluster yang terdiri dari beberapa komputer yang saling terhubung. Hadoop dapat mengolah data dalam jumlah yang sangat besar hingga petabyte dan dijalankan di atas ribuan komputer.

Framework Apache Hadoop tersusun dari 4 modul berikut:
·         Hadoop Common – berisi libraries dan utilities yang dibutuhkan oleh modul Hadoop lainnya.
·         Hadoop Distributed File System (HDFS) – sebuah distributed file-system berbasis Java yang menyimpan file dalam jumlah besar dan disimpan secara terdistribusi di dalam banyak komputer yang saling berhubungan.
·         Hadoop YARN – sebuah platform resource-management yang bertanggung jawab untuk mengelola resources dalam clusters dan scheduling.
·         Hadoop MapReduce – sebuah model programming untuk pengelolaan data skala besar.
2.5.2 Sejarah Hadoop
·         Project Hadoop berasal dari project Apache Nutch, adalah sebuah opensource web search engine sebagai bagian dari project Lucene. Project Nutch dimulai dari tahun 2002, sebagai sebuah sistem search engine, namun masih memiliki keterbatasan untuk bisa menangani data yang besar.
·         Tahun 2003 Google memperkenalkan sebuah filesystem yang dinamakan GFS (Google File System) yang dapat menangani data dalam jumlah sangat besar dan meringankan tugas administrasi terhadap storage node.
·         Tahun 2004 Google mempublikasikan konsep MapReduce, pada saat itu Nutch juga memiliki konsep MapReduce yang sudah berjalan.
·         Hadoop diperkenalkan pada akhir 2005 oleh Doug Cutting dan Mike Cafarella sebagai bagian dari proyek nutch (mesin pencari web) dan luncene (library pencarian teks) oleh apache software foundation. Cutting, pada saat itu bekerja di perusahaan Yahoo. Kata “Hadoop” sendiri adalah nama mainan gajah berwarna kuning milik anaknya. Pembuatannya terinspirasi oleh teknik MapReduce dan Google File System (GFS) yang digunakan oleh Google
·         Pada Maret 2006, dikembangkan Project Nutch dengan MapReduce akhirnya disatukan dengan nama Hadoop.
·         Tahun 2008 hadoop telah menjadi proyek tingkat atas di lingkungan Apache Software Foundation dan dikembangkan secara terbuka oleh komunitas kontributor secara global.
·         Pengguna Hadoop adalah
-          Facebook Digunakan untuk Data Mining dan Data Warehousing, Ad Hoc User Data Analysis, Summarize jumlah impression/clicks dari ads. Dijalankan di 600 server.
-      New York Times Menggunakan hadoop untuk mengkonversi artikel NYTimes menjadi pdf dari tahun 1851 s/d 1922. Berjalan di atas 100 server Amazon EC2 selama 24 jam. Input data sebesar 4TB, output 1.5TB.
-      Yahoo Terdiri dari 24.000 server di 17 cluster. Lebih dari 10 petabytes data user. Mengerjakan ratusan ribu jobs tiap bulannya. Digunakan untuk news, search dan mail.
-          IBM mengerluarkan Seri mereka untuk Hadoop, mereka beri nama WebSphere eXtreme Scale. IBM juga mengeluarkan seri Hadoop mereka yang bernama InfoSpehe BigInsight, Hadoop versi memiliki kemampuan Hadoop versi Basic dan enterprise.
-          Microsoft mengeluarkan seri mereka untuk Hadoop pada Windows Azure, mereka memberi nama layanan tersebut dengan nama HDInsight.
-      AOL, Baidu,  ImageShack.
2.5.3 Proyek Terkait Hadoop di Apache
Saat ini implementasi dari hadoop tidak hanya hadoop core saja tetapi sudah meluas ke aplikasi yang berjalan di atas hadoop, seperti :
-          Pig
Platform untuk menganalisa data dengan menggunakan high level language. Umumnya digunakan dalam kebutuhan pengolahan data mentah untuk menjadi data matang kebutuhan analitik selanjutnya Digunakan secara intensif di Yahoo.
-          HBase
adalah database sederhana, dan skalabel untuk mengelola data dengan jumlah yang sangat besar dalam cluster Hadoop. Database HBase didasarkan pada implementasi bebas dari BigTable besutan Google. Struktur data ini cocok untuk data yang jarang berubah, tapi sangat sering ditambahkan. Menggunakan HBase dapat dikelola miliaran baris data secara efisien. Dikembangkan secara intensif di powerset.
-          Hive
System yang digunakan untuk query dan manage data yang disimpan diatas MapReduce dan Hadoop, bahasanya sudah sangat mirip dengan SQL. Digunakan secara intensif di Facebook.

-          Avro
Suatu kontainer untuk menampung kumpulan data berukuran kecil dalam satu file binary besar yang kompak, terstruktur skema-datanya & ringan untuk diproses lebih lanjut oleh MapReduce.
-          Chukwa
Memungkinkan pemantauan secara real-time dari sistem terdistribusi yang sangat besar.
-          Zookeeper
High-performance service  yang digunakan untuk koordinasi dan konfigurasi pada sistem terdistribusi yang berjalan di atas Hadoop.
2.6 MapReduce
2.6.1 Definisi MapReduce
MapReduce adalah framework software yang diperkenalkan oleh Google dan digunakan untuk mendukung distributed computing yang dijalankan di atas data yang sangat besar dan dijalankan secara simultan dibanyak komputer. Framework ini terinspirasi oleh konsep fungsi map dan reduce yang biasa digunakan di functional programming.
2.6.2 Proses Map
Proses "Map" : masternode menerima input, kemudian input tersebut dipecah menjadi beberapa sub problem yang kemudian didistribusikan ke worker nodes. Worker nodes ini akan memproses sub problem yang diterimanya untuk kemudian apabila problem tersebut sudah diselesaikan, maka akan dikembalikan ke masternode.
2.6.3 Proses Reduce
Proses "Reduce" : Masternode menerima jawaban dari semua sub problem dari banyak data nodes, menggabungkan jawaban-jawaban tersebut menjadi satu jawaban besar untuk mendapatkan penyelesaian dari permasalahan utama.
2.6.4 Keuntungan MapReduce
Keuntungan dari MapReduce ini adalah proses map and reduce dijalankan secara terdistribusi. Dalam setiap proses mapping bersifat independen sehingga proses dapat dijalankan secara simultan dan paralel. Demikian pula dengan proses reducer dapat dilakukan secara paralel diwaktu yang sama, selama output dari operasi mapping mengirimkan key value yang sesuai dengan proses reducernya.
2.6.5 Pengaplikasian MapReduce
Proses MapReduce ini dapat diaplikasikan di cluster server yang jumlahnya sangat banyak sehingga dapat mengolah data dalam jumlah petabyte hanya dalam waktu beberapa jam. Didalam hadoop, mapreduce engine ini terdiri dari satu jobtracker dan satu/banyak tasktracker. JobTracker adalah server penerima job dari client, sekaligus akan mendistribusikan jobs tersebut ke tasktracker yang akan mengerjakan sub job sesuai yang diperintahkan jobtracker. Strategi ini akan mendekatkan pengolahan data dengan datanya sendiri, sehingga ini akan sangat signifikan mempercepat proses pengolahan data. HDFS filesystem tidak hanya bisa digunakan untuk map/reduce. Ada beberapa project lain yang related dengan hadoop yang dapat dijalankan diatas HDFS seperti HBase, Pig, Hive, dll.
Hadoop ditujukan sebagian besar adalah untuk mengolah data dalam jumlah besar secara cepat dan efisien. Prosesnya sendiri adalah dengan menggunakan batch processing dan belum ditujukan untuk realtime processing, meskipun sekarang banyak aplikasi yang berjalan diatas hadoop yang sudah memungkinkan proses mendekati realtime.
2.7 Implementasi Big Data pada sebuah layanan platform
Microsoft mengimplementasikan Platform as a Service (PaaS) dan Infrastructure as a Service(IaaS). PaaS adalah pengembang aplikasi dapat mengembangkan dan menjalankan perangkat lunak(software) mereka pada platform cloud tanpa direpotkan dengan biaya serta kompleksitas dari pembelian dan pengelolahan perangkat keras(hardware). PaaS menyediakan segala sumber daya yang dibutuhkan untuk membangun sebuah aplikasi dan layanan secara lengkap dari internet, tanpa terlebih dahulu meng-unduh atau meng-install perangkat lunak. Sedangkan IaaS penyedia layanan hanya menyediakan sumber daya komputasi seperti prosesor, memori dan storage. Untuk pelihan OS, aplikasi, maupun konfigurasi lain-lain sepenuhnya berada pada kendali pelanggan.
2.7.1 Windows Azure
Microsoft menawarkan solusi Big Data yang merupakan kerjasama antara Microsoft dan Apache melalui produknya yaitu Hadoop, http://hadoop.apache.org/. Kerja sama ini dituangkan dalam satu solusi dengan Windows Azure.
2.7.2 Fitur Keunggulan Windows Azure
Windows Azure memiliki beberapa keunggulan berikut adalah beberapa alasan yang patut dipertimbangkan dalam memilih Windows Azure sebagai platform komputasi cloud anda.
1.    Familiaritas Windows
Azure adalah berbasis Windows, sehingga Anda dapat menulis aplikasi dalam bahasa pemrograman yang sama yang Anda gunakan untuk Windows apps seperti: Visual Basic, C++, C#, dll Anda juga dapat menggunakan alat-alat seperti Visual Studio, bersama dengan ASP.NET dan teknologi Windows lainnya yang Anda kenal.
2.    64-bit Windows VMs
Aplikasi yang berjalan pada Azure berjalan dalam mesin virtual, dengan instance masing-masing sehingga aplikasi berjalan di VM sendiri pada 64-bit sistem operasi Windows Server 2012 R2. Hypervisor yang mereka jalankan dirancang khusus untuk teknologi cloud.
3.    Azure SDK
Microsoft menyediakan Windows Azure Software Development Kit (SDK), yang merupakan versi dari Azure sehingga Anda dapat bekerja secara lokal ketika mengembangkan dan debugging aplikasi kemudian memindahkannya ke cloud.
4.    Skabilitas dan Fleksibilitas
Menggunakan Azure, Anda dapat dengan mudah membuat aplikasi yang berjalan secara handal dengan skala dari 10 hingga 10.000 atau bahkan 10 juta pengguna – tanpa coding tambahan. Azure Storage menyediakan skalabilitas, keamanan dan kinerja layanan penyimpanan yang efisien dalam cloud.
Setelah Anda membuat aplikasi Web, Anda dapat menentukan jumlah prosesor untuk aplikasi yang anda gunakan. Jika aplikasi Anda perlu skala untuk memenuhi permintaan, untuk menggunakan prosesor yang lebih pendekatan “pay as you go / pay as you grow” memungkinkan aplikasi baru Anda ke pasar lebih cepat dan merespon lebih cepat terhadap perubahan kebutuhan pelanggan Anda.
5.    Biaya dan Keuntungannya
Mengambil keuntungan dari sumber daya di cloud memungkinkan Anda untuk mengurangi biaya Anda dalam biaya pembuatan, pengujian, debugging, dan pendistribusian aplikasi berbasis web.
Ketentuan harga Windows Azure akan didasarkan pada konsumsi dengan biaya per jam yang tergantung pada ukuran instance per-bulan atau biaya per-transaksi untuk layanan penyimpanan Azure berdasarkan ukuran data.
6.    Pusat data berada di cloud
SQL Azure menyediakan semua manfaat dari pusat data kelas enterprise, sehingga tidak ada lagi kekhawatiran tentang back up data.
7.    Keamanan
Mengetahui bahwa keamanan merupakan salah satu perhatian terbesar bagi perusahaan dalam mempertimbangkan untuk pindah ke cloud. Layanan .NET Access Control Service menyediakan cara untuk mengintegrasikan identitas, dan keamanan Assertion Markup Language (SAML) token yang digunakan oleh aplikasi untuk menentukan apakah pengguna diperbolehkan akses.
8.    Traffic Manager
Pengguna dapat mengatur keseimbangan traffic incoming di beberapa host milik Windows yang tersebar di seluruh dunia. Apabila suatu aplikasi hanya tinggi trafficnya pada waktu-waktu tertentu, maka tentunya kebutuhan sumber daya hanya tinggi pada saat tertentu saja. Sehingga, kita dapat melakukan setting traffic dengan menggunakan sumber daya rendah pada saat jumlah akses rendah, dan meningkatkan kapasitas sumber daya apabila sedang mencapai peak time.
9.    Interoperabilitas
Dengan Azure, Anda dapat mengembangkan aplikasi hybrid yang memungkinkan secara lokal aplikasi Anda untuk menggunakan layanan cloud, seperti layanan database cloud dan layanan penyimpanan. Layanan komunikasi bekerja antara aplikasi lokal dan aplikasi awan, serta perangkat mobile. Azure mendukung open standarts dan protokol internet seperti HTTP, XML, SOAP, dan REST.
Demikian fitur-fitur dari Windows Azure yang dapat digunakan untuk mempermudah Anda dalam menggunakan komputasi cloud milik Microsoft ini.
2.7.3 Komponen teknologi Windows Azure
1. Compute
Merupakan bagian dari teknologi Windows Azure yang berguna dalam proses komputasi, baik secara foreground maupun background job (berjalan di belakang layar). Compute tools dari Windows Azure diantaranya adalah web role, worker role, dan virtual role.
2. Storage
Merupakan bagian dari teknologi Windows Azure yang berguna dalam proses penyimpanan data. Terdapat dua jenis storage dalam Windows Azure, yang pertama adalah Azure Storage yang berguna untuk penyimpanan data yang berbentuk table, cloud, dan blob. Sementara itu, bentuk storage lainnya adalah SQL Azure yang merupakan versi SQL Server yang berjalan di cloud.
3. Fabric
Merupakan bagian yang berguna sebagai “otak” dari teknologi ini. Proses ini diatur oleh Windows Azure Fabric Controller yang berguna dalam proses scheduling, resource allocation, dan management.
Windows Azure bersandar pada teknologi REST (Representational State Transfer) sehingga proses komunikasi antar aplikasi dapat dilakukan dengan menggunakan protokol HTTP. Abstraksi dari konsep Windows Azure dapat dilihat pada gambar di bawah ini  :
2.7.4 Windows Azure dan NoSQL Database
Berikut ini akan dijabarikan beberapa fitur yang dimiliki oleh Windows Azure dan SQL Azure, serta konsep NoSQL yang digunakan :
1.    Azure Table Storage
Azure table storage mengimplementasikan konsep key-value record
2.    SQL Azure XML Columns
Windows Azure SQL Database mempunyai tipe data “xml” yang dapat digunakan untuk menyimpan data-data berbentuk XML. Kita dapat menggunakan method-method pada tipe data xml untuk melakukan proses query ke sebuah instance XML yang disimpan pada variabel atau kolom bertipe xml. Berikut adalah beberapa method yang mendukung tipe data xml:
a.       query () Method (xml data type)
b.      value () Method (xml data type)
c.       exist () Method (xml data type)
d.      modify () Method (xml data type)
e.       nodes () Method (xml data type)
Dengan menggunakan konsep XML untuk penyimpanan data, kita lebih mudah dalam mengubah schema sebuah database (struktur table, tipe data, constraints) secara dinamis.
3.    Odata
OData adalah sebuah open web protocol untuk melakukan proses querying dan updating data via internet. OData memudahkan user untuk melakukan querying menggunakan protokol HTTP dan mendapatkan hasil dari proses query tersebut dalam format Atom, XML, ataupun JSON. Proses querying umum nya terhubung dengan sebuah web service yang berfungsi sebagai communication gate diantara dua proses tersebut.
2.7.5 Windows Azure dan Hadoop
Microsoft menawarkan solusi Big Data yang merupakan kerjasama antara Microsoft dan Apache melalui produknya yaitu Hadoop, http://hadoop.apache.org/ . Kerja sama ini dituangkan dalam satu solusi dengan Windows Azure. http://azure.microsoft.com/en-us/services/hdinsight/
2.7.5.1 Fitur Hadoop yang disediakan pada Windows Azure
Pada layanan hadoop yang disediakan oleh Windows Azure terdapat 8 menu untuk pengguna, antara lain :
1.    Interactive Console
berfungsi untuk melakukan manajemen hadoop melalui console. Console ini dilakukan melalui web javascript.
2.    Remote Desktop
Berfungsi untuk mengendalikan komputer lainnya yang terhubung.
3.    Open Ports
Berfungsi untuk menampilkan konfigurasi port ODBC Server yang berguna untuk komunikasi antara aplikasi yang akan dieksekusi dengan database.
4.    Manage Cluster
Berfungsi untuk melakukan konfigurasi untuk disaster recovery dan konfigurasi Windows Azure Blob.
5.    Job History
Berfungsi untuk menyimpan riwayat eksekusi pekerjaan
6.    Samples
Menyediakan contoh-contoh aplikasi yang dapat di eksekusi pada windows azure hadoop beserta kode programnya.
7.    Download
Untuk memperoleh client driver untuk mengakses Apache Hadoop yang di sediakan,pengguna dapat download driver sesuai dengan platform yang dimiliki.
8.    Create Job
Berfungsi untuk mengirim dan mengeksekusi job.



BAB III
PENUTUP

3.1 Kesimpulan
Big data diasumsikan sebagai sebuah media penyimpanan data yang menawarkan ruat tak terbatas, serta kemampuan untuk mengakodasi dan memproses berbagai jenis data dengan sangat cepat.
NoSQL(Not Only SQL) adalah No Relational Database
Hadoop merupakan bentuk aplikasi database big data NoSQL, diciptakan untuk menangani jumlah data dengan skala yang besar.
Proses MapReduce ini dapat diaplikasikan di cluster server yang jumlahnya sangat banyak sehingga dapat mengolah data dalam jumlah petabyte hanya dalam waktu beberapa jam.
Windows Azure mengimplementasikan konsep key-value record pada azure table storage
Windows Azure menggunakan Apache Hadoop sebagai database NoSQL untuk menangani jumlah data dengan skala yang besar.
3.2 Saran

Untuk Membuat database dengan skala yang besar dianjurkan untuk menggunakan database NoSQL. Perusahaan besar seperti Microsoft, Facebook, Twitter, Google, IBM dan lain sebagainya sudah menerapkan metode ini untuk menangani data berskala besar.

Download Makalah Platform as a Service Windows Azure dan Big Data.pdf
Password : arfkomunika.blogspot.com

No comments:

Post a Comment

Untuk bertanya seputar postingan kami diblog ini silahkan tanya di fb fanpage kami ..

Note: Only a member of this blog may post a comment.