Jump to content
c0d1ng

Bahasa Pemrograman untuk Function As A Service

Recommended Posts

codecode.thumb.jpg.86957c1db8c30632e60b3ad8b4b4082d.jpg

Serverless architecture adalah salah satu topik yang cukup menarik untuk digali, memang kehadiran cloud computing-lah yang membuatnya lahir. Karena tidak bisa ditampik juga kemudahan dalam membangun aplikasi akan dirasakan oleh pembuat aplikasi itu sendiri. FaaS merupakan salah satu komponen penting dari serverless architecture dimana kita tidak perlu terlibat banyak dalam administrasi server. Berbeda dengan mode deployment konvensional biasa yang biasa melibatkan kita dengan urusan administrasi server.

Salah satu hal terpenting dari serverless architecture adalah auto scaling. Dimana kita dapat dengan mudah menentukan kapan harus auto scaling. Kamu dapat menentukan rule bila ada kondisi harus auto scaling pada waktu tertentu. Salah satu concern kenapa FaaS hadir adalah bagaimana suatu bagian kode memiliki porsi resource yang berbeda dibandingkan yang lainnya. Dan juga mencegah overtaking resource oleh function lain. Dengan kata lain functionakan diisolasi seperti pada microservice architecture, dan perbedaan penggunaan resource tidak akan mempengaruhi satu sama lain. Bila di microservice batasan resource ditentukan oleh host itu sendiri, sedangkan di serverless kamu tidak perlu menangani hal tersebut karena sudah ditangani oleh vendor.

Secara umum, FaaS memiliki caranya sendiri untuk dipasang. Ada juga yang menggunakan bantuan third party seperti Serverless Framework untuk deployment yang lebih mudah. Namun biasanya deployment bawaan dari suatu vendor kadang berbelit - belit dan cukup rumit. Oleh karena itu hadirlah berbagai third party yang mempermudah hal tersebut.

Untuk berkecimpung di ranah serverless, tidak perlu khawatir bila kamu sudah menguasai bahasa pemrograman mainstream. Bahkan bahasa pemrograman yang masih belum mainstream di Indonesia pun sudah memiliki tempat di ranah serverless. Kalau kamu sudah menguasai bahasa pemrograman seperti Node.js dan Python, kamu juga dapat membuat binary dari bahasa pemrograman yang kamu suka dan menjalankannya dengan bantuan process Node.js atau subprocess-nya Python.

Berikut ini adalah daftar beberapa bahasa pemrograman yang dapat kamu gunakan untuk berkecimpung di ranah serverless.

1. Node.js

Node.js didukung secara resmi oleh AWS Lambda, Azure Function, IBM Open Whisk, Google Cloud Function. Kamu juga dapat menggunakan berbagai framework untuk serverless seperti Serverless, Claudia.js, Gordon, Apex, dan lainnya.

Node.js masih menjadi favorit untuk ranah serverless karena ketersediaan library yang lebih banyak untuk mengembangkan aplikasi serverlessdibandingkan bahasa pemrograman lain.

2. Python

Python secara resmi didukung oleh AWS Lambda, Azure Function, Google Cloud Function. Kamu juga dapat menggunakan berbagai framework seperti Serverless, Zappa, Gordon, Apex, Chalice dan lainnya.

3. Java

Java secara resmi didukung oleh AWS Lambda, Azure Function, Google Cloud Function. Kamu dapat menggunakan framework seperti Serverless dan Gordon.

4. Go

Go secara resmi didukung Google Cloud Function, dan kamu harus melalukan deployment yang telah diinstruksikan oleh Google Cloud Function. Namun kamu dapat menggunakan juga Apex untuk deploy kode Go kamu di AWS Lambda, walaupun masih belum resmi.

5. CSharp (ASP.NET Core)

C# didukung secara resmi oleh AWS Lambda, Azure Function, Google Cloud Function. Terlebih di Azure Function semua alat pendukung sudah tersedia lengkap dan telah lolos uji. Namun sayangnya tools - tools tersebut hanya tersedia di Visual Studio dan Windows 10. Sistem operasi lain tidak dapat menggunakannya.

