Sudah Siapkah Untuk Beralih ke Red Hat OpenShift

Untuk para programmer, developer dan architects, nama Red Hat tentunya sudah tidak asing lagi di telinga mereka, karena sebagian diantara mereka pastinya telah menggunakan opensource dari Red Hat dalam pembuatan sebuah aplikasi.

Pergerakan teknologi architect ini sangat cepat, banyak sekali tren bermunculan sehingga permintaan user terhadap teknologi dalam aplikasi itu sendiri makin meningkat, seperti jangan sampai ada kejadian aplikasi tidak bisa diakses, terjadi downtime, crash dengan aplikasi yang lain.

Hal ini membutuhkan sebuah pendekatan dalam teknologi baru, tentunya lebih menyesuaikan dengan kebutuhan programmer/developer, architects tersebut, jangan asal mengikuti tren teknologi baru tapi kurang begitu menguasai sehingga tidak memberikan sebuah solusi terhadap user dan membuang waktu serta biaya.

Untuk itu, Red Hat  memberikan solusi-solusi yang dibutuhkan untuk membantu para teknologi architect, programmer/developer dalam pengembangan aplikasi menjadi lebih stabil, aman dan modern.

Pergeseran Proses Pengembangan Perangkat Lunak / Sistem Aplikasi.
(Shifting software development process)

Berdasar pengalaman dari Red Hat sendiri, saat ini telah terjadi fenomena-fenomena dalam dunia digital, ini terlihat dari sisi cara pembuatan sebuah aplikasi (software engineering) bahwa terjadi pergeseran peralihan proses yang lebih cepat. Klien tidak mau menunggu proses pembuatan aplikasi dengan waktu yang cenderung lama sampai berbulan-bulan, sebaliknya para klien ingin semuanya serba cepat, semua bisa diselesaikan dalam waktu 2 minggu. Belum lagi setiap beberapa minggu kemudian harus ada pembaruan (update) versi terbaru dari aplikasi tersebut supaya tidak kalah bersaing dengan kompetitornya.

Kemudian ada sisi mekanisme teknologi untuk mendeploy ke dalam tim produksi, tadinya membutuhkan banyak sekali intervensi manusia yang sangat kompleks, banyak aturan dan memakan waktu yang sangat lama. Sekarang hanya membutuhkan sebuah sistem yang cepat yang bisa mengotomatisasi semua kerjaan tersebut.

 

Hal-hal tersebut bisa dikatakan berkaitan erat dengan istilah DevOps.

Dengan menerapkan proses DevOps ini, perusahaan dapat memanajemen sebuah project dengan baik, karena DevOps itu sendiri mengkoordinasikan antar tim development dengan tim operations dengan efektif dan efisien. Pola pikir yang dibentuk oleh DevOps adalah koordinasi antar tim yang dapat dilakukan dengan cara singkat sehingga tidak membutuhkan banyak pertanyaan. Tim operation atau development cukup mengonfigurasi beberapa komponen yang dibutuhkan melalui prosedur yang dibuat.

DevOps bertujuan untuk meningkatkan kolaborasi antara tim development dan tim operation dari mulai perencanaan hingga aplikasi/fitur ter-deliver ke pengguna. Semua itu harus dilakukan secara otomatis agar:

  1. Meningkatkan deployment frequency.
  2. Meningkatkan waktu pemasaran.
  3. Menurunkan tingkat kegagalan pada rilisan terbaru.
  4. Mempersingkat waktu perbaikan.
  5. Meningkatkan waktu pemulihan.

 

Kehadiran Sebuah Arsitektur Baru.

Dari sisi arsitektur, rata-rata sebuah perusahaan sekarang menerapkan sebuah aplikasi besar monolith, yaitu arsitektur dimana keseluruhan kode akan dikompilasi menjadi satu aplikasi dalam menjalankan seluruh proses yang dibutuhkan. Tentunya dalam aplikasi besar monolith ini tidak ada kebutuhan komunikasi kepada aplikasi atau service.

Dan saat ini telah menjadi sebuah pergeseran dimana sebuah perusahaan menerapkan aplikasinya dipecah menjadi sebuah service-service kecil atau sering disebut dengan microservice. Service ini memiliki tujuan yang sangat terfokus dan memiliki metode komunikasi antar service yang tidak berat.

Solusi lain untuk membangun sistem microservices, adalah dengan Event-driven. Pada arsitektur Event-driven komunikasi akan berjalan dengan menggunakan message event, dimana message event ini akan muncul ketika sebuah service melakukan sebuah request dari pengguna, kemudian service tersebut akan tersimpan ke dalam sebuah database. Dan selanjutnya service tersebut akan mengirimkan sebuah pesan berupa event notification yang diarahkan bisa ke service yang lain.

 

Misal :  Ketika berlangganan Netflix, si A yang berlangganan Netflix suka sekali dengan drama Korea, dan secara tidak sadar ada rekomendasi dari aplikasi tersebut.

