Beranda

Topics

Tanpa server

Apa itu komputasi tanpa server?
Jelajahi solusi tanpa server IBM Daftar untuk pembaruan cloud
Ilustrasi dengan kolase piktogram monitor komputer, server, awan, titik-titik

Diterbitkan: 10 Juni 2024
Kontributor: Stephanie Susnjara, Ian Smalley

Apa itu komputasi tanpa server?

Komputasi tanpa server adalah model pengembangan dan eksekusi aplikasi yang memungkinkan pengembang untuk membangun dan menjalankan kode aplikasi tanpa menyediakan atau mengelola server atau infrastruktur back-end.

Tanpa server tidak berarti "tidak ada server." Terlepas dari namanya, server dalam komputasi tanpa server dikelola oleh penyedia layanan cloud (CSP). 'Tanpa server' menggambarkan pengalaman pengembang dengan server tersebut—server tidak terlihat oleh pengembang, yang tidak melihat, mengelola, atau berinteraksi dengan server tersebut melalui cara apa pun.

Pengembang dapat fokus pada penulisan kode aplikasi front-end dan logika bisnis terbaik dengan komputasi tanpa server. Yang perlu mereka lakukan hanyalah menulis kode aplikasi dan menerapkannya ke kontainer yang dikelola oleh CSP.

Penyedia cloud menangani sisanya, penyediaan infrastruktur cloud yang diperlukan untuk menjalankan kode dan menskalakan infrastruktur naik dan turun sesuai permintaan sesuai kebutuhan, dan juga bertanggung jawab atas semua manajemen dan pemeliharaan infrastruktur rutin, seperti pembaruan dan tambalan sistem operasi, manajemen keamanan, perencanaan kapasitas, pemantauan sistem, dan banyak lagi.

Selain itu, pengembang tidak pernah membayar kapasitas yang menganggur dengan serverless. Penyedia cloud beroperasi dan menyediakan sumber daya komputasi yang diperlukan sesuai permintaan saat kode dijalankan, dan memutarnya kembali—disebut 'penskalaan ke nol'—saat eksekusi berhenti. Penagihan dimulai saat eksekusi dimulai, dan berakhir saat eksekusi berhenti; biasanya, harga didasarkan pada waktu pelaksanaan dan Sumber daya yang dibutuhkan.

Seiring dengan infrastruktur sebagai layanan (IaaS), platform sebagai layanan (PaaS), fungsi sebagai layanan (FaaS), dan perangkat lunak sebagai layanan (SaaS), tanpa server telah menjadi penawaran layanan cloud terkemuka. Menurut laporan dari SkyQuest Technology, ukuran pasar arsitektur tanpa server global bernilai USD 8,01 miliar pada tahun 2022 dan diperkirakan akan tumbuh dari USD 9,84 miliar pada tahun 2023 menjadi USD 50,86 miliar pada tahun 20311. Saat ini setiap penyedia layanan cloud terkemuka menawarkan platform tanpa server termasuk Amazon Web Services (AWS Lambda), Microsoft Azure (Azure Functions), Google Cloud (Google Cloud Functions) dan IBM Cloud (IBM Cloud Code Engine).

Bersama-sama, komputasi tanpa server, layanan mikro, dan kontainer membentuk tiga serangkai teknologi yang merupakan inti dari pengembangan aplikasi cloud native.

Lihat video ini untuk penjelasan terperinci tentang tanpa server dan tumpukan tanpa server (6:37).

Sadarilah nilai penuh dari cloud hybrid Anda

Hubungkan dan integrasikan sistem Anda untuk mempersiapkan infrastruktur Anda untuk AI.

Konten terkait Daftar untuk mendapatkan panduan modernisasi aplikasi
Asal-usul serverless

Tanpa server dimulai pada tahun 2008 ketika Google merilis Google App Engine (GAE), sebuah platform untuk mengembangkan dan menghosting aplikasi web di pusat data yang dikelola Google. Dengan GAE, pengembang perangkat lunak dapat membuat dan meluncurkan perangkat lunak di Google Cloud tanpa khawatir tentang tugas manajemen server seperti patching atau penyeimbangan beban, , yang ditangani Google.