Namun kamu dapat menggunakan deployment yang diinstruksikan masing - masing vendor yang tentu saja agak lebih repot dibandingkan bila deploy ke Azure Function.

6. FSharp

F# secara resmi didukung oleh Azure Function dan belum ada vendor lain yang mau menerima F#. Kamu dapat menggunakan Azure Function Tool untuk membuat aplikasi serverless menggunakan F#.

7. PHP

Bahasa pemrograman favorit programmer Indonesia ini secara resmi didukung oleh Azure Function, Google Cloud Function. Belum banyak framework yang mendukungnya. Sehingga kamu harus melakukan deployment sesuai dengan ketentuan dari vendor.

8. Ruby

Bagi pengguna Ruby on Rails, Google Cloud Function menjadi penyelamat Ruby untuk berkecimpung di dunia serverless. Secara resmi Google Cloud Function mewadahi Ruby sebagai salah satu bahasa pemrograman mereka untuk FaaS.

Namun sayangnya belum banyak framework untuk serverless yang dapat digunakan untuk Ruby. Sehingga kamu harus melakukan deployment sesuai dengan ketentuan dari vendor.

9. Scala

Scala tidak secara resmi didukung oleh AWS Lamdba. Namun AWS Lambda mendukung Java secara resmi. Kamu dapat menggunakan framework seperti Serverless dan Gordon.

10. Clojure

Clojure tidak secara resmi didukung oleh AWS Lambda. Namun AWS Lambda mendukung Java secara resmi. Kamu dapat menggunakan framework seperti Serverless dan Gordon.

11. Kotlin

Kotlin tidak secara resmi didukung oleh AWS Lambda. Namun AWS Lambda mendukung Java secara resmi. Kamu dapat menggunakan framework seperti Serverless dan Gordon.

Share this post


Link to post
Bagikan di situs lain

Buat akun atau masuk untuk berkomentar

Anda harus menjadi anggota untuk memberikan komentar

Buat sebuah akun

Mendaftar untuk account baru dalam komunitas kami. Mudah!

Daftarkan akun baru

Masuk

Sudah mempunyai akun? Masuk disini.