Dari sini bisa dikatakan bahwa rekomendasi itu bergerak secara otomatis, saat nonton drama Korea tersebut. Aplikasi ini akan mengirimkan sebuah event ke sistem Netflix, memberitahukan bahwa si A ini senang sekali menonton drama Korea. Kemudian itu akan menjadikan input ke sistem lain yang memberikan pemberitahuan kepada Netflix tentang rekomendasi tontonan si A.

 

Platform baru bermunculan

Semakin berkembangnya kebutuhan sebuah sistem aplikasi, tentunya akan memicu terbentuknya platform baru.

 

Container

Ketika menyusun sebuah aplikasi, seorang developer harus melewati proses staging, testing hingga production dengan berbagai jenis environment yang berbeda. Perbedaan software dan konfigurasi pada setiap environment menjadi salah satu faktor yang menyebabkan proses pengembangan sebuah aplikasi membutuhkan waktu yang cukup lama.

Untuk menyelesaikan permasalahan tersebut, teknologi container hadir sebagai solusinya. Container merupakan sebuah teknologi yang digunakan untuk menciptakan sistem yang terisolasi (isolated environment) pada level OS dalam sebuah induk Linux kernel (host).

Dengan menerapkan sistem container, berarti aplikasi dikemas dalam sebuah container bersama dengan code, runtime, system library dan binaries, serta konfigurasinya. Dengan begitu, aplikasi dapat berjalan dan kompatibel dengan berbagai environment, bahkan Multi-Cloud sekalipun. Container ini diciptakan dengan ukuran kecil dan dikenal sebagai lightweight platform sehingga mampu membuat aplikasi berjalan lebih cepat serta efisien.

 

Kubernetes

Kubernetes merupakan platform open-source yang digunakan untuk melakukan manajemen workloads aplikasi yang dikontainerisasi dengan kata lain memanajemen kumpulan container dalam satu tempat, serta menyediakan konfigurasi dan otomatisasi secara deklaratif. Kubernetes berada di dalam ekosistem yang besar dan berkembang cepat. Service, support, dan perkakas Kubernetes tersedia secara meluas.

 

Cloud

Tren penggunaan VM atau Virtual Machine, semua membeli server sendiri yang secara otomatis mengeluarkan investasi yang sangat besar untuk pengelolaan ini, sekarang beralih ke komputasi awan atau Cloud.

 

Bagaimana Red Hat bisa membantu untuk para developer/programmer yang ingin mengembangkan aplikasi dengan teknologi yang lebih baru.

 

Beberapa alasan kenapa harus beralih ke Red Hat, diantaranya adalah :

Red Hat merupakan leader dalam container platform dengan OpenShift Container Platform yang merupakan salah satu distribusi Kubernetes.

Red Hat sendiri mempunyai track record yang bagus sebagai enterprise software provider.

Keunikan dari pendekatan Red Hat ini pun sangat unik, karena semua produk Red Hat memiliki upstream opensource, jadi semua upstream opensource ini dikumpulkan kemudian dilakukan standard test atau integration yang kemudian dikemas menjadi sebuah produk yang bisa berjalan dengan standard enterprise, sehingga solusi yang dipaketkan oleh Red Hat ini stabil, aman dan didukung penuh oleh Red Hat serta bisa terintegrasi dengan produk Red Hat yang lain.

Untuk application development dari Red Hat itu sendiri jarang diketahui oleh banyak orang. Dengan teknologi yang bernama Middleware Portfolio, banyak sekali solusi yang diberikan untuk membantu para programmer/developer untuk mengembangkan aplikasi dan menjalankan aplikasi tersebut diatas OpenShift, baik infrastruktur itu berada di lokasi atau di cloud (berbasis container, cloud-native, hybrid, atau multicloud), lingkungan terpadu ini memberi programmer/developer, architects dan IT manager kemampuan untuk membuat, mengintegrasikan, dan mengotomatisasi fleksibel, portable dan aplikasi hemat biaya.

 

Apa yang bisa dilakukan oleh Red Hat OpenShift untuk membantu para programmer, developer, architects ?

 

OpenShift Application Runtimes membantu organisasi menggunakan model pengiriman cloud dan menyederhanakan pengiriman aplikasi dan layanan yang berkelanjutan pada platform OpenShift, dengan cara cloud-native. Dibangun di atas teknologi open source yang telah terbukti, OpenShift Application Runtimes juga memberikan beberapa opsi modernisasi kepada tim pengembangan untuk memungkinkan transisi yang mulus ke cloud untuk aplikasi yang ada.

Misal programmer/developer ingin membuat aplikasi yang dibuat dengan bahasa pemrograman php, Red Hat ini mempunyai aplikasi runtime yang bisa menjalankan aplikasi berbasis php tersebut dan telah certified diatas Openshift.

