Apa itu awan asli? Kaedah moden untuk membangunkan perisian

Istilah "cloud-native" banyak berlaku, terutamanya oleh penyedia awan. Bukan hanya itu, malah mempunyai asasnya sendiri: Cloud Native Computing Foundation (CNCF), yang dilancarkan pada tahun 2015 oleh Linux Foundation.

'Cloud-native' ditakrifkan

Secara umum, "cloud-native" adalah pendekatan untuk membangun dan menjalankan aplikasi yang memanfaatkan kelebihan model pengiriman komputasi awan. "Cloud-native" adalah tentang bagaimana aplikasi dibuat dan digunakan, bukan di mana. Ini menyiratkan bahawa aplikasinya tinggal di awan umum, berbanding pusat data di tempat.

CNCF mendefinisikan "cloud-native" sedikit lebih sempit, bermaksud menggunakan timbunan perisian sumber terbuka untuk dikemas, di mana setiap bahagian aplikasi dikemas dalam wadahnya sendiri, disusun secara dinamik sehingga setiap bahagian dijadualkan secara aktif dan berjaya mengoptimumkan sumber pemanfaatan, dan berorientasikan perkhidmatan mikro untuk meningkatkan kelincahan dan kebolehterusan aplikasi secara keseluruhan.

"Aplikasi asli awan diarkibkan khusus untuk berjalan dalam sifat elastik dan diedarkan yang diperlukan oleh platform pengkomputeran awan moden," kata Mike Kavis, pengarah urusan dengan firma perunding Deloitte. "Aplikasi ini digabungkan secara longgar, yang bermaksud kodnya tidak disambungkan ke komponen infrastruktur mana pun, sehingga aplikasi dapat meningkatkan dan menurunkan permintaan dan menerapkan konsep infrastruktur yang tidak berubah. Biasanya, seni bina ini dibina menggunakan perkhidmatan mikro, tetapi itu bukan syarat wajib. "

Untuk aplikasi asli cloud, perbezaan yang besar adalah bagaimana aplikasi itu dibina, dihantar, dan dikendalikan, kata Andi Mann, ketua penyokong teknologi di Splunk, penyedia perkhidmatan awan. "Memanfaatkan perkhidmatan cloud bermaksud menggunakan komponen tangkas dan berskala seperti kontena untuk menyampaikan ciri diskrit dan dapat digunakan kembali yang disatukan dengan cara yang dijelaskan dengan baik, bahkan melintasi sempadan teknologi seperti multicloud, yang membolehkan pasukan penyampaian melakukan lelang dengan cepat menggunakan automasi dan orkestrasi berulang."

Pembangunan aplikasi asli Cloud biasanya merangkumi devops, metodologi tangkas, perkhidmatan mikro, platform cloud, kontena seperti Kubernetes dan Docker, dan penghantaran berterusan - ringkasnya, setiap kaedah penyebaran aplikasi baru dan moden.

Oleh kerana itu, anda benar-benar mahu mempunyai model platform-as-a-service (PaaS). PaaS tidak diperlukan, tetapi membuat perkara menjadi lebih mudah. Sebilangan besar pelanggan cloud bermula dengan infrastruktur-sebagai-perkhidmatan (IaaS), yang membantu mengabstrak aplikasi mereka dari perkakasan yang mendasari. Tetapi PaaS menambahkan lapisan tambahan untuk mengaburkan OS yang mendasarinya, sehingga anda dapat menumpukan perhatian sepenuhnya pada logik perniagaan aplikasi anda dan tidak bimbang untuk membuat panggilan OS.

Video berkaitan: Apakah pendekatan cloud-native?

Dalam video 60 saat ini, pelajari bagaimana pendekatan cloud-native mengubah cara perusahaan menyusun teknologi mereka, dari Craig McLuckie, pengasas dan CEO Heptio, dan salah seorang penemu sumber terbuka Kubernetes.

Perbezaan antara aplikasi asli dan awan di lokasi

Pembangunan aplikasi asli-awan memerlukan seni bina yang sangat berbeza daripada aplikasi perusahaan tradisional.

Bahasa

Aplikasi dalaman yang ditulis untuk dijalankan di pelayan syarikat cenderung ditulis dalam bahasa tradisional, seperti C / C ++, C # atau bahasa Visual Studio lain jika digunakan pada platform Windows Server, dan Java perusahaan. Dan jika ia berada di kerangka utama, kemungkinan di Cobol.

Apl asli awan cenderung ditulis dalam bahasa yang berpusat pada web, yang bermaksud HTML, CSS, Java, JavaScript, .Net, Go, Node.js, PHP, Python, dan Ruby.

Kemas kini kemas kini

Apl asli awan sentiasa terkini dan terkini. Apl asli awan sentiasa tersedia.

Aplikasi dalaman memerlukan kemas kini dan biasanya dihantar berdasarkan langganan oleh vendor, dan memerlukan waktu henti semasa kemas kini dipasang.

Keanjalan

Aplikasi asli awan memanfaatkan keanjalan awan dengan menggunakan peningkatan sumber semasa lonjakan penggunaan. Sekiranya aplikasi e-dagang berasaskan awan anda mengalami lonjakan penggunaan, anda dapat menetapkannya untuk menggunakan sumber komputasi tambahan sehingga lonjakan itu hilang dan kemudian matikan sumber tersebut. Aplikasi asli awan dapat menyesuaikan diri dengan peningkatan sumber daya dan skala yang diperlukan.

Aplikasi di premis tidak dapat membuat skala secara dinamik

Multitenancy

Aplikasi asli awan tidak mempunyai masalah untuk bekerja di ruang maya dan berkongsi sumber dengan aplikasi lain.

