Perkembangan awan: 9 perkara yang perlu diketahui sebelum anda masuk

Pembangunan aplikasi dan pengujian di cloud semakin popular, kerana lebih banyak perniagaan melancarkan inisiatif pengkomputeran awan awam dan swasta. Pengembangan awan biasanya merangkumi persekitaran pembangunan bersepadu, komponen pengurusan kitaran hidup aplikasi (seperti pengurusan ujian dan kualiti, pengurusan kod sumber dan konfigurasi, alat penyampaian berterusan), dan komponen ujian keselamatan aplikasi.

Walaupun para eksekutif dan pemaju teknologi yang berpengalaman dalam pengembangan berbasis cloud mengatakan ada manfaat yang jelas untuk berkembang di persekitaran ini - seperti penjimatan kos dan peningkatan kecepatan untuk memasarkan - mereka juga memperingatkan bahawa ada cabaran dan kejutan yang harus dicari.

[Dapatkan penjelasan dan nasihat yang tidak masuk akal yang anda perlukan untuk memanfaatkan pengkomputeran awan secara nyata dalam laporan khas PDF Cloud Computing Deep Dive 21 halaman editor. | Ikuti perkembangan awan dengan buletin Laporan Cloud Computing. ]

Bagaimana perkembangan umum awan mungkin tidak jelas. Tetapi analisis industri menunjukkan ia sedang meningkat. Dalam catatan penyelidikan Februari 2011, Gartner mengatakan bahawa pelanggan yang menghadiri simposium firma pada tahun 2010 menyatakan "minat yang meningkat secara mendadak" dalam pengkomputeran awan untuk meningkatkan pengembangan dan penyelenggaraan aplikasi Web khusus yang ada.

"Saya melihatnya paling banyak dalam pengembangan cabang prototaip dan selari, tetapi terdapat juga pertumbuhan yang besar di ruang ujian beban dan prestasi," kata Eric Knipp, seorang penganalisis penyelidikan utama di Gartner.

Sekiranya anda ingin menceburi bidang pengembangan cloud untuk pertama kalinya, berikut adalah sembilan jenis rintangan yang mungkin anda hadapi dan cadangan bagaimana mengatasinya daripada pembangun yang sebenarnya telah melakukan kerja tersebut.

Pembangunan awan gotcha 1: Awan tidak selalu berfungsi seperti "dunia nyata"

Pembangun mungkin mendapati bahawa konfigurasi yang mereka gunakan dalam pengeluaran sukar ditiru pada perkhidmatan cloud. Sebagai contoh, dengan aplikasi yang anda kembangkan di cloud sebelum kembali dijalankan secara tempatan, anda mungkin perlu menguji sistem warisan yang tidak boleh anda salin ke perkhidmatan cloud, kata Knipp: "Itu bererti mungkin banyak lebih banyak perkara yang perlu disokong oleh pembangun untuk menjalankan aplikasi ujian. "

Teknologi virtualisasi perkhidmatan dapat membantu, kata Knipp, dan pemaju dapat memanfaatkan penawaran pasaran yang memungkinkan pengembangan cabang berganda / selari. Ambil contoh iTKO, yang menawarkan rangkaian perisian bernama Lisa yang membantu syarikat memindahkan aplikasi perusahaan ke awan.

Pembangun yang terbiasa dengan pembangunan nonkloud mungkin juga menghadapi kejutan ketika membuat aplikasi Web di cloud. Sebagai contoh, Greg Taylor, yang membuat aplikasi pendaftaran dalam talian untuk Persatuan Pendidikan Muzik Ohio, tidak menyangka bahawa dia memerlukan pemahaman yang mendalam mengenai struktur pangkalan data dan bagaimana pengguna akan berinteraksi dengannya ketika dia membuat aplikasi.

Aplikasi ini, yang mengendalikan pendaftaran pemain muzik sekolah dalam kandungan muzik di seluruh negara, menggunakan pangkalan data MySQL sebagai bahagian belakang dan Alpha Five 10.5 dari Perisian Alpha untuk bahagian depan. "Saya berasal dari latar belakang FileMaker Pro [dan] produk itu sangat memaafkan berkaitan dengan struktur pangkalan data," kata Taylor. "Reka bentuk yang buruk masih dapat digunakan dengan jumlah kejayaan yang wajar."

Tetapi berkembang dengan MySQL memaksa Taylor menjadi sangat teratur sehingga aplikasi Web akan mempunyai prestasi terbaik. Kembali ke struktur jadual untuk menambah lebih banyak bidang adalah memakan masa, kerana ia melibatkan putaran antara alat pembangunan yang berbeza, Navicat untuk MySQL dan Alpha Five untuk reka bentuk halaman Web yang sebenarnya, katanya. Alat pertama membuat struktur pangkalan data, sementara yang kedua membuat halaman yang berinteraksi dengan pengguna untuk memasukkan dan menyunting maklumat dalam pangkalan data.

