10 ramalan pengembangan perisian untuk tahun 2018

Siddhartha Agarwal adalah naib presiden, pengurusan produk dan strategi, untuk Oracle Cloud Platform. 

Pembangun harus bersemangat dengan keseronokan mengenai peluang yang akan datang pada tahun 2018, dengan produk dan alat di sekitar teknologi seperti blockchain, chatbots, fungsi tanpa pelayan, dan pembelajaran mesin menjadi cukup matang untuk projek dunia nyata. Pada masa yang sama, banyak pembangun akan bimbang untuk menahan tekanan untuk menyampaikan kod dan fungsi dengan lebih cepat tanpa menjejaskan keselamatan atau prestasi. Tetapi ada berita baik di bahagian depan juga.

Bagi pemaju, 2018 akan ditentukan oleh ketegangan antara merebut peluang baru transformatif sambil mengatasi tekanan untuk melakukan lebih banyak, dengan kualiti yang lebih tinggi. Berikut adalah 10 ramalan yang berkaitan dengan bagaimana kekuatan tersebut akan berlanjutan pada tahun akan datang.

1. Urus niaga B2B memanfaatkan blockchain masuk ke dalam pengeluaran

Perniagaan telah mulai memahami keselamatan, kebolehpercayaan, dan kecekapan yang akan diperoleh dari transaksi yang diaktifkan dengan blockchain. Pembangun akan melaksanakan banyak kes penggunaan blockchain di seluruh perkhidmatan kewangan dan rantaian bekalan pembuatan pada tahun akan datang. Blockchain adalah teknologi yang membolehkan transaksi yang cekap, selamat, tidak berubah, dan dipercayai antara organisasi yang mungkin tidak saling mempercayai satu sama lain, menghilangkan perantara.

Pertimbangkan syarikat yang memesan produk dari pengeluar luar pesisir. Produk-produk ini dihantar melalui syarikat perkapalan, melalui kastam, melalui syarikat perkapalan lain, dan akhirnya kepada pembeli. Hari ini, pengesahan dan penyesuaian setiap langkah kebanyakannya berlaku melalui e-mel dan hamparan, dengan banyak orang dan proses yang terlibat. Blockchain menghilangkan proses manual dan perdamaian dengan merakam kemas kini secara tidak berbalik ke lekapan blockchain apabila sebilangan minimum pihak mengatakan, "Ya, bahagian transaksi ini berlaku."

Perkhidmatan cloud blockchain akan membawa skalabilitas, ketahanan, keamanan, dan integrasi pra-binaan dengan sistem perusahaan, menjadikan pemaju lebih mudah untuk memusatkan perhatian pada kes penggunaan perniagaan berbanding dengan pelaksanaan fabrikasi hyperledger.

2. Chatbots secara rutin melakukan perbualan nyata dengan pelanggan dan pekerja

Orang bosan memerlukan banyak aplikasi mudah alih untuk melakukan pekerjaan yang sama - seperti tiga aplikasi syarikat penerbangan yang berbeza dengan cara yang berbeza untuk mendaftar masuk dan mendapatkan pas masuk. Cara yang lebih baik adalah dengan menyediakan fungsi yang sama tetapi melalui aplikasi paling popular di telefon anda — pesanan. Pemesejan mempunyai tiga elemen menarik yang konsisten di seluruh media: segera, ekspresif, dan percakapan - tidak diperlukan latihan. Berkat kemajuan dalam kecerdasan buatan dan pemprosesan bahasa semula jadi, orang akan menggunakan Facebook Messenger, Slack, WeChat, WhatsApp, atau pembantu suara seperti Amazon Alexa atau Google Home, untuk bertanya dan mendapatkan jawapan dari bot pintar.