Masuk Sekarang


  • Konten yang sama

    • Oleh c0d1ng

      Dunia IT (information technology) merupakan sebuah ranah ilmu yang terlihat semacam satu kesatuan (asalkan bisa menggunakan komputer) bagi orang awam namun kenyataannya terdapat banyak sekali cabang ilmu yang tidak bisa kita ambil semuanya dalam waktu yang sebentar. Sebagai contoh kecil, di dunia IT sendiri terdapat fokus ilmu pada bidang teori komputasi, jaringan komputer, algoritma dan pemrograman, sistem informasi, kecerdasan buatan, dan masih banyak lagi bidang ilmu di dunia IT yang bahkan dalam kuliah pun hanya dibahas kulitnya saja.
      Bagi seseorang yang baru mengenal dunia IT tentu punya ambisi untuk ingin menguasai segalanya. Mulai dari jaringan komputer hingga menguasai semua bahasa pemrograman. Sekarang kita akan ambil contoh kasus dalam konteks seseorang ingin menguasai bahasa pemrograman. Tentu bahasa pemrograman merupakan salah satu hal yang menarik bagi seseorang yang ingin menguasai dunia IT. Kenapa? ada banyak sekali bahasa pemrograman yang cukup membuat seseorang ingin menguasainya.
      Bahasa pemrograman ini ada banyak sekali ragamnya. Dari segi sistem operasi ada yang hanya tersedia untuk Windows (C#, Visual Basic), ada yang hanya tersedia untuk OSX (Swift, Objective-C), ada yang hanya tersedia untuk Linux (BASH), dan ada juga yang tersedia untuk semuanya (Python, PHP, Javascript, C, C++). Dari segi perangkat ada yang hanya disediakan untuk komputer desktop, perangkat mobile, perangkat IoT, dan embedded machine. Dari sedikit aspek yang telah disebutkan, waktu yang dibutuhkan untuk semuanya tidak akan pernah cukup. Berikut ini adalah beberapa hal yang dapat Anda simak untuk memilih apakah harus mencoba banyak atau menguasai beberapa bagi Anda yang masih kuliah di jurusan IT atau baru mengenal dunia IT khususnya pemrograman.
      Kuasai Saja Beberapa dan Fokus
      Di kehidupan nyata mungkin ada seorang mahasiswa IT yang mencoba 10 bahasa pemrograman, ada yang mencoba menguasai 3 bahasa pemrograman untuk digunakan mengerjakan tugas kuliah yang diberikan dosennya, ada yang ingin memperdalam 1 bahasa pemrograman untuk hobi dan proyeknya. Tidak ada yang keliru dengan hal ini, namun dapat dipastikan seseorang yang mencoba menguasai bahasa pemrograman terlalu banyak belum pernah terlibat dalam proyek freelance ataupun membuat karya tertentu.
      Berbeda dengan seorang mahasiswa yang fokus pada 3 bahasa pemrograman misalnya. Dia menggunakan 2 bahasa pemrograman untuk kuliah dan proyek pribadinya, satu lagi mungkin untuk hobinya. Jadi waktu yang diinvestasikan seorang penguasa 3 bahasa pemrograman tercurahkan untuk fokus pada pengembangan produk yang dibuatnya. Belum lagi timeframe yang dimiliki seorang mahasiswa hanya 4 ~ 7 tahun. Ketika lulus apakah perusahaan akan mencari seseorang yang menguasai banyak bahasa pemrograman namun tidak mendalam? atau seorang fresh graduate yang menguasai sedikit bahasa pemrograman namun lebih fokus dan menguasai satu saja bahasa pemrograman sampai topik spesifik? Akan semakin lebih baik apabila memiliki sebuah karya dalam bentuk aplikasi dengan menggunakan bahasa pemrograman yang dipilihnya.
      Berikut ini dapat menunjukkan kenapa kita harus fokus pada bahasa pemrograman tertentu”
      Anda tetap dalam kondisi labil hingga banyak sekali bahasa pemrograman yang Anda coba tapi tidak menguasai sampai hal dasar Belajar banyak bahasa pemrograman tapi hanya menguasai bagian umum Anda mulai mencoba fokus pada beberapa bahasa pemrograman saja sampai akhirnya Anda membuat sebuah karya dan produk Anda menguasai satu saja tapi akhirnya ketika lulus sudah dapat dianggap sebagai orang yang piawai dalam bahasa pemrograman tersebut Mencoba fokus pada satu bahasa pemrograman sampai akhirnya mengerti betul seluk beluk bahasa pemrogramant tersebut Jadi sekarang Anda dapat memilih apakah ingin menguasai 10 bahasa pemrograman hanya kulitnya saja? atau menguasai sedikit atau satu bahasa pemrograman namun punya kompetensi dan kemampuan yang mendalam hingga ke bagian inti dari bahasa pemrograman tersebut. Pilihan tersebut akan selalu ada di tangan Anda.
      Pelajari Hal Lain di Waktu yang Tepat
      Misal Anda hanya ingin fokus pada PHP dan Javascript namun harus menguasai Visual Basic untuk memenuhi tugas kuliah desktop programming? atau harus menggunakan Matlab hanya untuk membuat skrip perhitungan matriks dan aljabar linier? tidak masalah, pelajari saja Visual Basic dan Matlab tersebut sampai tugas Anda benar – benar terpenuhi untuk mata kuliah tersebut. Setelah beres perkuliahan Anda dapat meninggalkan kedua bahasa pemrograman tersebut apabila memang tidak benar – benar dibutuhkan dan bukan menjadi fokus utama untuk kemampuan programming yang akan Anda kuasai.
      Hal serupa pun dapat terjadi ketika Anda yang sudah biasa menggunakan suatu Relational Database, misalnya MySQL, namun diminta menggunakan Microsoft SQL Server untuk suatu proyek yang Anda dapatkan. Anda dapat mencoba untuk mulai mempelajarinya dan kuasai beberapa hal yang dapat menyokong pengerjaan Anda pada proyek tersebut. Bila ada orang lain yang lebih expert dalam tim Anda, tentu itu akan lebih membantu Anda karena tidak harus menguasai seluk beluk dari SQL Server tersebut. Tapi bila tidak ada lagi orang yang diamanahi, Anda dapat mulai mempelajarinya hanya untuk lingkup proyek tersebut.
      Jadi menguasai hal baru diluar fokus yang Anda kejar, dapat Anda lakukan hanya di waktu yang tepat. Terlebih waktu yang Anda miliki pasti terbatas bila harus semua Anda coba dalam satu waktu.
      Jangan Merasa Malu Karena Tidak Bisa Menguasai yang Orang Lain Kuasai
      Ketika Anda melihat seorang teman yang piawai membuat game dengan menggunakan ActionScript 3.0, tentu Anda akan terpukau melihatnya bahkan sedikit tergiur untuk mencoba membuat game tersebut. Bila Anda memang ingin fokus di dunia game development, hal tersebut bisa menjadi sebuah jalan bagi karir Anda. Tapi bila hanya untuk hobi? itu juga tidak masalah, namun Anda tidak perlu merasa malu bila teman Anda dapat menguasai suatu hal yang tidak dapat Anda kuasai. Sejatinya manusia hidup dengan cara berkelompok dan kolaborasi. Suatu saat mungkin saja kemampuan Anda dan teman Anda dapat dibutuhkan dalam suatu proyek. Anda memperoleh bagian Anda, teman Anda memperoleh bagiannya sendiri.
      Kadang ketertarikan untuk mengikuti seseorang tersebut terjadi karena kurangnya kepercayaan diri yang kita miliki. Ada kalanya apa yang kita pelajari terasa kurang menarik untuk saat ini ataupun di masa depan. Tapi tunggu dulu. Bila Anda hanya baru sebulan, 6 bulan, atau satu tahun mencoba. Tentu hasil yang diharapkan tidak akan dapat Anda peroleh begitu saja. Misal bila Anda adalah seorang web programmer bila hanya mencoba Javascript selama satu tahun, mungkin yang Anda kuasai baru dasarnya saja. Tapi bila Anda sudah terlibat dengan proyek dan konsisten mencoba Javascript selama lebih dari 1 ~ 2 tahun, bukan hal asing bila Anda akan sudah menguasai Ajax, Validasi Form, membuat komponen web sendiri, dan mungkin Anda membuat library Javascript untuk Anda sendiri.
      Untuk menguasai kompetensi terdalam dalam suatu bahasa pemrograman, Anda tidak dapat melakukannya hanya dalam “satu hari” saja, Anda bukanlah Sangkuriang yang harus menyelesaikan sesuatu dalam satu malam, bahkan menurut legenda Sangkuriang pun tidak pernah menyelesaikan perahunya. Dalam suatu bahasa pemrograman selain ada bidang yang secara umum dapat dilakukan dengan bahasa pemrograman tersebut, ada juga bidang khusus yang tidak dapat dilakukan suatu bahasa pemrograman. Kita ambil contoh sebuah bahasa pemrograman seperti C, Javascript, dan Java.
      Secara umum, kita dapat menggunakan ketiga bahasa pemrograman tersebut untuk keperluan belajar algoritma dan logika pemrograman. Tapi Anda dapat menemukan bidang spesifik yang hanya dapat dilakukan oleh salah satu bahasa pemrograman tersebut. Misalnya bahasa C sendiri merupakan bahasa pemrograman yang banyak digunakan di dunia mikrokontroler danembedded system, bahkan C sendiri digunakan untuk membuat library bagi bahasa pemrograman lain. Tapi tentunya C belum pernah digunakan untuk manipulasi halaman web yang saat ini dikuasai oleh Javascript. Javascript digunakan untuk membuat konten web semakin menarik dan interaktif sehingga halaman HTML statis yang biasa tampil tak bergerak akhirnya memiliki animasi yang indah dan memberikan reaksi interaktif terhadap pengguna web. Begitupun Java, yang saat ini menguasai ranah mobile apps development khususnya di Android.
      Jadi ketika Anda sedikit merasa malu bahwa Anda hanya bisa menguasai satu bahasa pemrograman, atau hanya beberapa saja. Tidak perlu ragu. Kuasailah bahasa pemrograman tersebut sampai ke akar – akarnya dan bidang khususnya. Sehingga setelah waktu yang Anda lalui cukup lama, Anda dapat menjadi ahli untuk bahasa pemrograman tersebut beserta bidang yang Anda geluti.
      Penutup
      Fenomena ini sangat menarik, karena selalu terjadi di setiap generasi dan pada semua orang yang baru saja mengenal dunia IT. Pada akhirnya seseorang akan melihat dan mengakui Anda sebagai seorang expert yang di bidangnya. Katakanlah bila Anda menguasai bahasa pemrograman PHP sampai bagian terdalam, orang akan memiliki kepercayaan lebih terhadap Anda dibandingkan Anda yang hanya menguasai bagian kulit dari banyak bahasa pemrograman yang Anda coba.
      Tulisan ini sebagian besar didasari oleh pengalaman penulis sendiri dan beberapa teman penulis di dunia IT khususnya programming selama kuliah hingga sekarang bekerja. Tulisan ini bisa saja berbeda dengan kenyataan pembaca. Bila ada perkataan yang kurang berkenan sekiranya mohon maaf, karena kesempurnaan hanya milik Tuhan semata. Semoga bermanfaat.
    • Oleh c0d1ng

       
      JENI adalah sebuah pelayanan integratif bagi mahasiswa di Indonesia, untuk mempelajari, berbagi dan mengembangkan solusi berbasis JAVA. Proyek JENI mengimplementasikan JEDI sebagai dasar pelaksanaan kurikulum dengan tambahan berbagai trend perkembangan teknologi JAVA. JENI dideklarasikan oleh Departemen Pendidikan Nasional, dan didukung oleh Indonesia Go Open Source (IGOS), JUG Indonesia, dan SUN Microsystems. (jeni.or.id).
       
      Download: https://mega.nz/#!b9YmEaRA!AhPSM8ukq2DMLrHC_JYc_BDm4aepvPejqLexNDj9Oc0
    • Oleh c0d1ng
      Ingin tahu bahasa pemrograman yang paling banyak digunakan di dunia? Untuk mengukur secara tepat memang sulit. Tetapi TIOBE Index memberikan index dari gambaran banyaknya programmer, pelatihan dan pihak ketiga dengan menggunakan algoritma perhitungan berdasarkan pencarian dari Google, MSN, Yahoo dan YouTube.
       
      Index tersebut dapat digunakan untuk mengecek apakah bahasa pemrograman yang kita gunakan masih up to date atau untuk membuat keputusan yang strategis tentang bahasa pemrograman apa yang akan digunakan untuk membangun sebuah sistem software baru.
       

       
      Grafik perkembangan index popularitas 10 besar bahasa pemrograman :
       

       
      Hasil diatas bukan semata-mata jumlah dari satu jenis program/kompiler. Misalnya untuk Visual Basic, merupakan gabungan dari Basic, VB.NET, Visual Basic.NET, Visual Basic .NET, Visual Basic 2005, VB 2005, Visual Basic 2003, VB 2003, Visual Basic 2002, VB 2002, VB. Untuk lebih jelasnya silahkan melihat metode yang digunakan TIOBE.
    • Oleh anon
      Bahasa pemrograman (programming language) adalah kemampuan dasar yang wajib dimiliki oleh seorang hacker atau seseorang yang ingin menjadi hacker. Bahasa pemrograman merupakan alat utama yang digunakan seorang hacker untuk menyelesaikan permasalahan. Mempelajari bahasa pemrograman akan membuat seseorang mengerti bagaimana sebenarnya suatu perangkat lunak bekerja. Ini adalah modal penting untuk memahami sistem komputer yang lebih luas seperti cara kerja sistem operasi. Lalu apa saja bahasa pemrograman yang sebaiknya dikuasai oleh seorang hacker?
       

      Bahasa pemrograman
       
      1. Python
       
      Python diciptakan oleh seorang hacker bernama Guido van Rossum. Konon Python sangat banyak digunakan di berbagai produk Google sehingga mereka harus mempekerjakan Guido van Rossum secara eksklusif. Bahasa pemrogaman ini terbilang cukup mudah untuk dipelajari. Sangat cocok untuk pemula yang belum punya pengalaman dalam dunia pemrograman. Python dilengkapi dengan dokumentasi yang terstruktur dan sangat lengkap. Dukungan dari komunitasnya yang sangat besar juga akan sangat banyak membantu. Untuk mengetahui lebih jauh tentang bahasa pemrograman Python, situs resminya bisa menjadi rujukan yang sangat baik.
       
      2. C/C++
       
      Bahasa C adalah bahasa utama yang digunakan untuk menyusun Unix, BSD, dan Linux. Bahasa C dibuat oleh Dennis M Ritchie yang termasuk dalam daftar 6 hacker paling top di dunia. Bahasa C sangat efisien dalam pengelolaan resource komputer. Namun semua itu harus dilakukan secara manual sehingga sangat rentan menjadi bug.Bahasa ini termasuk dalam kategori low level programming language. Sangat cocok dipelajari untuk mulai masuk ke dunia pemrograman yang lebih serius. Bahasa C++ merupakan pengembangan dari bahasa C dan sudah mendukung konsep Object Oriented Programming (OOP). Menguasai salah satu atau kedua bahasa ini akan menjadi modal yang sangat penting untuk seorang calon hacker.
       
      3. PERL
       
      PERL yang merupakan singkatan dari Practical Extraction and Reporting Language dibuat oleh seorang hacker bernama Larry Wall.Perl termasuk ke dalam kategori bahasa pemrograman berbasisscript sama seperti Python.Perl sangat banyak digunakan untuk kepentingan praktis untuk melakukan otomasi berbagai tugas administrasi sistem operasi.Selain itu, Perl juga banyak digunakan untuk pengembangan halaman web interaktif dalam bentuk CGI. Perl dilengkapi dengan puluhan hingga ratusan pustaka yang siap digunakan untuk pengembangan program untuk berbagai keperluan. Di situs resminya, kita dapat menemukan dokumentasi dan tutorial untuk pemula yang cukup lengkap.
       
      4. Java
       
      Java dibuat oleh salah satu dari 6 hacker top di dunia, James Gosling. Namanya terinspirasi dari kopi Jawa yang memiliki rasa dan aroma yang sangat nikmat dan khas. Java memiliki prinsip WORA (Write Once Run Everywhere). Secara prinsip, program yang disusun dengan bahasa Java memang dapat berjalan di berbagai platform sistem operasi dan prosesor tanpa melakukan perubahan kode sedikitpun. Java adalah bahasa pertama yang menerapkan konsep OOP murni. Bahasa ini kurang cocok untuk dipelajari seorang pemula yang baru mengenal bahasa pemrograman. Informasi lebih lanjut tentang Java dapat dicek di situs resminya.
       
      5. LISP
       
      Lisp merupakan salah satu bahasa pemrograman tingkat tinggi tertua selain Fortran. Awalnya Lisp ditulis oleh John McCarthy, namun saat ini pengembangannya dilakukan oleh Steve Russel, Timothy P. Hart, dan Mike Levin. Dalam perkembangannya ada banyak dialek Lisp yang muncul, dua yang paling populer adalah Common Lisp dan Scheme. Saat ini bahasa Lisp sangat banyak digunakan dalam riset kecerdasan buatan (Artificial Inteligence). Mempelajari Lisp akan memberikan cita rasa yang berbeda bagi seorang pemrogram. Cara terbaik untuk memulai mempelajari Lisp adalah dengan mengutak-atik mode editor Emacs atau plugin Script-Fu di GIMP.
  • Kontributor Populer

×

Important Information

Kami menggunakan cookie. Mereka tidak menakutkan, tetapi beberapa orang berpikir mereka. Terms of Use & Kebijakan Privasi