Istilah 'tanpa server' pertama kali muncul dalam sebuah artikel teknologi oleh spesialis komputasi cloud Ken Fromm pada tahun 20122. Pada tahun 2014, Amazon memperkenalkan AWS Lambda, platform tanpa server pertama. Dinamakan berdasarkan fungsi dari kalkulus lambda dan pemrograman, AWS Lambda, sebuah model FaaS, membantu kerangka kerja komputasi tanpa server mendapatkan daya tarik pasar massal dan adopsi yang cepat di kalangan pengembang perangkat lunak dengan memungkinkan mereka untuk menjalankan kode sebagai respons terhadap peristiwa tanpa perlu manajemen server. Pada tahun 2016, Microsoft Azure Functions dan Google Cloud Functions meluncurkan platform tanpa server mereka.

Pemain utama lainnya di pasar platform serverless saat ini termasuk IBM Cloud Code Engine, Oracle Cloud Infrastructure (OCI) Functions, Cloudflare Workers, dan Alibaba Function Compute.

Ekosistem serverless
Tanpa server dan FaaS

Serverless lebih dari sekadar fungsi sebagai layanan (FaaS), yaitu layanan komputasi awan yang memungkinkan pengembang untuk menjalankan kode atau kontainer sebagai respons terhadap peristiwa atau permintaan tertentu tanpa menentukan atau mengelola infrastruktur yang diperlukan untuk menjalankan kode.

FaaS adalah model komputasi yang penting bagi serverless, dan kedua istilah ini sering digunakan secara bergantian. DIbandingkan dengan FaaS, tanpa server merupakan keseluruhan tumpukan yang dapat merespons peristiwa atau permintaan tertentu, dan berskala ke nol ketika tidak lagi digunakan, yang penyediaan, pengelolaan, dan penagihan ditangani oleh penyedia cloud dan tidak terlihat oleh pengembang.

Selain FaaS, layanan ini mencakup database dan penyimpanan, antarmuka pemrograman aplikasi (API) gateway dan arsitektur berbasis peristiwa.

Database dan penyimpanan serverless

Database (SQL dan NoSQL) dan penyimpanan (terutama object storage) adalah dasar dari lapisan data. Pendekatan serverless terhadap teknologi ini melibatkan transisi dari penyediaan 'instans' dengan kapasitas, koneksi, dan batas kueri yang ditentukan, dan beralih ke model yang berskala linier dengan permintaan baik dalam infrastruktur maupun harga.

API gateway

API gateway bertindak sebagai proksi untuk tindakan aplikasi web dan menyediakan perutean metode HTTP, ID dan rahasia klien, batas kecepatan, CORS, melihat penggunaan API, melihat log respons, dan kebijakan berbagi API.

Arsitektur tanpa server dan berbasis peristiwa

Arsitektur tanpa server bekerja dengan baik untuk beban kerja yang digerakkan oleh peristiwa dan pemrosesan aliran, terutama platform streaming acara Apache Kafka sumber terbuka.

Fungsi tanpa server otomatis bersifat tanpa status dan dirancang untuk menangani peristiwa individual. Fungsi-fungsi ini telah menjadi bagian penting dari arsitektur berbasis peristiwa (EDA)—model desain perangkat lunak yang dibangun di sekitar publikasi, penangkapan, pemrosesan, dan penyimpanan peristiwa. Dalam kerangka kerja EDA, produsen peristiwa (misalnya, layanan mikro, API, perangkat IoT) mengirim event notifications real-time kepada konsumen peristiwa, yang mengaktifkan rutinitas pemrosesan tertentu. Misalnya, ketika Netflix merilis serial orisinal baru, beberapa layanan EDA menunggu dalam keadaan siaga untuk pemberitahuan rilis, yang memicu serangkaian pembaruan untuk memberi tahu pengguna. Banyak perusahaan lain yang berbasis web dan aplikasi seluler yang berhadapan dengan pengguna (misalnya, Uber, DoorDash, Instacart) mengandalkan arsitektur berbasis peristiwa.

Tanpa server versus PaaS, kontainer, dan VM

