Anda di halaman 1dari 12

Sistem Operasi

Disusun oleh : Achmad Sopian Hadi 103112706450029 FTKI / TI

Windows Azure
Mempertahankan nama sebesar Microsoft bukanlah perkara mudah. Ada waktunya dimana perusahaan tersebut harus bisa merangkul pihak lain untuk bekerjasama. Microsoft kini tengah berusaha merangkul para developer PHP dan mengajak mereka untuk mengembangkan aplikasi dengan platform Cloud. Perusahaan raksasa kini bekerjasama dengan Zend Technologies untuk meluncurkan Zend Framework versi 1.10 yang terintegrasi dengan Windows Azure. Vijay Rajagopalan, Microsoft principal architect, mengatakan dukungan Zend Framework for Windows Azure Cloud, merupakan keberhasilan kolaborasi dari kedua perusahaan. Pertengahan tahun 2009 lalu, Microsoft telah meluncurkan Community Technology Preview yang mengembangkan Windows Azure SDK for PHP CTP, yang mana Rajagopalan menjanjikan bahwa nantinya Windows Azure akan berintegrasi dengan Zend Technologies. Developer PHP menemukan bahwa platform Windows Azure menarik, jelas Jean Paoli, general manager di Microsoft. Keputusan Microsoft untuk berkontribusi pada komponen PHP berbasis Windows Azure ke Zend Framework membantu menunjukkan komitmen Microsoft untuk keterbukaan dan interoperabilitas dengan menyediakan pilihan dan kesempatan yang lebih besar bagi pelanggan dan mitra Microsoft. Pentingnya dukungan Zend Framework support pada Windows Azure adalah komponen Zend_Service_WindowsAzure baru di versi 1,10 yang merupakan kontribusi dari perusahaan Redmond pada proyek open source PHP. Rajagopalan menjelaskan bahwa developer sekarang akan dapat menggunakan API Windows Azure dari aplikasi PHP mereka, sementara itu mereka dapat mengambil keuntungan dari layanan platform Cloud, seperti Blob Storage, Table Storage dan Queue Service. Kesederhanaan serta fleksibilitas yang dimiliki PHP membuatnya sangat ideal untuk mengembangkan aplikasi cloud menggunakannya. Dukungan Native Windows Azure pada Zend Framework 1.10 mengantarkan ketangguhan Windows Azure pada komunitas pengguna Zend Framework, tambah Zeev Suraski, salah satu pendiri Zend. Bersama dengan fitur baru ini, kami memperpendek kurva belajar untuk pemula, dengan ditingkatkan dokumentasi, tutorial baru dan perbaikan struktur dokumentasi. Dalam kenyataannya, perusahaan terbesar Microsoft juga mengumumkan Windows terbaru mereka yang merekan jadikan sebagai senjata mereka untuk persaingan OS. Windows tersebut diberi nama Windows Azure yaitu Sistem Operasi yang memanfaatkan konsep Cloud computing alias berkomputer dengan memanfaatkan internet. Jadi semua aplikasi akan dijalankan pada