"Ini mungkin bukan masalah bagi pemaju memanfaatkan pangkalan data yang telah dibuat," kata Taylor. "Mereka hanya akan menggunakan Alpha Five untuk mengembangkan halaman Web yang akan diakses oleh pengguna. Dalam kes saya, saya secara serentak mengembangkan pangkalan data dan halaman Web, yang memerlukan saya beralih antara alat pengembangan jika saya tidak merancang dengan berhati-hati. "

Untuk mengelakkan perjalanan pergi balik yang berterusan, Taylor harus mengubah pendekatan pengembangan pangkalan data: "Dengan mengembangkan ERD [gambarajah hubungan entiti] yang jelas dengan semua bidang yang diperlukan terlebih dahulu, aplikasi Web saya cekap dan keseluruhan masa pembangunan saya dikurangkan."

Dalam beberapa kes, alat pengembangan awan berfungsi seperti dunia nyata - sekurang-kurangnya, dari versi dunia nyata semalam. Jeff Hensley, penganalisis kanan HRIS di DaVita, sebuah firma penjagaan kesihatan yang mengkhususkan diri dalam dialisis buah pinggang, terkejut kerana pembangun yang bekerja di awan perlu menggunakan alat baris perintah, XML, dan SQL, "yang mengingatkan saya pada zaman DOS lama." Dia menjangkakan bahawa pendekatan sekolah lama akan berubah dari masa ke masa seiring meningkatnya adopsi.

DaVita menggunakan platform penyampaian aplikasi berasaskan awan dan pelayan yang dihoskan untuk mengembangkan dan menyampaikan aplikasi gudang data sumber manusia dan aplikasi risikan perniagaan.

Pembangunan awan gotcha 2: Beberapa aplikasi tidak sesuai untuk pembangunan di awan

Sebagai contoh, Dan Stueck, naib presiden IT untuk Kementerian Pendidikan Iman, mengelakkan daripada mengembangkan aplikasi kelas atas di awan yang mempunyai sekatan keselamatan data atau peraturan yang melampau, atau bergantung pada projek pengekodan lama, seperti yang ada di Cobol. "Kedua-duanya mungkin disimpan dengan baik di rumah," katanya, "yang pertama disebabkan oleh masalah keselamatan yang jelas, dan yang kedua kerana masalah bahasa 'mati'."

Di mana Stueck telah menggunakan awan adalah menjalankan pelayan pengembangan di perkhidmatan awan awam Amazon.com dan untuk membina sistem maklumat pelajar, arkib transkrip pelajar, dan aplikasi penjualan buku sekolah rumah di awan.

Pembangunan awan gotcha 3: Pembangun sering tidak menyukai wilayah awan yang tidak dikenali

"Perkara yang mungkin paling tidak dijangka adalah seberapa baik keseluruhan projek [pengembangan awan] diterima oleh pasukan pengurusan dan penjualan dan semua orang yang menggunakan sistem ini, [dan] betapa buruknya penerimaannya oleh organisasi IT dan pemaju khususnya, "kata Mark Warren, ketua arkitek pada 20/20.

Orang IT terbiasa bekerja dengan Microsoft .Net, SQL Server, Java, dan platform pengembangan tradisional lain, kata Warren, dan Force.com adalah model yang sama sekali berbeza. "Sekiranya anda mengetahui SQL dan Java, itu kotak alat anda, dan anda tidak akan mahu pergi ke platform yang benar-benar asing ini yang masuk," kata Warren.

Hasilnya, aplikasi penjualan dikembangkan terutamanya oleh kakitangan perniagaan, bukan oleh pemaju IT. Itu membawa tantangan tersendiri, kata Warren, yang terbesar adalah kurangnya pemahaman di kalangan peniaga mengenai pengurusan perubahan dan tadbir urus IT. "IT mempunyai tahap disiplin yang tidak biasa dilakukan oleh pebisnis terhadap mereka," kata Warren. "Kami harus membawa mereka untuk mempercepat masalah manajemen perubahan."

Mengenai keengganan orang teknologi untuk berkembang dalam lingkungan awan, ada program yang dapat dilaksanakan IT untuk membantu mengadopsi pengkomputeran awan secara dalaman, kata Warren. "Latihan tentunya kaedah yang baik untuk memudahkan," katanya. "Namun, kecuali budaya IT terbuka untuk kaedah dan teknologi baru, perubahan organisasi [mendapatkan pembangun baru] mungkin satu-satunya pilihan."

Pembangunan awan gotcha 4: Kekurangan dokumentasi menghalang pembangun awan

"Saya pasti menjangkakan bahawa akan berubah apabila permintaan meningkat dan semakin banyak syarikat mula menyesuaikan konsep awan," kata Hensley. "Kami dapat mengatasinya dengan bermitra dengan firma perunding."

Pengembangan awan gotcha 5: Masalah rangkaian dapat meredakan persekitaran awan peribadi

Embarcadero menggunakan pusat data maya untuk pembangunan dan pengujian aplikasi. "Untuk awan peribadi dalaman, kami mempunyai beberapa pilihan: memilih tarikh / waktu yang dijadualkan, dan mengadakan pelayan mana yang dilakukan dalam urutan tertentu," kata Intersimone. "Terdapat proses ujian asap binaan dan automatik yang berjalan sepanjang masa di awan peribadi utama kami dan juga di pejabat pembangunan wilayah."