Selain itu, Red Hat menyediakan tools yang terintegrasi dengan OpenShift, misalkan para programmer atau developer yang belum mempunyai pengalaman dengan kubernetes, OpenShift mempunyai tools yang disebut souce to image yang memungkinkan untuk para programmer/developer hanya dengan memberikan alamat repository yang kemudian oleh OpenShift ini akan mendeploy diatas kubernetes dengan mudah.

OpenShift memberikan solusi-solusi yang akan memperkecil gab/jarak para developer/programmer untuk bisa mengadopsi pengembangan aplikasi dengan kubernetes, seperti halnya OpenShift ini mempunyai runtime sendiri, framework seperti Quarkus. Quarkus merupakan framework Java yang yang dirancang khusus untuk dapat berjalan native pada Kubernetes. Quarkus menjanjikan optimasi pada artifact yang dihasilkan, yang memungkinkan waktu booting yang lebih cepat dan waktu respon dari request pertama yang lebih singkat.

 

Integration adalah serangkaian integrasi dan teknologi pesan yang komprehensif untuk menghubungkan aplikasi dan data di seluruh infrastruktur hybrid. Ini adalah solusi yang gesit, terdistribusi, terkemas, dan berpusat pada API. Ini menyediakan komposisi dan orkestrasi layanan, konektivitas aplikasi dan transformasi data, streaming pesan real-time, perubahan pengambilan data, dan manajemen API, semuanya digabungkan dengan platform dan toolchain cloud-native untuk mendukung spektrum penuh pengembangan aplikasi modern.

 

Process Automation, adalah serangkaian produk untuk mengotomatisasi keputusan dan proses bisnis secara cerdas. Menerapkan kebijakan dan prosedur bisnis, mengotomatisasi operasi bisnis, dan mengukur hasil aktivitas bisnis di seluruh lingkungan yang heterogen.

 

Di OpenShift ini banyak sekali teknologi-teknologi yang diarahkan menjadi cloud native application atau arsitektur pengembangan aplikasi yang membungkus setiap service ke dalam suatu container.

 

Bukan hanya dari runtimes integration automation saja yang didapat ketika beralih ke OpenShift. OpenShift menyediakan beberapa tools untuk memonitor diantaranya adalah :

  • Application Services, merupakan layanan data yang dirancang untuk mempercepat pengembangan dan pengiriman aplikasi cloud native.
  • Service Mesh menyediakan platform untuk perilaku dan kontrol operasional atas layanan mikro jaringan ke dalam mesh layanan. Dengan Service Mesh dapat menghubungkan, mengamankan, dan memantau layanan mikro di lingkungan OpenShift Container Platform

Dengan menggunakan Openshift ini, semua menjadi dipermudah. Kendala yang sering dialami oleh para programmer/developer seperti misal seringkali menemukan tools banyak yang tidak mempunyai UI, terlebih ketika mengatasi sebuah masalah harus debugging dengan banyak sekali terminal-terminal log. Tentunya hal ini akan sangat merepotkan sekali dan memakan waktu yang lumayan lama. Berbeda sekali ketika menggunakan OpenShift, semuanya tergabung dalam sebuah web dashboard sehingga memudahkan untuk para programmer/developer untuk menghemat waktu ketika terjadi kendala.

 

(source pressfoto – freepik)

Untuk para developer/programmer yang tertarik dan ingin mengetahui tentang solusi-solusi apa saja yang ditawarkan oleh Red Hat ini, yang bisa membantu dalam pengembangan cloud native application. Red Hat Indonesia mengadakan webinar yang bisa diikuti oleh para programmer/developer, yang bernama KubeNativeDev Tech Talk Series

Dalam webinar tersebut terdiri dari perkenalan mengenai tentang apa yang bisa diberikan oleh OpenShift dan Kubernetes Native Application.

Kemudian di webinar kedua lebih mengedepankan bagaimana cara mempunyai aplikasi menggunakan Spring atau pengembangan aplikasi yang sudah ada.

Webinar ketiga, tentang bagaimana memecah aplikasi monolith menjadi microservice, dan menjadikan aplikasi microservice lebih stabil, reliable atau Bahasa populernya, aplikasinya menjadi scaleable, tahan atau tidak down ketika aplikasi tersebut menjadi populer. Intinya, di webinar ketiga ini akan lebih membahas tentang optimalisasi microservice menjadi sebuah event driven application system dan berjalan di atas kubernetes.

Webinar keempat atau yang terakhir, lebih tentang security, bagaimana caranya supaya aplikasi yang dibuat tidak mudah di hack, tentunya dengan solusi yang dipunyai oleh OpenShift.

 

Nah, kalo semuanya sudah disediakan dengan alur yang lebih mudah, sudah siapkah kalian para programmer/developer, architects untuk beralih ke Red Hat OpenShift Platform Container ?

 

 

 

Salam manis,

HYudee

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.