Pembangun, menggunakan perkhidmatan cloud building bot pintar yang baru, dapat membuat bot dengan cepat yang memahami maksud pelanggan, mengekalkan keadaan perbualan, dan bertindak balas dengan bijak sambil menjadikan integrasi dengan sistem back-end menjadi mudah. Bayangkan mengambil gambar gaun yang anda lihat dalam filem dan menghantar gambar ke bot kedai pakaian kegemaran anda, yang menggunakan pengecaman gambar dan AI untuk mengesyorkan pakaian yang serupa. Pekerja juga boleh menjadi penerima bot yang besar untuk tugas seperti bertanya berapa hari cuti yang mereka tinggalkan, memfailkan tiket meja bantuan, atau memesan komputer riba ganti, di mana sistem bahkan mengetahui komputer riba mana yang layak untuk pekerja dan dapat memberikan kemas kini status atas perintah mereka. Memandangkan adalah lebih memaafkan untuk bereksperimen dengan pangkalan pekerja anda sendiri,pemaju mungkin terlebih dahulu memanfaatkan kepingan bot mereka untuk membina dan menguji bot yang berhadapan dengan pekerja.

3. Butang hilang: AI menjadi antara muka aplikasi

AI menjadi UI, yang bermaksud bahawa model permintaan dan tindak balas segerak yang menggunakan aplikasi dan perkhidmatan secara beransur-ansur hilang. Telefon pintar masih "rendah IQ", kerana anda harus memilihnya, melancarkan aplikasi, meminta sesuatu untuk dilakukan, dan akhirnya mendapat respons. Dalam generasi baru aplikasi pintar, aplikasi akan memulakan interaksi melalui pemberitahuan push. Mari kita melangkah lebih jauh di mana aplikasi, bot, atau pembantu peribadi maya yang menggunakan kecerdasan buatan akan mengetahui apa yang harus dilakukan kapan, mengapa, di mana, dan bagaimana. Dan lakukan sahaja. Dua contoh:

  • Aplikasi kelulusan perbelanjaan memerhatikan corak anda untuk menyetujui laporan perbelanjaan, mula meluluskan 99 peratus laporan perbelanjaan secara automatik dan hanya akan memberi perhatian kepada anda laporan langka yang memerlukan perhatian anda.
  • Aplikasi analitis memahami data yang mendasari, pertanyaan yang diajukan oleh pengguna perniagaan sejauh ini, soalan yang diajukan untuk set data yang sama oleh pengguna lain di syarikat itu, dan setiap hari memberikan pandangan baru yang mungkin tidak difikirkan oleh penganalisis. Oleh kerana organisasi mengumpulkan lebih banyak data, AI dapat membantu kita mempelajari soalan apa yang harus ditanyakan mengenai data tersebut.

Pembangun perlu mengetahui data apa yang benar-benar penting untuk aplikasi perniagaan mereka, bagaimana menonton dan belajar dari transaksi, keputusan perniagaan apa yang paling mendapat manfaat daripada AI proaktif seperti ini, dan mula bereksperimen. AI yang disematkan dapat meramalkan apa yang anda perlukan, menyampaikan maklumat dan fungsi melalui medium yang tepat pada waktu yang tepat, termasuk sebelum anda memerlukannya, dan mengautomasikan banyak tugas yang anda lakukan secara manual hari ini.

4. Pembelajaran mesin memerlukan praktikal, penggunaan khusus domain

Pembelajaran mesin bergerak dari bidang sains data yang tidak jelas ke dalam pengembangan aplikasi arus perdana, baik kerana adanya modul siap sedia dalam platform popular, dan kerana ia sangat berguna ketika berhadapan dengan analisis merentasi kumpulan data bersejarah yang besar. Dengan pembelajaran mesin, pandangan yang paling berharga disertakan dengan konteks - apa yang telah anda buat sebelumnya, soalan apa yang anda ajukan, apa yang orang lain lakukan, apa yang normal berbanding aktiviti yang tidak normal.

Tetapi untuk menjadi efektif, pembelajaran mesin harus disesuaikan dan dilatih dalam lingkungan khusus domain yang merangkumi kedua set data yang akan dianalisis dan pertanyaan yang akan dijawabnya. Sebagai contoh, aplikasi pembelajaran mesin yang direka untuk mengenal pasti tingkah laku pengguna yang tidak normal bagi penganalisis keselamatan akan sangat berbeza dengan aplikasi pembelajaran mesin yang direka untuk mengoptimumkan operasi robot kilang, yang mungkin sangat berbeza dari yang dirancang untuk melakukan pemetaan ketergantungan aplikasi berdasarkan perkhidmatan mikro.