DataCenter Microsoft dan bukan pada Server sebuah perusahaan, maka dari itu pengguna hanya bisa memanfaatkan aplikasi itu asalkan terhubung dengan internet. "Ini adalah transformasi dari piranti lunak kami dan transformasi dari strategi kami," ujar Ray Ozzie, Chief Software Architect Microsoft, seperti dikutip kilasberita.com dari Cnet, Selasa (28/10/2008). Sebelumnya kita tahu bahwa microsoft pernah melansirkan Windows XP, Windows Vista, maupun yang masih hot sampai saat ini yaitu Windows 7. Dari beberapa Windows yang dilansirkan oleh microsoft mempunyai kelebihan dan fitur masing-masing, yang dapat menarik perhatian bagi pasaran. Windows Azure dapat membuat dan Host aplikasi web dan layanan yang cepat skala atas atau bawah, tergantung pada tuntutan bisnis. Windows Azure menyediakan pengembangan dengan on-demand computing dan storage, host, scale, dan mengelola aplikasi web di internet melalui Microsoft datacenters. Windows Azure sebenarnya merupakan sebuah platform yang fleksibel yang mendukung beberapa bahasa dan terintegrasi dengan lingkungan yang ada pada-tempat anda. Untuk membangun aplikasi dan layanan pada Windows Azure, pengembang dapat mengandalkan kemampuan Microsoft Visual Studio . Selain itu, Windows Azure sangat mendukung standar, protokol dan bahasa yang populer termasuk SOAP, REST, XML, Java, PHP dan Ruby. Sekarang ini Windows Azure tersedia secara komersial di 40 negara. Pengumuman Windows Azure dilakukan dalam Professional Developers Conference yang digelar Microsoft di Los Angeles, Amerika Serikat, 27 Oktober 2008 waktu setempat. Azure akan menempatkan Microsoft bersaing secara langsung dengan penyedia jasa serupa, seperti Amazon, Salesforce.com dan Rackspace. Belum ada rincian mengenai harga 'sewa' yang akan diterapkan Microsoft untuk Azure. Saat ini, Ozzie mengumumkan, Azure masih gratis bagi pengembang yang ingin mencobanya. Microsoft pun berencana memanfaatkan Azure untuk berjualan beberapa piranti lunaknya yang biasanya dijual untuk digunakan pada server kantor. Semua piranti lunak Enterprise Microsoft, termasuk Exchange, dikabarkan akan menawarkan pilihan ini.

Apa itu Azure?

Azure adalah sebuah Microsoft operating system untuk cloud computing, dengan code-named, dan akan menjadi titik awal dari Azure Service Platform yang akan dijalankan Microsoft yang dimulai pada data center mereka sendiri. Azure juga merupakan sebuah development environment untuk para application builder untuk cloud computing.

Jadi untuk lebih lengkap tentang Windows Azure itu sendiri adalah sebuah sistem operasi yang berjalan diatas Cloud, didesain untuk menjalankan aplikasi dan computing utility. Windows Azure mempunyi 4 buah fitur penting, yaitu :
y y y y

Service Management, Dengan Windows Azure kita diberikan kemudahan untuk mendeploy dan mengatur aplikasi yang kita buat. Compute, Dengan dukungan Cloud kita tidak perlu khawatir dengan performansi dari server itu sendiri. Storage, Storage space yang sanget besar untuk aplikasi kita, jadi siapapun bisa menggunakannya. Developer Experience, developer diberikan kemudahan dalam mendeploy suatu aplikasi, layaknya kita mendeploy sebuah aplikasi dengan visual studio di desktop kita sendiri.

Windows Azure menawarkan banyak sekali kemudahan untuk para developer aplikasi, sama mudahnya dengan mendeploy aplikasi di desktop, namun bedanya kali ini kita mendeploy aplikasi tersebut diatas sistem operasi Cloud, kemudahan yang diberikan :
y

y y

Abstrct execution environtment, Sama mudahnya dengan anda memilih aplikasi yang ingin anda jalankan dan klik RUN!, anda tidak perlu tim deployment yang menentukan di server mana akan menjalankan code dari aplikasi tersebut, semuanya berjalan otomatis. Shared file system, semua file system yang anda butuhkan sudah tersedia, "the more you need, the more you get". Resource allocation, dengan Windows Azure setiap orang dapat menggunakan environment yang sama dengan yang lainnya.

Programing environtment, developer merasakan suasana yang sama halnya dengan mendeploy aplikasi di desktop sendiri.