Banyak aplikasi di dalam premis sama ada tidak berfungsi dengan baik di persekitaran maya atau tidak berfungsi sama sekali dan memerlukan ruang yang tidak dilancarkan.

Sumber yang bersambung

Aplikasi di tempat cukup ketat dalam penyambungannya ke sumber rangkaian, seperti rangkaian, keselamatan, izin, dan penyimpanan. Sebilangan besar sumber ini perlu dikodkan dengan ketat, dan ia akan rosak sekiranya ada yang dipindahkan atau diubah.

"Rangkaian dan storan sama sekali berbeza di awan. Apabila anda mendengar istilah 're-platforming', yang biasanya berfungsi untuk mengakomodasi perubahan dalam rangkaian, penyimpanan, dan bahkan teknologi pangkalan data untuk membolehkan aplikasi berjalan di awan, "kata Kavis Deloitte.

Masa turun

Terdapat redundansi yang lebih besar di awan daripada di tempat, jadi jika penyedia awan mengalami gangguan, wilayah lain dapat mengatasi kekurangannya.

Aplikasi dalam premis mungkin sudah siap failover, tetapi ada kemungkinan besar jika pelayan dimatikan, aplikasinya akan turun.

Automasi

Sebilangan besar awan adalah automatik, dan itu termasuk pengurusan aplikasi. "Manfaat penyampaian asli awan, terutama kecepatan dan kelincahan, secara signifikan bergantung pada substrat proses yang diketahui, terbukti, dan diaudit yang diketahui baik yang dilaksanakan berulang kali seperti yang diperlukan oleh alat automasi dan orkestrasi dan bukannya melalui intervensi manual," kata Splunk's Mann. Jurutera harus berusaha untuk mengautomasikan apa sahaja yang mereka lakukan lebih dari sekali untuk membolehkan pengulangan, layan diri, ketangkasan, skalabilitas, dan audit dan kawalan.

Aplikasi dalaman mesti diuruskan secara manual.

Reka bentuk modular

Aplikasi di premis cenderung monolitik dalam reka bentuk. Mereka memuat beberapa kerja ke perpustakaan, pasti, tetapi pada akhirnya ia adalah satu aplikasi besar dengan banyak subrutin Apl asli awan jauh lebih modular, dengan banyak fungsi dipecah menjadi perkhidmatan mikro. Ini memungkinkan mereka dimatikan ketika tidak diperlukan dan untuk kemas kini dilancarkan ke modul yang satu itu, dan bukan keseluruhan aplikasi.

Tanpa Kewarganegaraan

Sifat awan yang digabungkan secara longgar bermaksud aplikasi tidak terikat dengan infrastruktur, yang bermaksud aplikasi tersebut tidak mempunyai status. Aplikasi asli awan menyimpan keadaannya dalam pangkalan data atau entiti luaran lain sehingga kejadian boleh datang dan pergi dan aplikasi masih dapat mengesan di mana dalam unit kerja aplikasi tersebut. "Ini adalah inti pati yang longgar. Tidak terikat dengan infrastruktur yang memungkinkan dan aplikasi berjalan dengan cara yang sangat diedarkan dan masih mengekalkan keadaannya bebas dari sifat elastik infrastruktur yang mendasari, ”kata Kavis.

Sebilangan besar aplikasi di premis adalah keadaan, yang bermaksud mereka menyimpan keadaan aplikasi pada infrastruktur yang digunakan kod. Aplikasi ini boleh rosak semasa menambahkan sumber pelayan kerana ini.

Cabaran pengkomputeran asli awan

Salah satu kesilapan besar yang dilakukan pelanggan ialah mencuba mengangkat dan mengalihkan aplikasi lama mereka ke awan, kata Mann. "Mencuba mengambil aplikasi yang ada — terutama aplikasi warisan monolitik - dan memindahkannya ke infrastruktur awan tidak akan memanfaatkan ciri-ciri asli awan yang penting."

Sebaliknya, anda harus berusaha melakukan perkara baru dengan cara baru, baik dengan memasukkan aplikasi asli cloud baru ke dalam infrastruktur awan baru atau dengan memecah monolit yang ada untuk menjadikannya semula menggunakan prinsip asli cloud dari bawah.

Anda juga perlu mengabaikan kaedah pembangun lama anda. Model air terjun pastinya tidak akan berjaya, dan bahkan pembangunan lincah mungkin tidak mencukupi. Oleh itu, anda mesti menggunakan pendekatan baru yang asli seperti pengembangan produk minimum yang layak (MVP), ujian multivariat, lelaran yang cepat, dan bekerja rapat merentasi sempadan organisasi dalam model devops.

Terdapat banyak aspek untuk menjadi cloud-native, termasuk perkhidmatan infrastruktur, automasi / orkestrasi, virtualisasi dan containerization, arsitektur perkhidmatan mikro, dan keterlihatan. Semua ini bermaksud cara baru untuk melakukan sesuatu, yang bermaksud melanggar kebiasaan lama ketika anda mempelajari cara baru. Oleh itu, lakukan pada kadar yang diukur.

Ketahui lebih lanjut mengenai teknologi asli yang berkaitan dengan awan

  • Platform-as-a-service (PaaS) dijelaskan
  • Multicloud menerangkan
  • Metodologi tangkas dijelaskan
  • Amalan terbaik pembangunan tangkas
  • Devops menerangkan
  • Menggunakan amalan terbaik
  • Perkhidmatan mikro menjelaskan
  • Tutorial perkhidmatan mikro
  • Penjelasan Docker dan Linux dijelaskan
  • Tutorial Kubernetes
  • CI / CD (integrasi berterusan dan penghantaran berterusan) dijelaskan
  • Amalan terbaik CI / CD