Karena tanpa server, platform sebagai layanan (PaaS), kontainer, dan virtual machines (VM) semuanya memainkan peran penting dalam pengembangan aplikasi cloud dan ekosistem komputasi, ada baiknya mengukur bagaimana tanpa server dibandingkan dengan yang lain dalam beberapa atribut utama.

  • Waktu penyediaan: Diukur dalam milidetik untuk model tanpa server, vs menit hingga jam untuk model lainnya.
  • Beban administratif: Tidak ada untuk tanpa server, dibandingkan dengan kontinum dari ringan hingga sedang hingga berat untuk PaaS, kontainer, dan VM.
  • Pemeliharaan: Arsitektur tanpa server dikelola 100% oleh CSP. Hal yang sama juga berlaku untuk PaaS, tetapi kontainer dan VM memerlukan pemeliharaan yang signifikan, termasuk memperbarui dan mengelola sistem operasi, citra kontainer, koneksi, dan sebagainya.
  • Penskalaan: Penskalaan Otomatis—termasuk penskalaan otomatis hingga nol—bersifat instan dan melekat pada tanpa server. Model lainnya menawarkan penskalaan otomatis namun lambat yang memerlukan penyetelan aturan penskalaan otomatis secara cermat, dan tidak ada penskalaan ke nol.
  • Perencanaan kapasitas: Tidak diperlukan untuk serverless. Model lain membutuhkan campuran skalabilitas otomatis dan perencanaan kapasitas.
  • Kondisi tanpa status: Biasa terjadi pada tanpa server, yang berarti skalabilitas tidak pernah menjadi masalah; status dipertahankan dalam layanan eksternal atau sumber daya. PaaS, kontainer, dan VM dapat menggunakan HTTP, menjaga soket atau koneksi terbuka untuk waktu yang lama, dan menyimpan status dalam memori di antara panggilan.
  • Ketersediaan tinggi (HA) dan pemulihan bencana (DR): Arsitektur tanpa server menawarkan ketersediaan tinggi dan pemulihan bencana tanpa upaya ekstra atau biaya tambahan. Model lain membutuhkan biaya ekstra dan upaya manajemen. Infrastruktur dapat dimulai ulang secara otomatis dengan VM dan kontainer.
  • Pemanfaatan sumber daya: Serverless 100% efisien karena tidak ada kapasitas yang menganggur - hanya dipanggil berdasarkan permintaan. Semua model lainnya memiliki setidaknya beberapa tingkat kapasitas yang menganggur.
  • Penagihan dan penghematan: Tanpa server diukur dalam satuan 100 milidetik. PaaS, kontainer, dan VM biasanya diukur berdasarkan jam atau menit.
Tanpa server, Kubernetes, dan Knative

Kubernetes adalah platform orkestrasi kontainer sumber terbuka yang mengotomatiskan penerapan, pengelolaan, dan penskalaan kontainer. Otomatisasi ini secara drastis menyederhanakan pengembangan aplikasi yang dikontainerisasi .

Aplikasi serverless sering kali diterapkan di kontainer. Namun, Kubernetes hanya dapat menjalankan aplikasi serverless secara mandiri dengan perangkat lunak khusus yang mengintegrasikan Kubernetes dengan platform serverless dari penyedia cloud tertentu.

Knative adalah ekstensi sumber terbuka untuk Kubernetes yang menyediakan kerangka kerja serverless. Ekstensi ini memungkinkan kontainer apa pun untuk berjalan sebagai beban kerja serverless di platform cloud apa pun yang menjalankan Kubernetes, baik kontainer dibangun dengan fungsi serverless atau kode aplikasi lain (misalnya, layanan mikro). Knative bekerja dengan mengabstraksi kode dan menangani perutean jaringan, pemicu peristiwa, dan penskalaan otomatis untuk eksekusi serverless.

Knative transparan bagi pengembang. Mereka membangun kontainer menggunakan Kubernetes, dan Knative melakukan sisanya, menjalankan kontainer sebagai beban kerja tanpa server.

Pro dan kontra tanpa server
Pro