Windows Azure juga menyediakan support untuk computing utility dimana Windows Azure sangat reliable, it's always up 24/7 operation, jadi anda tidak perlu pusing untuk membeli atau membangun sebuah data center untuk menjalankan aplikasi anda. Dan yang tidak kalah pentingnya Windows Azure ini bersifat simple, kita dapat mengontrol secara remote dan juga sangat mudah untuk di manage. Supaya tidak salah intepretasi, Windows Azure bukanlah sebuah software yang berjalan diatas server atau desktop anda, tetapi merupakan sebuah sistem operasi yang berjalan diatas banyak server yang saling terhubung satu sama lain (Cloud) dan di host di data center milik Microsoft US. Untuk mempelajari deployment dari Windows Azure ini, Microsoft menyediakan 3 tutorial singkat mengenai bagaimana mendeploy aplikasi web kita ke Windows Azure. Windows Azure - Part 1 (Preparing Development and Deployment Requirement) Windows Azure - Part 2 (Creating Project in Windows Azure Portal) Windows Azure - Part 3 (Deploying Application to Windows Azure) Sedangkan resource-resource terkait yang dapat dipergunakan untuk mempelajari dan mengembangkanpemakaian Windows Azure ini lebih lanjut antara lain adalah :

Portal Utama Windows Azure Windows Azure Tools for Microsoft Visual Studio (March 2009 CTP) Azure Tools for VS merupakan addin yang dapat menambahkan template project baru agar kita dapat membuat project dengan memanfaatkan Windows Azure. Azure Services Kit (April 2009) Azure Service Training Kit terdiri dari sejumlah slide presentasi, tutorial, hands on lab, dan sample code. Windows Azure Software Development Kit (March 2009 CTP) Windows Azure SDK terdapat dokumentasi, contoh, dan simulasi dari lingkungan Windows Azure. Windows Azure Video Tutorial @MSDN

Arti dari namaya ?


Azure adalah warna biru dari HSV color space, yang biasanya digunakan untuk mengenerate high-quality computer graphic. Selayaknya Blue sky. yang merupakan sebuah awan kan ?

Apakah ini hanya sebuah Operating system ?


Antara ya dan tidak dimana didalam Azure akan ada elemen dari Windows Server 2008 dan subsystem nya, yang menjadi bagian dari lain dari operating system nya, sama halnya dengan infrastructure service dan application akan berjalan secara terpisah. Sehingga ini memungkinkan

kita untuk mengupgrade application atau melakukan tuning pada computing resource dengan sangat mudah. Azure mengkombinasikan beberapa lapisan services yang berjalan didalamnya infrastructure service seperti security dan application service hingga akhirnya menghasilkan sebuah complete cloud platform.

Apa bagian lainya?


Ada 3 bagian lain misalnya Storage, yang akan mengisi file system didalam operating system tradisional, virtualization, akan mempermudah pendistribusian resource, dan desktop development environment yang memberikan kesempatan para developer untuk menjalankan minicloud pada desktop mereka.

Interaksi dengan Operating System


Seperti telah dibahas pada tulisan sebelumnya, Fabric Controller merupakan aplikasi yang mengatur setiap instance, baik dari web role, worker role, maupun VM role. Selain itu, Fabric Controller juga mampu untuk menginstall patch dan update pada Windows Azure. Hal ini akan mempermudah administrasi sistem dan aplikasi. Namun, sifat ini juga memiliki tantangan, yaitu kemungkinan adanya bentrok antara Fabric Controller dan aplikasi yang dibuat developer, misalnya pada saat Fabric Controller melakukan perubahan pada sistem, kemudian aplikasi melakukan perubahan yang overwrite perubahan yang dilakukan sebelumnya. Oleh karena itu, setiap developer aplikasi Windows Azure harus mempertimbangkan hal ini, terutama apabila aplikasi yang dibuat berjalan pada admin mode.

Interaksi dengan Penyimpanan Data


Perihal penyimpanan data, Windows Azure memiliki beberapa karakteristik, antara lain:
y y

