Rumah Komputasi awan Bagaimana virtualisasi dapat memberdayakan aplikasi saa

Bagaimana virtualisasi dapat memberdayakan aplikasi saa

Daftar Isi:

Anonim

Virtualisasi mencakup berbagai teknologi komputasi dan dapat dicapai baik di tingkat perangkat keras maupun di tingkat perangkat lunak. Dalam suatu perusahaan, virtualisasi dapat meningkatkan kemampuan layanan perangkat lunak, terutama aplikasi SaaS. Ini juga cara paling efektif bagi perusahaan untuk mengurangi biaya TI mereka. Tetapi satukan virtualisasi dan SaaS bersama dan Anda mungkin memiliki kombinasi yang unggul.

Apa itu SaaS?

Perangkat lunak sebagai layanan (SaaS) adalah model lisensi perangkat lunak di mana perangkat lunak dilisensikan berdasarkan berlangganan dan di-host secara terpusat oleh vendor atau penyedia layanan. Aplikasi perangkat lunak terdistribusi ini tersedia untuk pelanggan melalui Internet.


SaaS menjadi populer di seluruh teknologi yang mendukung arsitektur berorientasi layanan (SOA) atau layanan Web. SaaS hadir dengan sejumlah keunggulan. Yang paling umum adalah:

  • Administrasi mudah
  • Pembaruan yang mudah dan manajemen tambalan
  • Kompatibilitas (semua pengguna akan memiliki versi perangkat lunak yang sama)
  • Aksesibilitas global
SaaS juga dianggap sebagai bagian dari nomenklatur komputasi awan bersama dengan:

  • Manajemen teknologi informasi sebagai layanan (ITMaaS)

Virtualisasi dan Pengiriman Perangkat Lunak

Konsep virtualisasi telah diadopsi dan diterima dengan benar di komunitas pengembangan perangkat lunak. Ini memiliki kemampuan untuk menyediakan pengembangan yang lebih cepat dan mekanisme pengujian dengan menciptakan lingkungan pengembangan dan pengujian dengan cepat.


VMware dan VBox adalah teknologi yang paling banyak digunakan, dan mereka memungkinkan banyak pengguna untuk berjalan pada sistem operasi, versi, dan instance yang berbeda. Sebagian besar perusahaan pengembangan perangkat lunak mengadopsi teknik virtualisasi dengan terlebih dahulu mengadopsi mekanisme virtualisasi perangkat lunak dan kemudian secara bertahap bergerak menuju virtualisasi perangkat keras.

Virtualisasi dan SaaS

Meskipun memiliki banyak keuntungan, SaaS belum mendapatkan kredit jatuh tempo. Ada banyak faktor yang bertanggung jawab untuk ini. Ini termasuk:

  • Biaya Awal yang Besar: Pendapatan yang diinvestasikan dalam pengaturan dipulihkan selama periode tahun.
  • Ini Dapat Melanggar Prinsip-prinsip Perangkat Lunak Bebas: Aktivis kebebasan perangkat lunak Richard Stallman menyebut SaaS sebagai "layanan sebagai pengganti perangkat lunak (SaaSS), " dan menganggapnya sebagai pelanggaran prinsip-prinsip perangkat lunak bebas.


    "Dengan SaaS, para pengguna tidak memiliki salinan dari file yang dapat dieksekusi: itu ada di server, di mana para pengguna tidak dapat melihat atau menyentuhnya. Dengan demikian tidak mungkin bagi mereka untuk memastikan apa yang sebenarnya dilakukannya, dan tidak mungkin untuk mengubah SaaS secara inheren memberi operator server kekuatan untuk mengubah perangkat lunak yang digunakan, atau data pengguna yang dioperasikan, "tulis Stallman di situs web GNU.

Contoh yang baik dari SaaS melalui virtualisasi adalah Amazon Web Services (AWS). AWS menawarkan sejumlah perangkat lunak dan platform. Perangkat lunak ini diinstal pada host virtual dan dapat ditingkatkan ke atas atau ke bawah jika diperlukan.