Komputasi tanpa server menawarkan banyak manfaat teknis dan bisnis bagi pengembang individu dan tim pengembangan perusahaan:

  • Peningkatan produktivitas pengembang: Seperti yang telah disebutkan, tanpa server memungkinkan tim pengembangan untuk fokus pada penulisan kode, bukan mengelola infrastruktur. Ini memberi pengembang lebih banyak waktu untuk berinovasi dan mengoptimalkan fungsi aplikasi front-end dan logika bisnis mereka.
  • Bayar untuk eksekusi saja: Meteran dimulai saat permintaan dibuat, dan berakhir saat eksekusi selesai. Bandingkan dengan model komputasi IaaS, di mana pelanggan membayar server fisik, VM, dan sumber daya lain yang diperlukan untuk menjalankan aplikasi, mulai dari saat mereka menyediakan sumber daya tersebut hingga mereka secara eksplisit menghentikannya.
  • Kembangkan dalam bahasa apa pun: Tanpa server adalah lingkungan polyglot yang memungkinkan pengembang membuat kode dalam bahasa atau kerangka kerja apa pun—Java, Python, JavaScript, node.js—yang mereka gunakan dengan nyaman.
  • Siklus pengembangan atau DevOps yang disederhanakan: Tanpa server menyederhanakan penerapan dan, dalam arti yang lebih luas, menyederhanakan DevOps karena pengembang tidak menghabiskan waktu menentukan infrastruktur yang diperlukan untuk mengintegrasikan, menguji, mengirimkan, dan menerapkan kode yang dibangun ke dalam produksi.
  • Kinerja yang hemat biaya: Untuk beban kerja tertentu (misalnya, pemrosesan paralel yang memalukan, pemrosesan aliran, tugas pemrosesan data tertentu), komputasi tanpa server dapat lebih cepat dan lebih hemat biaya daripada bentuk komputasi lainnya.
  • Mengurangi latensi: Dalam lingkungan tanpa server, kode dapat berjalan lebih dekat ke pengguna akhir, sehingga mengurangi latensi.
  • Visibilitas penggunaan: Platform tanpa server memberikan visibilitas hampir total ke dalam sistem dan waktu pengguna serta dapat mengumpulkan informasi penggunaan secara sistematis.
Kekurangan

Meskipun tanpa server memiliki banyak keuntungan, penting untuk mempertimbangkan beberapa kelemahan:

  • Lebih sedikit kontrol: Dalam pengaturan tanpa server, organisasi menyerahkan kontrol server ke CSP pihak ketiga, sehingga melepaskan pengelolaan perangkat keras dan lingkungan eksekusi.
  • Vendor lock-in: Setiap penyedia layanan menawarkan kemampuan dan fitur unik tanpa server yang tidak kompatibel dengan vendor lain.
  • Pengaktifan yang lambat: Juga dikenal sebagai 'mulai dengan dingin', startup yang lambat dapat memengaruhi kinerja dan daya tanggap aplikasi tanpa server, terutama dalam lingkungan permintaan waktu nyata. 
  • Pengujian dan debugging yang kompleks: Debugging bisa menjadi lebih rumit dengan model komputasi tanpa server karena pengembang tidak memiliki visibilitas ke dalam proses back-end.
  • Biaya lebih tinggi untuk menjalankan aplikasi yang panjang: Model eksekusi tanpa server tidak dirancang untuk mengeksekusi kode dalam waktu lama. Oleh karena itu, proses yang berjalan lama dapat menghabiskan biaya lebih dari server khusus atau lingkungan VM tradisional.
Tanpa server dan keamanan

Meskipun CSP menyediakan langkah-langkah keamanan untuk mengelola aplikasi tanpa server, klien juga bertanggung jawab untuk mengamankan kode aplikasi dan data sesuai dengan model tanggung jawab bersama. Langkah-langkah keamanan berbasis cloud untuk tanpa server mencakup kebijakan dan solusi keamanan otomatis seperti informasi keamanan dan manajemen peristiwa (SIEM), manajemen identitas dan akses (IAM), serta deteksi dan respons ancaman.

Mengikuti praktik DevSecOps membantu tim pengembangan mengamankan teknologi tanpa server. DevSecOps, yang merupakan kependekan dari development (pengembangan), security (keamanan), dan operations (operasi), adalah praktik pengembangan aplikasi yang mengotomatiskan integrasi keamanan dan praktik keamanan di setiap fase siklus pengembangan perangkat lunak, mulai dari desain awal hingga integrasi, pengujian, pengiriman, dan penerapan.

Serverless dan keberlanjutan

Tidak seperti lingkungan pusat data on-prem tradisional, model komputasi tanpa server dapat membantu organisasi mengurangi konsumsi energi dan menurunkan jejak karbon untuk operasi TI.