Pembangun perlu lebih arif mengenai kes penggunaan khusus domain untuk memahami data apa yang hendak dikumpulkan, jenis algoritma pembelajaran mesin yang hendak diterapkan, dan soalan apa yang harus diajukan. Pembangun juga perlu menilai sama ada SaaS khusus domain atau aplikasi yang dibungkus sesuai untuk projek tertentu, memandangkan fakta bahawa data latihan dalam jumlah besar diperlukan.   

Dengan menggunakan pembelajaran mesin, pembangun dapat membina aplikasi pintar untuk menghasilkan cadangan, meramalkan hasil, atau membuat keputusan automatik. 

5. DevOps bergerak ke arah NoOps

Kami semua bersetuju bahawa pemaju sangat penting untuk membantu pembangun membina aplikasi dan ciri baru dengan cepat, sambil mengekalkan tahap kualiti dan prestasi yang tinggi. Masalah dengan devops ialah pemaju perlu menghabiskan 60 peratus waktunya di ops persamaan, sehingga mengurangkan masa yang diperuntukkan untuk pembangunan. Pembangun harus mengintegrasikan pelbagai alat integrasi berterusan dan penyampaian berterusan (CICD), mengekalkan integrasi tersebut, dan sentiasa mengemas kini rantai alat CI / CD semasa teknologi baru dilancarkan. Semua orang melakukan CI, tetapi tidak terlalu banyak orang yang melakukan CD. Pembangun akan menuntut perkhidmatan cloud untuk membantu pendulum kembali ke sisi dev pada tahun 2018. Itu memerlukan lebih banyak automasi untuk CICD sebenar.

Docker memberi anda kemasan, mudah dibawa, dan kemampuan untuk melakukan penyebaran lincah. Anda memerlukan CD untuk menjadi sebahagian daripada kitaran hidup Docker ini. Contohnya, jika anda menggunakan kontena, sebaik sahaja anda melakukan perubahan kod ke Git, artifak lalai yang dibina mestilah gambar Docker dengan versi baru kod tersebut. Selanjutnya, gambar secara automatik akan dimasukkan ke dalam registri Docker, dan wadah dikerahkan dari gambar ke lingkungan uji-dev. Selepas pengujian dan penyebaran QA ke dalam pengeluaran, orkestrasi, keselamatan, dan penskalaan kontena harus dijaga untuk anda. Pemimpin perniagaan memberi tekanan kepada pemaju untuk menyampaikan inovasi baru dengan lebih cepat; model devops mesti membebaskan lebih banyak masa untuk pembangun untuk mewujudkannya.

6. Sumber terbuka sebagai perkhidmatan mempercepat penggunaan inovasi sumber terbuka 

Model sumber terbuka tetap menjadi salah satu enjin inovasi terbaik, tetapi melaksanakan dan mengekalkan inovasi itu seringkali terlalu kompleks. Sebagai contoh:

  • Anda mahukan platform streaming data / pengurusan acara, jadi anda beralih ke Kafka. Semasa anda mula memanfaatkan Kafka secara besar-besaran, anda mesti menyediakan node Kafka tambahan dan memuatkan kluster Kafka yang besar, mengemas kini kluster ini apabila keluaran baru Kafka keluar, dan kemudian mengintegrasikan perkhidmatan ini dengan persekitaran anda yang lain.
  • Anda mahukan Kubernetes untuk penyusun bekas. Daripada menjaga peningkatan, sandaran, pemulihan, dan patch untuk kluster Kubernetes anda, platform harus melakukan semua itu untuk anda. Kubernetes dihantar setiap enam minggu, jadi platform harus mempunyai penyebaran dan penyembuhan diri.
  • Anda mahukan pangkalan data Cassandra untuk NoSQL. Anda semestinya menginginkan cadangan (tambahan atau penuh pada jadwal), patching, clustering, scaling, dan ketersediaan tinggi cluster Cassandra dikendalikan oleh platform.