Data harus disimpan diluar instance. Hal ini perlu diperhatikan untuk memastikan data tetap konsisten, bahkan apabila suatu instance mengalami kegagalan. Penyimpanan data harus direplikasi. Karena aplikasi Windows Azure berjalan pada beberapa instance agar dapat tetap berjalan apabila terjadi kegagalan. Hal ini berarti data harus direplikasi untuk memastikan data dapat selalu diakses meskipun salah satu instance data tidak dapat diakses Penyimpanan harus mampu menangani data dalam jumlah besar. Karena Windows Azure didesain untuk mampu menangani load dalam jumlah besar, maka aplikasi yang ada juga harus didesain serupa. Untuk memastikan hal tersebut, Windows Azure menggunakan blobs dan tables untuk menangani data dengan ukuran yang besar.

Untuk menjelaskan ketiga karakteristik ini, diagram berikut akan menjelaskan mengenai bagaimana penyimpanan data pada Windows Azure

Pada gambar tersebut, terlihat bahwa penyimpanan data terpisah dari instance aplikasi, hal ini menujukkan bahwa data disimpan diluar instance, sehingga akan tetap konsisten apabila terdapat kegagalan pada salah satu instance. Selain itu juga terlihat bahwa data disimpan pada dua buah Blobs dan sebuah table, yang masing-masing dibagi ke dalam beberapa instance terpisah. Seperti halnya instance pada role, masing-masing instance data akan disimpan ke tempat yang berbedabeda, sehingga apabila terjadi kegagalan pada suatu instance data, data akan tetap dapat diakses melalui instance yang lain.

Interaksi antar Role Instance


Aplikasi yang terbagi atas beberapa logical parts, atau roles, umumnya memiliki interaksi antar roles tersebut. Misalnya, sebuah web role instance menerima input dari user pada web, kemudian input tersebut diteruskan dan dianalisa oleh sebuah Worker Role. Interaksi antar roles disini berbeda pada aplikasi pada umumnya. Karena Windows Azure membagi roles ini ke dalam instance-instance yang sama persis, maka instance dari suatu role akan saling berkirim pesan dengan instance pada role lainnya, tanpa memperhatikan instance yang mana yang dituju. Gambar berikut akan menjelaskan proses ini.

Pada contoh diatas, sebuah web role menerima sebuah input, misalkan sebuah request dari user. Setelah memproses input tersebut, web role tersebut kemudian meneruskan sebuah pesan ke sebuah worker role. Pesan ini akan disimpan ke dalam sebuah antrian. Seperti instance penyimpanan data yang lainnya, antrian ini juga akan direplikasi ke dalam beberapa instance untuk memastikan availability. Kemudian, instance worker role lainnya akan membaca pesan dari antrian yang ditujukan kepada roles tersebut, tanpa memperhatikan dari web role instance yang mana pesan tersebut berasal. Kemudian, Worker role akan menjalankan tugasnya dan menghapus pesan tersebut.

Model Pemrograman pada Windows Azure

Model pemrograman Windows Azure berfokus pada 3 hal, yaitu: 1) Administrasi yang lebih mudah, misalnya mampu melakukan update operating system secara otomatis, 2) Availability yang lebih tinggi, model pemrograman pada Windows Azure didesain untuk available setiap saat, meskipun pada waktu load sangat tinggi, dan 3) Scalabiity yang lebih mudah, programmer dapat dengan mudah menyesuaikan aplikasi sesuai dengan skala yang dibutuhkan.

Secara sederhana, model pemrograman pada Windows Azure mengikuti 3 aturan, yaitu:

