Purple Cloud Brain AI memanfaatkan optimisasi AI untuk masalah kinerja Odoo, menawarkan optimisasi basis data secara programatik dan optimisasi sistem untuk meningkatkan kinerja kustomisasi Odoo dan kinerja modul Odoo di Platform Hosting Purple Cloud.
Sementara Odoo terus menguasai lebih banyak pangsa pasar setiap tahun, jumlah penginstalan dan volume data harian yang dikelolanya terus meningkat dengan kecepatan yang sangat mengejutkan. Sementara itu, banyak pengguna, pengembang, dan mitra Odoo menghadapi semakin banyak masalah kinerja, dengan kasus yang berkisar dari ketidaknyamanan atau keterlambatan biasa hingga perilaku yang tidak dapat diterima yang mencegah implementasi untuk memenuhi tujuan awal mereka.
Hasilnya selalu sama: Frustrasi pengguna, tekanan pada tim IT untuk menemukan solusi secara darurat, dan refactoring kode yang mahal.
Di Portcities, kami menyadari beberapa tahun yang lalu bahwa teknologi AI baru telah mencapai tingkat kematangan yang diperlukan untuk menangani masalah kinerja ini secara programatik. Dengan demikian, proyek. PurpleCloud Brain diluncurkan.
Ini adalah ceritanya.
MASALAH KINERJA ODOO
Kualitas utama Odoo juga berkontribusi pada keruntuhannya ketika datang untuk menstandarkan perbaikan kinerja dan keseluruhan kemampuan pemeliharaan dalam jangka panjang:
Manfaat | Tantangan | |
Modularitas: Aplikasi dan modul Odoo yang ditawarkan sangat banyak | Anda dapat merancang dan menerapkan DB Odoo untuk hampir semua kasus bisnis | Penerapan berbagai Aplikasi dan modul yang disesuaikan menunjukkan bahwa sistem Anda unik dan memerlukan pendekatan yang dipersonalisasi dalam analisis kinerja dan pemecahan masalah |
Adaptabilitas: Banyak pengaturan tersedia per Aplikasi dan modul sebagai standar | Ini memungkinkan untuk menyesuaikan pengalaman pengguna, SOP, alur, dan keluaran bahkan lebih | Penerapan dan struktur data/relasi akan lebih disesuaikan, yang memerlukan pendekatan yang sepenuhnya didedikasikan dan disesuaikan terhadap masalah kinerja |
Kecepatan rilis: Odoo SA merilis satu versi Odoo baru per tahun untuk Odoo Community dan Enterprise | Produk ini berkembang sangat cepat dan menawarkan fitur yang semakin lengkap dari awal | Setiap versi memiliki logika berbeda, struktur basis data yang berbeda, dan oleh karena itu memerlukan analisis spesifik dan pemecahan masalah per versi |
Pada tahap ini, kami bahkan tidak menyebutkan konsekuensi langsung dari tantangan yang disebutkan di atas, di antaranya Anda dapat dengan mudah membuat daftar pendek sebagai berikut:
- Tabel yang menerima sebagian besar beban Odoo ERP dalam hal volume data akan sepenuhnya tergantung pada modul yang diinstal dan jenis bisnis yang dijalankan klien.
- Odoo tidak mengizinkan penghapusan data. Ini berarti bahwa pengguna terus menambah dan basis data serta penyimpanan file terus tumbuh seiring berjalannya bulan dan tahun.
- Semakin banyak modul, semakin banyak saling ketergantungan antar modul dan semakin banyak kendala antar tabel serta akses yang dibatasi python yang memperumit panggilan dan meningkatkan tekanan pada kedua Pekerja Python dan database PostgreSQL.
- Semakin banyak pengguna, semakin banyak tekanan, karena lebih banyak orang perlu menggunakan lebih banyak data secara bersamaan.
- API dan otomasi akan berkontribusi pada memburuknya performa karena laju akses dan volume data yang harus diproses per panggilan bisa sangat menantang juga.
Untuk mengatakannya dengan baik, dan setelah lebih dari satu dekade menyelesaikan masalah performa di semua versi Odoo sejak 'Open-ERP 7.0', saya akan mengatakan bahwa setiap implementasi Odoo yang diluncurkan pasti akan memerlukan optimasi performa sooner or later. Meskipun akurat untuk mengatakan bahwa penerapan yang sangat kecil dengan volume data rendah hampir tidak akan terpengaruh setelah satu dekade penggunaan, saya telah menyaksikan penerapan besar yang hampir tidak dapat digunakan kurang dari 6 bulan setelah Go-live mereka.
TANTANGAN TELAH DICAIRKAN
Dan belum lagi karena Odoo adalah kumpulan teknologi open-source pihak ketiga yang disusun, menyelesaikan masalah performa umumnya memerlukan pengetahuan yang luas mencakup spesialisasi berikut:
- Infrastruktur: Semua sistem, penyebaran yang khusus, platform Cloud, instansi, dan layanan berperilaku dengan cara yang sangat berbeda dan saya telah melihat perusahaan menghabiskan banyak uang untuk server bare metal atau biaya Hosting bulanan sementara tidak ada satupun dari itu yang masuk akal jika dibandingkan dengan jumlah pengguna dan operasi yang terlibat.
- DevOps: Cara CPU, memori, dan I/O Penyimpanan dikonsumsi adalah hal yang mendasar dan sering diabaikan atau hanya diabaikan sementara beberapa penyebab utama dari kinerja terkadang muncul dari mode virtualisasi yang salah, atau pengaturan kernel yang salah atau alokasi CPU atau penggunaan memori dll...dll...
- Pengkodean Odoo Python: Sebagian besar kode yang ada di toko Aplikasi Odoo atau yang ditulis oleh pengembang Odoo standar difokuskan pada aspek fungsional. Sangat sedikit yang diuji ketahanannya atau bahkan dinilai dengan benar ketika harus mengukur dampak potensial mereka pada sistem produksi menengah hingga besar. Begitu tidak ada kesalahan dalam log dan pengguna akhir telah memvalidasi demo / tes / UAT telah dilalui, modul-modul tersebut dimasukkan ke dalam produksi. Masalah kinerja akan muncul kemudian. Kebenarannya adalah: menulis modul yang sama dengan pendekatan yang fokus pada kinerja membutuhkan lebih banyak keahlian karena membutuhkan pemahaman penuh tentang apa yang sebenarnya dilakukan Odoo ORM secara asinkron dengan basis data dan penyimpanan file yang dioperasikannya dan bagaimana pekerja Python mengonsumsi kode tersebut.
- Pengetahuan PostgreSQL: PostgreSQL adalah entitas yang sangat mengesankan yang kemampuannya sebanding dengan kompleksitasnya. Ada ratusan cara untuk menyetelnya dan ratusan pengaturan yang memerlukan perhatian khusus; tetapi sebagian besar sistem produksi yang saya temui diterapkan pada instalasi umum dari paket komunitas atau menggunakan penawaran standar AWS atau GCP dan Azure yang berkinerja buruk karena diterapkan dengan pengaturan umum standar mereka.
Jadi, di sini kami berada, membutuhkan analisis sistematis yang didedikasikan yang menggabungkan infrastruktur penuh dan keahlian full-stack: Tantangan telah dilemparkan. Namun daripada membiarkan manusia mengambilnya dan menghabiskan ratusan jam tagihan untuk memperbaiki penerapan satu per satu, di Portcities, kami telah memutuskan untuk memanfaatkan AI dengan mengajarinya semua yang perlu diketahui agar dapat melakukan dalam beberapa menit apa yang tidak akan dibayangkan oleh insinyur terbaik dalam tim kami untuk dilakukan dalam beberapa minggu.
CHAT GPT: TANTANGAN MEMBANGUN KECERDASAN
Ketika kami pertama kali mulai bermain dengan ChatGPT, kami cepat menyadari bahwa meskipun AI mampu melakukan keajaiban menjelaskan dan memecahkan topik standar, ia sangat kurang ketika kami mulai memberikan tugas yang lebih kompleks.
Sementara hasilnya sama sekali tidak memuaskan, upaya yang dilakukan berurutan datang dengan biaya tinggi: lebih banyak penalaran, lebih banyak jawaban buruk, lebih banyak alasan, lebih banyak pengulangan, dll.
Kami menjadi bodoh dan melakukannya dalam lingkaran.
Kami dengan cepat belajar dari kesalahan kami dan menyadari bahwa satu-satunya cara untuk memanfaatkan efisiensi AI adalah menerapkan aturan berikut:
- Bangun model AI yang tahan banting termasuk aliran pengaturan yang sudah ditentukan untuk memberikan 'struktur penalaran' yang memadai di awal dan mengendalikan setiap penyimpangan yang tidak berguna dan sia-sia.
- Tingkatkan penyiapan AI dengan sintaks yang konsisten agar menghindari "kesalahpahaman" yang umum yang mengarah pada salah tafsir dan rekomendasi yang tidak berarti.
- Tingkatkan pengetahuan AI dengan menunjukkan kode, contoh, dan publikasi yang relevan yang meningkatkan praktik terbaik.
- Sediakan kasus penggunaan AI yang dihadapi dengan setiap analisis dan sesi pemecahan masalah. Setiap basis data menghadirkan kasus dan tantangan baru yang tidak terduga. Memanfaatkan ini adalah kesempatan luar biasa untuk belajar dan meningkatkan metode deteksi pola yang relevansinya akan sistematis mengenai sasaran saat memberikan rekomendasi terbaik.
Kami bermain dengan banyak AI berbeda sebelum mencapai kesimpulan bahwa semuanya memerlukan pendekatan yang sama yang dipandu oleh prinsip-prinsip dasar yang sama. Pada akhirnya, ini bukan tentang anjingnya, tetapi bagaimana Anda mengajari anjing itu.
MENGUMPULKAN HADIAH
Akhirnya, setelah berbulan-bulan RnD dan pengujian yang mendalam, inilah dia: BRAIN 0.1 dilahirkan.
Kami memutuskan untuk menjalankannya pada implementasi Odoo 16 besar yang terpengaruh oleh masalah kinerja sedang sampai parah pada basis data yang berisi sekitar 2 tahun data operasional. Berikut adalah hasilnya secara singkat:
Peningkatan Kinerja Umum
BRAIN AI membandingkan waktu respons rata-rata dari backend Odoo sebelum dan setelah optimasi dan mengukur bahwa waktu eksekusi rata-rata telah menyusut dari 1184 ms menjadi 293 ms setelah mengonfirmasinya dengan log. Ini pada dasarnya berarti bahwa kecepatan meningkat dengan rasio X4.
Penilaian perbaikan kinerja per fungsionalitas / modul
📒 Akuntansi & Keuangan
Modul: akun, laporan_akun, akuntan_akun, l10n_*
Perbaikan: Daftar faktur, rekonsiliasi, laporan keuangan, kinerja dasbor.
👥 HR & Payroll
Modul: hr, hr_expense, hr_payroll, hr_holidays, hr_attendance
Perbaikan: Akses catatan karyawan yang lebih cepat, pelacakan pengeluaran, dan pembuatan slip gaji.
🛒 Penjualan & CRM
Modul: sale, crm, kontak
Perbaikan: Responsivitas pencarian pelanggan, kutipan, dan daftar pesanan.
📦 Inventaris & Pembelian
Modul: stok, pembelian, produk
Perbaikan: Pencarian produk, operasi transfer, navigasi pesanan pembelian.
🌐 Situs web, Portal & Pemasaran
Modul: situs web, portal, email
Perbaikan: Pencarian portal, pemuatan situs web, kinerja obrolan/pesan.
🔐 Kontrol Akses & Sistem
Modul: dasar, web, pengaturan
Perbaikan: Pemuatan UI lebih cepat, pemeriksaan izin, evaluasi aturan akses.
🛠️ Pekerjaan Teknis / Latar Belakang
Modul: base_automation, queue_job, bus
Perbaikan: Pekerjaan Cron, antrian asinkron, akses log/acara.
Ringkasan perbaikan kinerja
Tindakan dan hasil
Untuk menyimpulkannya:
- Siklus eksekusi 22 menit.
- 12 tindakan yang dilaksanakan di tingkat infrastruktur
- 680 tindakan yang dilaksanakan di Tingkat Basis Data
- 23 pengaturan basis data yang dimodifikasi
- 3 pengaturan konfigurasi odoo yang diubah
- 16 rekomendasi pemrograman dan infrastruktur untuk perbaikan lebih lanjut
- Produksi laporan rinci yang komprehensif lengkap berisi 460 halaman yang merinci perubahan.
Ini adalah contoh yang solid meskipun kami baru saja mendapatkan, saat saya menulis artikel ini, kemenangan lain pada penyebaran besar dengan peningkatan kecepatan yang mencengangkan 17.5 X mengalihkan narasi Odoo dari "Kami hampir menyerah" menjadi "Kami akan memperluas penyebaran ini dan menggunakannya sebagai jaringan utama baru kami".
Dan meskipun, sebagai CTO kelompok dan penggagas Brain, saya masih belum puas dengan kecerdasan "pro-aktif"-nya. Ia perlu belajar lebih banyak dan "mengalami" lebih banyak data. Penilaian yang jujur pada titik ini adalah untuk mengatakan bahwa ia melakukan dan memperbaiki sekitar 30 hingga 40% dari apa yang kita inginkan agar ia kompeten dalam jangka panjang. Memang, "latihan membuat sempurna," seperti yang mereka katakan.
LEBIH TENTANG ROADMAP PRODUK
Mengingat hasil harian yang kami dapatkan dengan Brain, kami kini sepenuhnya yakin bahwa melibatkan AI dalam proses optimasi adalah keputusan yang tepat. BRAIN AI akan segera tersedia untuk semua penyebaran yang dihosting di platform hosting PurpleCloud kami dan akan menjadi aset utama bagi klien berukuran menengah hingga besar yang memerlukan SLA yang sempurna dan pengalaman pengguna yang berkualitas..
Sementara itu, karena masalah kinerja adalah masalah yang berkembang sepanjang siklus hidup penyebaran dan peningkatan Odoo, kami sekarang beralih untuk tidak hanya memungkinkan penggunaan "one-shot" yang tepat waktu dari brain di setiap penyebaran, tetapi juga mengintegrasikan BRAIN AI sebagai layanan permanen yang berfungsi sangat mirip dengan agen yang fungsinya adalah "versi yang ditingkatkan" dari pemeriksaan kesehatan yang:
- Memantau, mendeteksi masalah dan keterlambatan secara real-time.
- Mengimplementasikan langkah-langkah penanggulangan secara dinamis.
- Melaporkan secara otomatis tentang perilaku pengguna, masalah, dan solusi.
- Memberikan rekomendasi
Temukan kinerja Odoo yang tiada tara – Kontak kami untuk mengetahui Platform PurpleCloud yang diprakasai oleh Brain AI sekarang juga!