Untuk mendapatkan persekitaran yang lebih tersedia, Intersimone mengatakan dia sedang mencari wadah awan dan tawaran rangkaian peribadi maya dari CohesiveFT yang dapat dipasang di awan awam dan swasta untuk menyediakan skala permintaan, failover, pemulihan bencana, dan kesiapsiagaan bencana.

Masalah lain yang boleh mempengaruhi pembangunan dan pengujian melibatkan kelewatan dan kependaman rangkaian dan ukuran paip rangkaian, terutama di bahagian-bahagian tertentu di dunia. Embarcadero mempunyai pusat-pusat penyelidikan dan pengembangan di Scotts Valley, Calif., Monterey, Calif., Toronto, St. Petersburg, Fla., Dan Iasi, Romania, serta sejumlah pasukan dan individu yang lebih kecil di seluruh dunia.

Persekitaran pembangunan Embarcadero yang beragam secara geografi "menjadikannya lebih sukar untuk menyegerakkan daftar masuk, membina, dan ujian automatik," kata Intersimone. Untuk menyelesaikan beberapa perkara ini, pembangun melakukan build lokal dan build regional, serta pada check-in kod, pada pelayan maya yang tersedia untuk semua. Pembangun juga membuat binaan tempatan pada mesin mereka sendiri. Embarcadero memastikan ini tidak selaras dengan versi induk di awan peribadi dengan menggunakan Subversion, alat sumber terbuka untuk kawalan kod sumber.

"Ketika build berlaku, ujian automatik dijalankan untuk mengesahkan build," kata Intersimone. "Kemudian pemberitahuan masuk ke semua pasukan pengembangan dan bangunannya secara automatik ditarik ke atas tembok Cina ke sebilangan besar mesin maya ujian automatik di pusat pembangunan kami." Ujian automatik dan manual dilakukan pada binaan yang dihasilkan untuk mengesahkan status, dan e-mel akan dihantar kepada ahli pasukan lain setelah proses ini selesai. "Semua ini berlaku secara berterusan sepanjang masa pembangunan projek," katanya.

Pengembangan awan gotcha 6: Meter membiarkan meter berjalan tanpa perlu di awan

Masalah lain yang berpotensi adalah membazirkan wang dengan bayaran awan. Pembangun mudah lupa atau lalai untuk mematikan mesin maya yang tidak mereka gunakan. "Saya pernah mendengar dari beberapa pelanggan yang membiarkan pembangun menjadi gila dengan sumber mesin maya yang kadang-kadang pembangun hanya membiarkan barang terus berjalan, katakan pada hujung minggu," kata Gartner's Knipp. "Ketika menggunakan pelayan dalaman, kapitalisasi, ini bukan masalah besar. Tetapi ketika menggunakan sumber yang disewa berdasarkan penggunaan, seperti pengkomputeran awan awam, ini adalah pembaziran wang."

Knipp mengatakan dia mengharapkan ini menjadi cabaran baru bagi perusahaan ketika mereka melancarkan inisiatif cloud swasta.

Walaupun terdapat sedikit risiko untuk mendapatkan bil yang besar dan tidak dijangka untuk penggunaan mesin maya pemaju di awan peribadi, "dalam persekitaran IaaS layan diri, pemaju dapat memunculkan VM dan tidak pernah mematikannya," kata Knipp. "Ini secara efektif akan memakan sumber daya dari mesin yang tidak digunakan secara efektif dan dapat mengakibatkan organisasi membeli kapasitas yang terlalu banyak ketika perencanaan semakin tidak lagi."

Cloud development gotcha 7: Lesen awan boleh mengandungi sekatan penggunaan yang mengejutkan

Antara masalah bukan teknikal dengan awan yang boleh memberi kesan kepada pembangunan adalah sekatan pelesenan. Dua tahun yang lalu Kelly Services, sebuah agensi tempo nasional, memutuskan untuk menggunakan pengembangan berbasis cloud untuk banyak aplikasi asal, dengan platform Force.com Salesforce.com bertindak sebagai wahana pengiriman.

Pembangunan awan telah membawa faedah seperti waktu penyelesaian yang lebih cepat pada pembangunan aplikasi dan kos yang lebih rendah, kata Joe Drouin, CIO di Kelly Services. Tetapi syarikat itu juga menghadapi beberapa masalah yang tidak dijangka dengan pelesenan, khususnya mengenai jenis tempat duduk pengguna dan batasan apa yang mereka bawa. Sebagai contoh, tempat duduk mungkin mempunyai sejumlah objek yang dapat diakses pengguna. Akibatnya, "pada beberapa ketika kami terkejut dengan apa yang dapat atau tidak dapat kami lakukan" dengan perkembangan, kata Drouin.

Pembangunan awan gotcha 8: Integrasi lebih sukar untuk diselesaikan