{"id":1620,"date":"2025-03-11T08:14:26","date_gmt":"2025-03-11T01:14:26","guid":{"rendered":"https:\/\/www.linuxid.net\/istilah\/?p=1620"},"modified":"2025-03-11T08:14:26","modified_gmt":"2025-03-11T01:14:26","slug":"12-factor-app","status":"publish","type":"post","link":"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/","title":{"rendered":"12-factor app"},"content":{"rendered":"<h2>Apa Itu 12-Factor App?<\/h2>\n<p>12-Factor App adalah metodologi untuk membangun <a href=\"https:\/\/www.linuxid.net\/istilah\/distributed-applications-distributed-apps\/\">aplikasi terdistribusi<\/a> yang berjalan di cloud dan disediakan sebagai layanan. Pendekatan ini dikembangkan oleh Adam Wiggins, salah satu pendiri Heroku, sebuah platform as a service (PaaS) yang kini menjadi bagian dari Salesforce. Tujuan Wiggins adalah merangkum praktik terbaik dalam penerapan aplikasi di Heroku dan menyediakan kerangka kerja bagi pengembang yang baru mengenal cloud untuk memahami tantangan dalam membangun <a href=\"https:\/\/www.linuxid.net\/istilah\/native-cloud-application-NCA\/\">aplikasi cloud-native<\/a>.<\/p>\n<p>Meskipun beberapa faktor mungkin sudah jelas bagi pengembang saat ini, minat dalam membangun aplikasi yang mengikuti praktik terbaik umum terus meningkat seiring berkembangnya <a href=\"https:\/\/www.linuxid.net\/istilah\/microservices\/\">arsitektur microservices<\/a> dan aplikasi yang terdiri dari layanan web <a href=\"https:\/\/www.linuxid.net\/istilah\/loose-coupling\/\">loosely coupled<\/a>.<\/p>\n<h2>12 Faktor dalam 12-Factor App<\/h2>\n<p>Metodologi ini mencakup 12 faktor yang harus diperhatikan oleh pengembang saat membangun aplikasi cloud-native. Berikut adalah 12 faktor tersebut:<\/p>\n<h3>1. Codebase<\/h3>\n<p>Gunakan satu <a href=\"https:\/\/www.linuxid.net\/istilah\/codebase-code-base\/\">codebase<\/a> meskipun membangun aplikasi lintas platform. Gunakan sistem kontrol versi untuk menangani kebutuhan spesifik perangkat.<\/p>\n<h3>2. Dependencies<\/h3>\n<p>Deklarasikan dan isolasi semua dependensi secara eksplisit.<\/p>\n<h3>3. Configuration<\/h3>\n<p>Jangan menyimpan konfigurasi sebagai konstanta dalam kode. Sebagai gantinya, rancang aplikasi agar membaca konfigurasi dari lingkungan (environment).<\/p>\n<h3>4. Backing Services<\/h3>\n<p>Perlakukan layanan back-end sebagai sumber daya yang dapat diakses melalui URL atau locator lain yang disimpan dalam konfigurasi.<\/p>\n<h3>5. Build, Release, Run<\/h3>\n<p>Pisahkan tahap build dan run secara ketat.<\/p>\n<h3>6. Processes<\/h3>\n<p>Jalankan aplikasi sebagai satu atau lebih proses stateless. Data yang harus bersifat persisten harus disimpan dalam layanan backing yang stateful.<\/p>\n<h3>7. Port Binding<\/h3>\n<p>Gunakan port binding untuk mengekspor layanan.<\/p>\n<h3>8. Concurrency<\/h3>\n<p>Gunakan metode scale-out (horizontal scaling) daripada scale-up (vertical scaling).<\/p>\n<h3>9. Disposability<\/h3>\n<p>Gunakan proses startup yang cepat dan shutdown yang elegan untuk memaksimalkan ketahanan aplikasi.<\/p>\n<h3>10. Parity<\/h3>\n<p>Permudah <a href=\"https:\/\/www.linuxid.net\/istilah\/continuous-deployment\/\">continuous deployment<\/a> dengan memastikan bahwa lingkungan pengembangan, staging, dan produksi memiliki kemiripan sebanyak mungkin.<\/p>\n<h3>11. Logs<\/h3>\n<p>Perlakukan log sebagai aliran event. Log tidak boleh menangani penyimpanan atau pengiriman output aplikasi.<\/p>\n<h3>12. Admin Processes<\/h3>\n<p>Jalankan tugas administratif sebagai proses satu kali (one-off process) dari mesin dalam lingkungan produksi yang menjalankan kode produksi terbaru.<\/p>\n<h2>Keuntungan 12-Factor App<\/h2>\n<p>Tujuan dari kerangka kerja 12-Factor adalah membantu pengembang membangun aplikasi dengan arsitektur yang memastikan kecepatan, keandalan, kelincahan, dan portabilitas serta menghasilkan aplikasi yang tangguh dan andal.<\/p>\n<p>Ketika pengembang menerapkan metodologi <a href=\"https:\/\/www.linuxid.net\/istilah\/DevOps\/\">DevOps<\/a> berbasis 12-Factor App, aplikasi yang dihasilkan akan memiliki karakteristik yang seragam untuk menghadapi berbagai skenario saat aplikasi mengalami skala yang lebih besar. Misalnya, metodologi ini merekomendasikan penggunaan format deklaratif untuk otomatisasi setup guna mempermudah pengembang baru dalam memahami proyek.<\/p>\n<p>Aplikasi juga harus dirancang agar memiliki portabilitas maksimum antara berbagai lingkungan eksekusi dan dapat diskalakan dengan mudah tanpa perlu perubahan signifikan. Aplikasi 12-Factor dapat ditulis dalam bahasa pemrograman apa pun dan digunakan bersama layanan back-end apa pun, termasuk basis data.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apa Itu 12-Factor App? 12-Factor App adalah metodologi untuk membangun aplikasi terdistribusi yang berjalan di cloud dan disediakan sebagai layanan. Pendekatan ini dikembangkan oleh Adam Wiggins, salah satu pendiri Heroku, sebuah platform as a service (PaaS) yang kini menjadi bagian dari Salesforce. Tujuan Wiggins adalah merangkum praktik terbaik dalam penerapan aplikasi di Heroku dan menyediakan [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[84],"class_list":["post-1620","post","type-post","status-publish","format-standard","hentry","category-business-software","tag-software-design-and-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Apa itu 12-factor app? - Istilah Komputer<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apa itu 12-factor app? - Istilah Komputer\" \/>\n<meta property=\"og:description\" content=\"Apa Itu 12-Factor App? 12-Factor App adalah metodologi untuk membangun aplikasi terdistribusi yang berjalan di cloud dan disediakan sebagai layanan. Pendekatan ini dikembangkan oleh Adam Wiggins, salah satu pendiri Heroku, sebuah platform as a service (PaaS) yang kini menjadi bagian dari Salesforce. Tujuan Wiggins adalah merangkum praktik terbaik dalam penerapan aplikasi di Heroku dan menyediakan [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/\" \/>\n<meta property=\"og:site_name\" content=\"Istilah Komputer\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-11T01:14:26+00:00\" \/>\n<meta name=\"author\" content=\"adhit\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"adhit\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/\",\"url\":\"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/\",\"name\":\"Apa itu 12-factor app? - Istilah Komputer\",\"isPartOf\":{\"@id\":\"https:\/\/linuxid.net\/istilah\/#website\"},\"datePublished\":\"2025-03-11T01:14:26+00:00\",\"author\":{\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/linuxid.net\/istilah\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"12-factor app\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#website\",\"url\":\"https:\/\/linuxid.net\/istilah\/\",\"name\":\"Istilah Komputer\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/linuxid.net\/istilah\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d\",\"name\":\"adhit\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1777798301\",\"contentUrl\":\"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1777798301\",\"caption\":\"adhit\"},\"sameAs\":[\"https:\/\/linuxid.net\/istilah\"],\"url\":\"https:\/\/www.linuxid.net\/istilah\/author\/xsandradietsax\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apa itu 12-factor app? - Istilah Komputer","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/","og_locale":"id_ID","og_type":"article","og_title":"Apa itu 12-factor app? - Istilah Komputer","og_description":"Apa Itu 12-Factor App? 12-Factor App adalah metodologi untuk membangun aplikasi terdistribusi yang berjalan di cloud dan disediakan sebagai layanan. Pendekatan ini dikembangkan oleh Adam Wiggins, salah satu pendiri Heroku, sebuah platform as a service (PaaS) yang kini menjadi bagian dari Salesforce. Tujuan Wiggins adalah merangkum praktik terbaik dalam penerapan aplikasi di Heroku dan menyediakan [&hellip;]","og_url":"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/","og_site_name":"Istilah Komputer","article_published_time":"2025-03-11T01:14:26+00:00","author":"adhit","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"adhit","Estimasi waktu membaca":"2 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/","url":"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/","name":"Apa itu 12-factor app? - Istilah Komputer","isPartOf":{"@id":"https:\/\/linuxid.net\/istilah\/#website"},"datePublished":"2025-03-11T01:14:26+00:00","author":{"@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d"},"breadcrumb":{"@id":"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.linuxid.net\/istilah\/12-factor-app\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.linuxid.net\/istilah\/12-factor-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/linuxid.net\/istilah\/"},{"@type":"ListItem","position":2,"name":"12-factor app"}]},{"@type":"WebSite","@id":"https:\/\/linuxid.net\/istilah\/#website","url":"https:\/\/linuxid.net\/istilah\/","name":"Istilah Komputer","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/linuxid.net\/istilah\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d","name":"adhit","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/image\/","url":"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1777798301","contentUrl":"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1777798301","caption":"adhit"},"sameAs":["https:\/\/linuxid.net\/istilah"],"url":"https:\/\/www.linuxid.net\/istilah\/author\/xsandradietsax\/"}]}},"_links":{"self":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts\/1620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/comments?post=1620"}],"version-history":[{"count":0,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts\/1620\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/media?parent=1620"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/categories?post=1620"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/tags?post=1620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}