LAMP dan MEAN adalah tumpukan teknologi web sumber terbuka populer yang digunakan untuk mengembangkan aplikasi web dan mobile berkinerja tinggi untuk perusahaan. Seperti tumpukan teknologi web lainnya, LAMP dan MEAN menggabungkan teknologi (sistem operasi, bahasa pemrograman, basis data, pustaka, dan kerangka kerja) yang dapat digunakan pengembang untuk membuat, menerapkan, dan mengelola aplikasi web yang berfungsi penuh secara efisien dan andal melalui pengembangan tumpukan teknologi.
LAMP dan MEAN memberi para pengembang lapisan—atau “tumpukan” (stack)—teknologi yang berbeda yang dibutuhkan aplikasi web untuk berfungsi di semua antarmuka frontend, jaringan, dan aktivitas server backend. Misalnya, aplikasi perbankan berbasis web mungkin bergantung pada tumpukan teknologi LAMP atau tumpukan teknologi MEAN untuk menafsirkan permintaan pengguna untuk melihat aktivitas perbankan, mengambil data yang diperlukan, dan menampilkannya di antarmuka pengguna.
LAMP adalah singkatan dari tumpukan teknologi berikut:
Linux OS memungkinkan seluruh aplikasi web berfungsi dengan benar pada perangkat keras tertentu. Server web Apache menerjemahkan permintaan pengguna dan kemudian mengambil dan "menyajikan" informasi kembali ke pengguna melalui HTTP (Hypertext Transfer Protocol). Basis data MySQL (sistem manajemen basis data relasional) menyimpan data (misalnya, arsip laporan mutasi bank, aktivitas keuangan, file gambar, stylesheet CSS) yang dapat diambil dan disediakan oleh server web berdasarkan permintaan khusus dari pengguna. Bahasa pemrograman PHP bekerja dengan Apache untuk mengambil konten dinamis dari basis data MySQL dan menyajikannya kembali kepada pengguna. Meskipun HTML dapat menampilkan konten statis (misalnya, judul yang tetap ada di antarmuka terlepas dari data yang ditampilkan), konten dinamis yang berubah berdasarkan interaksi pengguna bergantung pada PHP. Bahasa pemrograman PERL dan Python juga dapat digunakan dalam tumpukan teknologi LAMP. Penulis Michael Kunze adalah orang pertama yang menggunakan singkatan tumpukan teknologi LAMP dalam sebuah artikel untuk majalah komputer Jerman yang diterbitkan pada tahun 1998.
Gambar 1: Bagaimana permintaan pengguna diproses di seluruh tumpukan teknologi LAMP.
MEAN adalah singkatan dari tumpukan teknologi berikut:
Kerangka kerja AngularJS memproses permintaan pengguna yang masuk. Node.js kemudian mengurai permintaan dan menerjemahkannya ke input yang dapat dipahami aplikasi web. Express.js menggunakan input yang diterjemahkan ini untuk menentukan panggilan apa yang harus dilakukan ke MongoDB, sebuah basis data NoSQL non-relasional. Setelah MongoDB memberikan informasi yang diperlukan, Express.js kemudian mengirim data kembali ke Node.js, yang pada gilirannya mengirimkannya ke kerangka kerja AngularJS sehingga dapat menampilkan informasi yang diminta di antarmuka pengguna.
Sementara kerangka kerja frontend AngularJS dapat diganti dengan yang lain seperti React.js, lingkungan Node.js sangat penting untuk tumpukan MEAN dan tidak dapat diganti. Ini karena Node.js memungkinkan pengembangan JavaScript keseluruhan lapisan, manfaat utama yang membuat pengembangan dan pengelolaan aplikasi dengan tumpukan MEAN menjadi sangat efisien. Ketika kerangka kerja AngularJS diganti dengan React.js, tumpukan disebut sebagai MERN. Akronim MEAN tumpukan pertama kali digunakan pada tahun 2013 oleh pengembang MongoDB Valeri Karpov.
Gambar 2 menunjukkan contoh tingkat tinggi tentang bagaimana aplikasi web merespons di seluruh tumpukan teknologi MEAN-nya untuk memenuhi permintaan pengguna akan informasi:
Gambar 2: Bagaimana aplikasi web merespons di seluruh tumpukan teknologi MEAN untuk memenuhi permintaan.
Berikut ini adalah beberapa manfaat menggunakan LAMP untuk membuat, menerapkan, dan mengelola aplikasi web:
Kekurangan penggunaan LAMP untuk membuat, menerapkan, dan mengelola aplikasi web meliputi:
Manfaat menggunakan MEAN untuk membuat, menerapkan, dan mengelola aplikasi web meliputi:
Berikut adalah beberapa kelemahan menggunakan MEAN untuk membuat, menerapkan, dan mengelola aplikasi web:
Pada dasarnya tidak ada tumpukan yang lebih baik dari tumpukan lain. Namun, tumpukan LAMP atau tumpukan MEAN mungkin lebih cocok untuk contoh penggunaan pengembangan web tertentu.
Tumpukan LAMP umumnya merupakan pilihan yang lebih baik untuk aplikasi web atau situs dengan karakteristik sebagai berikut:
Sebaliknya, tumpukan teknologi MEAN adalah pilihan yang lebih baik untuk aplikasi web atau situs seperti ini:
Pada dasarnya, tumpukan teknologi LAMP membawa Anda sedikit lebih dekat ke teknis penyajian halaman web dan bagaimana hal itu dilakukan. Anda memiliki basis data Anda, bahasa skrip Anda, dan cara untuk menyajikannya kepada klien—itulah LAMP.
Jika Anda ingin melihat betapa mudahnya mengembangkan dan menerapkan aplikasi ke cloud menggunakan tumpukan LAMP atau MEAN, IBM menawarkan tutorial berikut:
Bangun aplikasi cloud-native dan aplikasi Java yang siap AI lebih cepat dengan penggunaan memori yang rendah dan startup yang cepat.
Bebaskan inovasi dan berdayakan tim Anda untuk memodernisasi aplikasi yang ada dengan cepat dan memberikan layanan cloud native baru.
Pengembangan aplikasi cloud berarti membangun sekali, melakukan iterasi dengan cepat, dan diterapkan di mana saja.