Cloud in a Bottle — bu ochiq manbali shaxsiy bulut: kontenerlashtirilgan ilovalar, birlashtirilgan avtorizatsiya va yaxshi foydalanuvchi tajribasi. Self-hosting shunchaki web ilovalarini ishlatishni smartphone ishlatish kabi his qilish kerak, sysadmin vazifasiga aylanmasligi lozim.
Nega bu muhim?
Bugungi kunda biz ishlatadigan dasturiy ta'minot bizning manfaatlarimizga mos kelmaydi. Ular odamlarni qoldiradi, reklama bilan to'ldirilgan, sizni kuzatadi va ma'lumotlaringizni sotadi. Dasturiy ta'minotni yaratish endi avvalgidan ham osonroq, lekin biz qanday qilib shu holatga kelganmiz? Men bu holatning asosiy sababi bulutga o'tish deb o'ylayman.
Bulutdan taqdim etiladigan dasturiy ta'minot (masalan, Google Docs vs Microsoft Word) ajoyib tajriba beradi — o'rnatish talab qilinmaydi, barcha qurilmalaringizda kirish mumkin, darhol ulashish va hamkorlik imkoniyati mavjud. Lekin bulutda narsani taqdim etish pul talab qiladi va shuning uchun zamonaviy vebda deyarli barcha narsaga kompaniya ega. Bu esa ochiq manbali dasturiy ta'minot mualliflariga dunyoga bepul dasturiy ta'minotlarini taqdim etish uchun pul to'lashni istamaydi.
Bulutdan oldin, ochiq manbali dasturiy ta'minot ishlagan — mualliflar dasturiy ta'minotlarni tarqatgan va har bir kishi uni o'z PCsida ishga tushirgan. Bugungi kunda bulut dasturiy ta'minoti markazlashtirilgan boʻlib, dunyoni xizmat qiladigan dasturiy ta'minotning bir nusxasi mavjud va xarajatlar yaratuvchiga tushadi. Bu shunday bo'lishi sababi, odamlar o'zlari uchun dasturiy ta'minotni bulutga joylashtirish uchun oson usulga ega emas.
Hozirgi self-hosting yechimlarining muammolari
Self-hosting allaqachon mavjud, lekin bu tor va yaqinlashib bo'lmaydi. Men mavjud yechimlarni ko'rib chiqdim, lekin hech biri men uchun to'g'ri bo'lmadi:
- sandstorm.io: ruhiy jihatdan juda yaqin (ularning 2014-yildagi maqolasi men bu yerda aytayotgan argumentni asosan takrorlaydi), lekin, ahvoli yomon, uzoq vaqt tashlab ketilgan. Bundan tashqari, ularning platformasida ishlash uchun mavjud dasturiy ta'minotlarga katta o'zgarishlar talab qilinadi.
- nextcloud: sekin va ishonchsiz, hozirgi kunda asosan korxonalarga mo'ljallangan
- yunohost: ilovalar hostda to'g'ridan-to'g'ri ishlaydi, sandboxing yo'q. Bir xavfsiz bo'lmagan ilova butun serverni xavf ostiga qo'yadi.
- coolify: kontenerlashtirilgan ilovalarni hostlaydi, lekin har bir ilova o'zining alohida kirishini va host yoki boshqa ilovalar bilan kam integratsiyani o'z ichiga oladi.
Cloud in a Bottle: yangi yondashuv
Biz Cloud in a Bottle ni yaratdik, bu muammo bilan yana bir bor kurashish uchun. Asosi, bu faqat Ubuntu mashinasi bilan web-server boʻlib, dashboardni hostlaydi va HTTP(s) so'rovlarini kontenerlashtirilgan ilovalarga yo'naltiradi. Ilovalar (rootless, qattiqlashtirilgan) kontenerlar boʻlib, minimal o'zgarishlar bilan mavjud dasturiy ta'minotni ishlatish mumkin — va ishonchli sandboxda. Lekin faqat kontenerlarni hostlash (masalan, coolify) dan tashqari, ilovalar foydalanuvchi tajribasini yaxshilash uchun foydalanishlari mumkin boʻlgan turli xil platforma xususiyatlari mavjud.
Biz uni sizning "bulut smartphone"ingiz kabi his qilishni xohlaymiz — bu sizning mulkidagi narsa, ajoyib ilovalarni topish va o'rnatish oson, va foydalanuvchi tajribasi yopiq manbali mahsulotlarni almashtirishga harakat qilayotgan mahsulotlar kabi yaxshi. Misol uchun, agar siz o'z instansiyangizga kirgan bo'lsangiz, siz avtomatik ravishda barcha ilovalaringizga kirgan bo'lsiz — har bir ilovada alohida hisoblar yo'q. Bundan tashqari, instansiyangizdagi turli ilovalar o'rtasida ruxsat etilgan ma'lumotlar va imkoniyatlarga kirish uchun interfeys mavjud.
U ochiq manba, self-hostable, nol telemetriya va mumkin bo'lgan eng oddiy va "jodugarlar bo'lmagan" bo'lishga intiladi. Biz (Imbue, men ishlaydigan kompaniya) shuningdek, boshqariladigan versiyani taklif qilamiz, bu esa bu yechimni kengroq qabul qilish uchun juda muhim — va bizga loyihani qo'llab-quvvatlash uchun oddiy biznes modelini beradi. Lekin ochiq manba/self-hosted yo'lida faqat shu kodni ishlatadi va har doim birinchi darajali bo'lishi kerak.
Loyihaning hozirgi holati
Biz 6+ oy davomida shaxsiy ravishda yaratib va sinab ko'rib, asosan barqaror bo'lgan asosiy platformani ishga tushirish uchun hozir chiqishni rejalashtirmoqdamiz. Men o'zimning digital hayotimni o'z Bottle instansiyamga asta-sekin ko'chirib, bu ajoyib his qildi. Shunga qaramay, tuxum va tovuq muammosi mavjud — ochiq manbali veb dasturiy ta'minot uchun keng qabul qilinadigan usul bo'lmasa, bunday dasturiy ta'minot uchun auditoriya kichik va mavjud dasturiy ta'minot cheklangan.
Bizning asosiy maqsadimiz — ajoyib ochiq manbali veb dasturiy ta'minot yaratilishini tezlashtirishdir — bu do'stlarimiz va ota-onamizga tavsiya qiladigan narsalar, faqat boshqa dasturiy ta'minot nerdlariga emas. Bizning tanlangan ilova katalogimiz bu yo'nalishda bir qadamdir — biz ajoyib foydalanuvchi tajribasini taqdim etadigan narsalarni faqat qo'shishni maqsad qilamiz, shuning uchun hozircha juda kichik. Lekin har hafta narsalarni qo'shmoqdamiz — va biz jamoaning yordami bilan tezroq o'sishni umid qilamiz.
Hozirgi kunda erta foydalanuvchilar ilovalarni topish/yaratish/moslashish uchun bir oz texnik bilimga ega bo'lishi kerak bo'lishi mumkin (bu juda oson!). Vaqt o'tishi bilan katalog chuqurlashib boradi va biz tajribani yanada yumshoqroq qilishga harakat qilamiz, bu esa uni barcha odamlar uchun kengroq qabul qilinadigan qilishimizni umid qilamiz.
Qanday sinab ko'rish mumkin?
- Boshqariladigan instansiyani bepul sinab ko'ring ($10 kredit)
- Cloud VPS-da self-hosting
- O'z qurilmasida o'rnatish (VM yoki bare metal)
- GitHubda kodni ko'ring
- Biz bilan Matrixda suhbatlashing
Asl manba: cloudinabottle.org