Intern Wellcode.io - Mengenal Heroku
Heroku adalah sebuah cloud platform yang menjalankan bahasa pemrograman tertentu, Heroku mendukung bahasa pemrograman seperti Ruby, Node.js, Python, Java, PHP, dan lain-lain.
Heroku termasuk ke dalam kriteria Platform As A Service (PaaS), sehingga bagi anda yang ingin melakukan deploy aplikasi ke heroku cukup hanya dengan melakukan konfigurasi aplikasi yang ingin di deploy dan menyediakan platform yang memungkinkan pelanggan untuk mengembangkan, menjalankan, dan mengelola aplikasi tanpa kompleksitas membangun dan memelihara infrastruktur yang biasanya terkait dengan pengembangan dan peluncuran aplikasi.
Heroku pada awalnya dikembangkan oleh James Lindenbaum, Adam Wiggins, dan Orion Henry untuk proyek-proyek pendukung yang kompatibel dengan platform pemrograman Ruby yang dikenal sebagai Rack. Pengembangan prototipe memakan waktu sekitar enam bulan. Kemudian, Heroku menghadapi kelemahan karena kurangnya pelanggan pasar yang tepat karena banyak pengembang aplikasi menggunakan alat dan lingkungan mereka sendiri. Pada Januari 2009 platform baru diluncurkan yang dibangun hampir dari awal setelah upaya tiga bulan. Pada Oktober 2009, Byron Sebastian bergabung dengan Heroku sebagai CEO. Pada 8 Desember 2010, Salesforce.com mengakuisisi Heroku sebagai anak perusahaan yang sepenuhnya dimiliki oleh Salesforce.com. Pada 12 Juli 2011, Yukihiro "Matz" Matsumoto, kepala desainer bahasa pemrograman Ruby, bergabung dengan perusahaan sebagai Chief Architect, Ruby. Pada bulan yang sama, Heroku menambahkan dukungan untuk Node.js dan Clojure. Pada 15 September 2011, Heroku dan Facebook memperkenalkan Heroku untuk Facebook. Saat ini Heroku mendukung database Redis sebagai tambahan untuk PostgreSQL standarnya.
Heroku sebagai komputasi modern
Cloud Computing
Cloud Computing adalah sebuah model untuk kenyamanan, akses jaringan on-demand untuk menyatukan pengaturan konfigurasi sumber daya komputasi (seperti, jaringan, server, media penyimpanan, aplikasi, dan layanan) yang dapat dengan cepat ditetapkan dan dirilis dengan usaha manajemen yang minimal atau interaksi dengan penyedia layanan .
Jika kita lihat dari pengertian diatas, cloud computing merupakan salah satu contoh dari komputer modern dimana jika kita melihat ke bagian user, cloud computing ini akan menyediakan storange dimana user dapat melakukan akses dimana dan kapan saja. Tidak hanya menyediakan storange, cloud computing juga berfungsi dalam hal deployment sebuah aplikasi, kita misalkan penulis mempunyai sebuah aplikasi web dimana aplikasinya akan di deploy ke sebuah server. Server yang digunakan untuk menjalankan aplikasi web telah dirancang sedemikian rupa sehingga sesuai dengan definisi cloud. Penulis memberikan contoh, misalkan server yang kita gunakan memiliki ram hanya 2 gb, ketika si aplikasi hanya menggunakan ram sebanyak 1 gb maka secara otomatis server akan menurunkan ram secara otomatis menjadi 1 gb. Bagaimana dengan ram yang 1 gb lagi ? ram tersebut akan di share ke pengguna lain yang membutuhkan ram lebih, misalnya aplikasi yang kita deploy tiba - tiba membutuhkan ram sebanyak 3 gb dikarenakan beban akses yang terlalu banyak maka secara otomatis ram akan ditambahkan.
Dari pembahasan diatas dapat kita lihat bahwa sebuah server cloud sangat lah berbeda dengan server hosting. Dimana jika kita menggunakan hosting maka automatic task seperti diatas tidak dapat dilakukan, berbeda dengan cloud computing yang dapat menjalankan secara otomatis.
Beberapa Model Layanan Cloud Computing
Jika dilihat dari segi model layanan, cloud computing terdapat 3 model yaitu :
- Software As A Service (SaaS) yaitu sebuah layanan yang dapat langsung diakses oleh user biasanya sudah dalam bentuk aplikasi. Contohnya adalah gmail, google docs, drop box dan sebagainya.
- Platform As A Service (PaaS) yaitu pada layanan ini, semua kebutuhan user akan aplikasi sudah tersedia misalkan seperti instalasi sistem operasi, web server, database server dan lain - lain sehingga pada layanan ini, user hanya akan melakukan konfigurasi pada level aplikasi. Contohnya adalah openshift, Google App Engine dan lain - lain.
- Infrastructure As A Service (IaaS) yaitu pada layanan ini, hampir semua level bisa dipilih kecuali level hardware. Pada level ini, user dapat memilih sistem operasi, alokasi memory dan sebagainya. Contohnya adalah Digital Ocean, Microsoft Azure IaaS dan lain - lain.
Apa hubungan heroku dengan komputasi modern?
Heroku adalah adalah salah satu web hosting berbasis cloud, biasanya heroku digunakan untuk mengembangkan aplikasi web dengan berbagai bahasa pemrograman seperti java, ruby, python, node js, php dan lain - lain.
Berikut adalah beberapa faktor bahwa heroku mempunyai hubungan dengan komputasi modern:
- Heroku adalah salah satu web hosting berbasis cloud sehingga dapat diakses dimana dan kapan saja sehingga sesuai dengan kriteria komputasi modern.
- Heroku termasuk ke dalam kriteria Platform As A Service (PaaS), sehingga bagi anda yang ingin melakukab deploy aplikasi ke heroku cukup hanya dengan melakukan konfigurasi aplikasi yang ingin di deploy.
- Heroku dapat memanage sistem operasi, ram, hardisk dan sebagainya secara otomatis sehingga heroku juga dapat mendeteksi bahasa apa yang digunakan oleh sebuah aplikasi.
- Aplikasi web yang ada di heroku hanya berjalan selama 18 jam dalam sehari, otomatisasi task tersebut adalah sebuah proses scheduling sehingga dapat dikatakan heroku adalah komputasi modern.
- Heroku dapat melakukan deploy secara otomatis terhadap aplikasi yang kita upload melalui tool git.
Wellcode.io Team
Leading high-tech Indonesia Startup Digital - which serves the community with revolutionary products, system development, and information technology infrastructure