Selain itu, model tanpa server memungkinkan perusahaan untuk mengoptimalkan emisi mereka melalui efisiensi sumber daya dengan hanya membayar dan menggunakan sumber daya yang dibutuhkan. Fitur ini menghasilkan lebih sedikit energi yang terbuang pada proses idle atau berlebih.

Kasus penggunaan tanpa server

Dengan atribut dan manfaatnya yang unik, arsitektur tanpa server berfungsi paling baik untuk contoh penggunaan yang melibatkan layanan mikro, back-end seluler, serta pemrosesan aliran data dan peristiwa.

Tanpa server dan layanan mikro

Contoh penggunaan tanpa server yang paling umum saat ini adalah mendukung arsitektur layanan mikro. Model layanan mikro difokuskan pada pembuatan layanan kecil yang melakukan satu pekerjaan dan berkomunikasi satu sama lain menggunakan API. Meskipun layanan mikro juga dapat dibangun dan dioperasikan menggunakan PaaS atau kontainer, layanan tanpa server telah mendapatkan momentum yang signifikan mengingat atributnya seputar bit kode kecil, penskalaan bawaan dan otomatis, penyediaan cepat, dan model harga yang tidak pernah mengenakan biaya untuk kapasitas siaga.

Backend API

Tindakan (atau fungsi) apa pun dalam platform tanpa server dapat diubah menjadi titik akhir HTTP yang siap digunakan oleh klien web. Saat diaktifkan untuk web, tindakan ini disebut tindakan web. Setelah memiliki tindakan web, Anda dapat merakitnya menjadi API berfitur lengkap dengan API gateway yang menghadirkan lebih banyak keamanan, dukungan OAuth3, pembatasan kecepatan, dan dukungan domain kustom.

Open Liberty InstantOn (CRIU)

Open Liberty InstantOn4 mengambil pendekatan baru untuk mendukung startup yang cepat untuk aplikasi tanpa server. Dengan InstantOn, Anda dapat mengambil titik pemeriksaan dari proses aplikasi Java yang sedang berjalan selama pembuatan aplikasi dan kemudian mengembalikan titik pemeriksaan tersebut dalam produksi. Pemulihan cepat (hingga 100 milidetik), yang membuatnya ideal untuk tanpa server. Karena InstantOn adalah titik pemeriksaan dari aplikasi Anda yang sudah ada, perilakunya setelah pemulihan identik, termasuk kinerja throughput yang sama baiknya. Proses ini memungkinkan organisasi untuk mengadopsi tanpa server untuk aplikasi cloud native baru dan memberikan kesempatan untuk membawa arsitektur tanpa server ke perusahaan yang sudah ada.

Pemrosesan data

Tanpa server sangat cocok untuk bekerja dengan data teks, audio, gambar, dan video yang terstruktur di sekitar tugas-tugas seperti pengayaan data, transformasi, validasi, dan pembersihan. Pengembang juga dapat menggunakannya untuk pemrosesan PDF, normalisasi audio, pemrosesan gambar (rotasi, penajaman, pengurangan noise, pembuatan thumbnail), pengenalan karakter optik (OCR) dan transkode video.

Komputasi paralel besar-besaran dan operasi 'peta'

Setiap tugas yang sangat paralel adalah contoh penggunaan yang baik untuk waktu proses tanpa server, dengan setiap tugas yang dapat diparalelkan menghasilkan satu pemanggilan tindakan. Contoh tugas mencakup semuanya mulai dari pencarian dan pemrosesan data (khususnya cloud object storage), operasi MapReduce, dan pengumpulan web hingga otomatisasi proses bisnis, penyetelan hyperparameter, simulasi Monte Carlo, dan pemrosesan genom.

Beban kerja pemrosesan streaming

Menggabungkan Apache Kafka terkelola dengan FaaS dan database atau penyimpanan menawarkan fondasi yang kuat untuk pembangunan alur data dan aplikasi streaming secara real-time. Arsitektur ini cocok untuk bekerja dengan semua jenis penyerapan aliran data (untuk validasi, pembersihan, pengayaan, dan transformasi), termasuk data sensor IoT, data log aplikasi, data pasar keuangan, dan aliran data bisnis (dari sumber data lain).

AI dan tanpa server

Tanpa server menyediakan skalabilitas otomatis yang diperlukan untuk menjalankan beban kerja kecerdasan buatan (AI) dan machine learning (ML), memastikan kinerja yang optimal dan mempercepat inovasi.