Pembangun akan semakin mencari perkhidmatan cloud untuk menyampaikan semua inovasi berkelajuan tinggi dari sumber terbuka sambil mengurus aspek operasi dan pengurusan teknologi ini.

7. Senibina tanpa pelayan besar dalam pengeluaran

Daya tarikan seni bina tanpa pelayan jelas: Apabila ada permintaan agar kod saya dapat dijalankan berdasarkan peristiwa tertentu, infrastruktur dibuat, kod saya digunakan dan dilaksanakan, dan saya dikenakan caj hanya untuk masa kod saya berjalan. Katakan anda ingin membina fungsi tempahan perjalanan untuk menempah / membatalkan penerbangan, hotel, dan kereta sewa. Setiap tindakan ini dapat dibuat sebagai fungsi tanpa server yang ditulis dalam bahasa yang berbeza seperti Java, Ruby, JavaScript, dan Python. Tidak ada pelayan aplikasi yang berjalan dengan kod saya di dalamnya; sebaliknya fungsi tersebut dibuat dan dilaksanakan pada infrastruktur hanya apabila diperlukan.

Bagi pemaju, merangkai fungsi tanpa pelayan bersama-sama untuk melaksanakan transaksi yang rumit menimbulkan cabaran baru: menerangkan bagaimana fungsi-fungsi ini harus dirantai bersama, menyahpepijat transaksi yang diedarkan, dan menentukan bagaimana, apabila kegagalan satu fungsi dalam rantai, membuat transaksi pampasan untuk membatalkan perubahan yang tidak sesuai. Cari perkhidmatan cloud dan alat sumber terbuka, seperti projek FN, untuk berkembang dengan membantu pembangun untuk menguruskan pengaturcaraan, komposisi, penyahpepijatan, dan pengurusan kitaran hayat fungsi tanpa pelayan dengan mudah, dan untuk menggunakan dan mengujinya di komputer riba atau pelayan pra-premis atau sebarang awan. Kuncinya adalah memilih platform tanpa pelayan yang memberikan kemudahan maksimum.

8. Satu-satunya soalan mengenai bekas menjadi "Mengapa tidak?"

Kontena akan menjadi lalai untuk kerja dev / test dan biasa untuk aplikasi pengeluaran. Jangkakan peningkatan berterusan dalam keselamatan, pengelolaan, orkestrasi, pemantauan, dan penyahpepijatan, didorong oleh inovasi sumber terbuka dan standard industri. Kontainer menyediakan blok bangunan untuk banyak tren yang mendorong perkembangan moden termasuk seni bina perkhidmatan mikro, aplikasi asli awan, fungsi tanpa pelayan, dan devops.

Container tidak akan masuk akal di mana-mana — contohnya, apabila anda memerlukan platform cloud yang lebih preskriptif, seperti PaaS integrasi atau PaaS mudah alih — tetapi perkhidmatan cloud tahap yang lebih tinggi ini sendiri akan berjalan di kontena, dan akan menjadi pengecualian yang membuktikan peraturan.

Di samping itu, model pelesenan perisian untuk perisian bernilai tinggi, komersial, di tempat harus merangkumi penyebaran penggunaan wadah. Model penetapan harga untuk perisian harus mendukung pemberian lisensi "hidupkan" dan "matikan" kerana kontainer dibuat, ditingkatkan, dan diperkecil.

9. Perisian dan sistem menjadi penyembuh diri, penyesuaian diri, dan pengurusan diri

Pembangun dan pasukan operasi pengeluaran tenggelam dalam data dari log, pemantauan prestasi web / aplikasi / pangkalan data dan pemantauan pengalaman pengguna, dan konfigurasi. Di samping itu, pelbagai jenis data ini disenyapkan, jadi anda mesti membawa banyak orang ke ruangan untuk menyelesaikan masalah. Kemudian ada masalah pemindahan pengetahuan: Pembangun menghabiskan banyak masa untuk memberitahu pilihan pengeluaran selok-belok aplikasi mereka, ambang apa yang harus ditetapkan, topologi pelayan apa yang harus dipantau untuk transaksi, dan sebagainya.