Jika kami fokus di luar infrastruktur dan biaya awal, begitu dikerahkan, platform aplikasi SaaS hanya akan berkaitan dengan reproduktifitas. Setiap contoh aplikasi berbasis SaaS harus identik satu sama lain. Harus ada perbedaan minimal untuk mempertahankan perilaku yang konsisten dari setiap instance aplikasi untuk setiap pelanggan dan untuk tim dukungan. Ini dilakukan agar mereka memiliki basis yang seragam untuk memecahkan masalah apa pun, jika diperlukan. Insinyur dukungan tidak ingin menemukan masalah yang disebabkan oleh modul perpustakaan yang hilang untuk satu instance pelanggan. Demikian pula, pelanggan juga tidak ingin tahu bahwa mungkin ada masalah dalam setiap aplikasi yang dipesan karena perusahaan berbasis SaaS tidak dapat mereproduksi masalah menggunakan langkah-langkah yang sama untuk setiap pesanan. Seluruh proses harus otomatis untuk manfaat konsistensi dan biaya.

Meningkatkan kompleksitas

Menjadi penting untuk memahami sifat kompleks penerapan untuk aplikasi saat ini - baik itu model SaaS atau model tradisional. Bahkan aplikasi Web yang paling sederhana pun tidak lagi bertanggung jawab untuk mengelola lapisan penyimpanan data yang mendasarinya. Praktik standar adalah memiliki database, misalnya, MySQL, Oracle, DB2 atau SQL Server. Menggabungkan ini dengan tumpukan Web khas seperti Jawa, Ninja, Grails, Rails, dll., Mengarah ke arsitektur multi-tier yang menuntut penyebaran yang dapat diukur. Misalnya, saat menyiapkan lingkungan Rails, kami menggunakan MySQL.


Sifat lincah dari aplikasi, yang memungkinkan untuk peningkatan yang mudah dari perangkat lunak melalui plugins, patch, macro dan mashup, dapat dengan mudah diintegrasikan ke dalam model SaaS. Ekstensi atau tambalan dikembangkan untuk masalah yang lebih kecil, sebagian besar waktu memperbaiki bug, yang perlu disampaikan sebagai tambalan pada perangkat lunak yang ada. Biasanya pelanggan tidak ingin mendengar bahwa masalah terjadi karena kendala sumber daya atau keadaan lain, atau bahwa itu dibuat oleh pelanggan lain.


Sesuai Wikipedia, pemisahan kekhawatiran adalah alasan untuk memecah aplikasi menjadi fitur yang berbeda, yang meminimalkan fungsionalitas yang tumpang tindih. Dengan virtualisasi, konsep ini dapat diterapkan pada infrastruktur. Pemisahan dapat diterapkan ke basis per-aplikasi, per-pelanggan, dan / atau per-cluster. Meskipun masih menggunakan perangkat keras hingga kapasitas maksimalnya, ia menyediakan kemampuan untuk menskala secara horizontal dan vertikal. Ini bermanfaat untuk aplikasi penyewa tunggal yang ingin memasuki pasar SaaS. Multitenancy instan pada perangkat keras yang mendasarinya dengan perubahan kode hampir nol dapat dicapai dengan mudah.


Ada dua model penyebaran yang digunakan pada platform SaaS Contegix. Faktor pembeda tergantung pada bagaimana aplikasi dikembangkan:

  • Untuk mendukung satu pelanggan per penyebaran, atau
  • Untuk mendukung banyak pelanggan dalam satu penyebaran
Model penyebaran umum lainnya adalah memberikan tingkat pemisahan yang lebih tinggi. Aplikasi infrastruktur yang mendasarinya dipisahkan menjadi mesin virtual, masing-masing diskalakan pada tingkat yang diperlukan masing-masing. Terlepas dari model penyewa tunggal, model ini memungkinkan penskalaan tidak hanya pada komponen individu dalam hal sumber daya mesin virtual, tetapi juga jumlah instance. Model ini berfungsi sangat baik untuk instance besar atau beberapa aplikasi pelanggan.


Terlepas dari model penyebaran, sangat penting untuk memisahkan sistem operasi dan instalasi aplikasi dari data aplikasi. Ini mengarah pada diskusi tentang bagaimana upgrade diproses dan ditangani. Sistem operasi dan instalasi aplikasi harus mempertimbangkan jumlah data yang mudah menguap, yang harus dapat diganti setiap saat dengan salinan yang disegarkan atau versi baru.

Bagaimana virtualisasi dapat memberdayakan aplikasi saa