Hybrid cloud dan tanpa server

Komputasi tanpa server mendukung strategi hybrid cloud dengan memberikan kelincahan, fleksibilitas, dan skalabilitas yang diperlukan untuk mengakomodasi beban kerja yang berfluktuasi di seluruh lingkungan on-premises, cloud publik, cloud privat, dan lingkungan edge.

Aplikasi umum untuk serverless

Tanpa server mendukung banyak aplikasi paling umum saat ini, termasuk manajemen hubungan pelanggan (CRM), komputasi kinerja tinggi (HPC), analitik big data, otomatisasi proses bisnis, streaming video, game, telemedicine, digital commerce, pembuatan chatbot , dan banyak lagi.

Tutorial: Memulai dengan tanpa server

Anda dapat mengembangkan keterampilan komputasi serverless dengan tutorial berikut:

  • Memulai IBM Cloud Code Engine: Kunjungi tutorial “Hello world” kami untuk melihat sendiri betapa mudahnya membuat dan menerapkan aplikasi IBM Cloud Code Engine.
  • Rasakan pengalaman Liberty InstantOn (CRIU): Buka nilai baru untuk organisasi Anda dengan IBM WebSphere Liberty dengan mengoptimalkan penerapan cloud Anda dan meningkatkan efisiensi operasional. Liberty InstantOn menampilkan cara yang lebih baik untuk mencapai kinerja tanpa server tanpa kompromi.
  • Jalankan pekerjaan batch: Pelajari cara menjalankan pekerjaan batch menggunakan konsol Code Engine. Suatu pekerjaan menjalankan satu atau lebih contoh kode yang dapat dieksekusi. Tidak seperti aplikasi yang menangani permintaan HTTP, pekerjaan dirancang untuk berjalan sekali dan keluar.
Solusi
IBM Cloud Code Engine

Menjalankan kontainer, kode aplikasi, atau pekerjaan batch pada waktu proses kontainer yang terkelola sepenuhnya.

Jelajahi IBM Cloud Code Engine
IBM Cloud Pak for Applications

Baik itu penerapan, membangun aplikasi cloud native baru, refactoring atau replatforming aplikasi yang sudah ada, Cloud Pak for Applications (CP4Apps) telah mencakupnya.

Jelajahi IBM Cloud Pak for Applications
IBM Cloud Satellite

Menerapkan dan menjalankan aplikasi secara konsisten di seluruh lingkungan on premises, komputasi edge, dan cloud publik dari vendor cloud mana pun.

Jelajahi IBM Cloud Satellite
IBM Cloudant

Lapisan data untuk aplikasi berskala besar, tangguh, dan tersedia secara global, berdasarkan Apache CouchDB sumber terbuka.

Jelajahi IBM Cloudant
Pemantauan serverless Instana

Pemantauan aplikasi dan layanan tanpa server Anda untuk mengoptimalkan kinerja, ketersediaan, dan keamanan.

Jelajahi pemantauan tanpa server Instana
Sumber daya
Serverless di perusahaan, 2021

Pelajari lebih lanjut insight tentang peluang dan tantangan dunia nyata dari komputasi tanpa server.

Melampaui fungsi untuk menjalankan semua beban kerja dalam kontainer - termasuk aplikasi web, layanan mikro, dan tugas batch - pada platform tanpa server yang terkelola sepenuhnya ini.

Nikmati cloud Anda lagi

Lihatlah lebih dekat IBM Cloud Code Engine dan manfaat yang ditawarkannya.

Ambil langkah selanjutnya

Komputasi serverless menawarkan cara yang lebih sederhana dan hemat biaya dalam membangun dan mengoperasikan aplikasi di cloud. Pelajari tentang IBM Cloud Code Engine, platform serverless bayar sesuai penggunaan yang memungkinkan pengembang menerapkan aplikasi dan alur kerja serverless tanpa memerlukan skill Kubernetes.

Jelajahi Cloud Code Engine
Catatan kaki

(Semua tautan berada di luar ibm.com)

Global Serverless Architecture Market Report, SkyQuest, Maret 2024

Why The Future Of Software And Apps Is Serverless, ReadWrite, Oktober 2012

3 Tentang OAuth 2.0, OAuth

4 Faster startup for containerized applications with Open Liberty InstantOn, Open Liberty