1. Sebuah aplikasi Windows Azure terdiri atas satu atau lebih roles
Windows azure akan membagi aplikasi ke dalam beberapa logical part yang disebut roles. Roles terdiri atas 3 jenis sesuai fungsinya: 1) Web Role, yaitu serangkaian logic yang berinteraksi dengan menggunakan HTTP. Biasanya digunakan untuk mendapatkan input dan dapat dibuat dengan ASP.NET, PHP, dll. 2) Worker Role merupakan serangkaian logic yang berinteraksi dengan lebih banyak cara. Misalnya, sebuah worker role dapat melakukan analisis terhadap sejumlah data. 3) Virtual Machine (VM) Role, yaitu role yang mampu menjalankan Virtual Hardisk (VHD) pada cloud sehingga bisa digunakan sebagaimana virtual machine pada Windows Server.

2. Sebuah aplikasi Windows Azure menjalankan beberapa instance untuk setiap role
Windows Azure akan menjalankan 2 buah copy, atau lebih sering disebut 2 instance berbeda dari setiap roles pada aplikasi tersebut. Banyaknya instance yang akan dibuat oleh sebuah aplikasi ditentukan oleh programmer (lihat Membuat Hello World pada Windows Azure). Setiap instance dari suatu role tertentu akan sama persis dengan instance lainnya, kemudian Windows Azure secara otomatis akan menyeimbangkan load ke dalam instance-instance tersebut.

Pada Gambar diatas, sebuah aplikasi terdiri atas sebuah web role dan sebuah worker role, dan terlihat bahwa programmer yang membuat aplikasi tersebut mengalokasikan 4 instance untuk webrole, dan 3 instance untuk worker role.

3. Sebuah aplikasi Windows Azure akan tetap berjalan apabila terdapat kegagalan pada instance
Sebuah aplikasi pada Windows Azure harus memiliki minimal 2 instance pada setiap role yang dimilikinya, untuk memastikan aplikasi tersebut dapat tetap berjalan apabila terdapat instance yang mengalami kegagalan. Untuk memahami lebih lanjut mengenai aturan ini, mari kita lihat gambar berikut:

Aplikasi tersebut telah kehilangan dua buah webrole instance nya, serta salah satu worker role instancenya. Apapun penyebab kegagalannya, aplikasi akan tetap dapat berjalan dengan instance yang ada. Pada prakteknya, sebuah aplikasi Windows Azure dapat berjalan tanpa mengikuti aturan-aturan ini. Namun, ketiga aturan ini memastikan sebuah Platform-as-a-Service (PaaS) dapat memberikan benefit yang diharapkan sebagai layanan cloud.

Fabric Controller
Meskipun developer yang sudah pernah membuat aplikasi Windows sebelumnya tidak akan menemui banyak masalah pada Windows Azure, namun ada baiknya untuk mengetahui bagaimana Windows Azure bekerja. Untuk memahami cara kerja Windows Azure, penting untuk mengetahui konsep mengenai Fabric Controller. Seperti halnya teknologi cloud lainnya, Windows Azure didesain untuk berjalan di sebuah data center yang memiliki banyak komputer, dan setiap aplikasi pada Windows Azure akan dijalankan pada beberapa mesin secara bersamaan. Gambar berikut akan menjelaskan bagaimana hal ini diterapkan pada data center.

Pada gambar diatas, komputer-komputer yang terdapat pada data center dikelola oleh sebuah aplikasi yang bernama fabric controller. Pada saat seorang developer melakukan deploying sebuah aplikasi ke Windows Azure, fabric controller akan membaca file konfigurasi pada aplikasi tersebut, lalu membuat instance dan VM role sesuai dengan yang diinginkan oleh programmer. Seperti tampak pada gambar, instance-instance pada sebuah aplikasi akan tersebar di berberapa komputer di dalam data center. Apabila terjadi kegagalan pada suatu instance, maka secara otomatis fabric controller akan membuat instance baru, sehingga memastikan aplikasi tersebut akan selalu available. Hal ini menyebabkan Windows azure memiliki 3 keuntungan yang telah disebutkan sebelumnya, yaitu, administrasi yang lebih mudah, availability yang lebih tinggi, serta scalability yang lebih mudah.