4 पॉइंट द्वारा GN⁺ 2024-06-10 | 1 टिप्पणियां | WhatsApp पर शेयर करें

डेमो

दस्तावेज़: इंस्टॉलेशन | उपयोग विधि | Procfile | ENV | उदाहरण | रोडमैप | योगदान | LinuxConf प्रस्तुति | त्वरित वेब ऐप ट्यूटोरियल | चर्चा फ़ोरम

इंस्टॉलेशन

  • सरल इंस्टॉलेशन: curl https://piku.github.io/get | sh
  • अन्य इंस्टॉलेशन तरीके: cloud-init और मैनुअल इंस्टॉलेशन के तरीके भी उपलब्ध हैं.

प्रोजेक्ट गतिविधि

  • स्थिरता: piku स्थिर है. नए language runtime जोड़ने या bug fix होने पर इसे अपडेट किया जाता है.
  • Python आवश्यकताएँ: Python 3.7 या उससे ऊपर आवश्यक है.

प्रेरणा

  • piku को ARM बोर्ड पर Heroku/CloudFoundry जैसी deployment शैली पाने के लिए विकसित किया गया.
  • dokku के ARM पर काम न करने के कारण एक अधिक सरल समाधान की ज़रूरत थी.
  • piku ARM और Intel architecture पर कई applications को deploy, manage और स्वतंत्र रूप से scale कर सकता है.

वर्कफ़्लो

  • Heroku जैसा वर्कफ़्लो:
    • git SSH remote repository बनाना: git remote add piku piku@yourserver:appname
    • कोड push करना: git push piku master
    • piku runtime तय करता है और dependencies install करता है
    • Procfile देखकर संबंधित workers शुरू करता है
    • remotely application settings बदलना और worker process scale करना संभव है
    • ENV फ़ाइल में application और nginx configuration शामिल किए जा सकते हैं
    • gh-pages शैली में static site deployment संभव है

virtual host और SSL

  • virtual host समर्थन: एक ही VPS पर कई apps host किए जा सकते हैं
  • SSL सेटअप: Let's Encrypt के माध्यम से SSL certificate सेट किए जा सकते हैं

caching और static path

  • static site समर्थन: विशेष URL prefix को सीधे file system path से map किया जा सकता है
  • caching: backend response को cache किया जा सकता है

समर्थित प्लेटफ़ॉर्म

  • POSIX environment: Python, nginx, uwsgi, और SSH वाले POSIX environment में काम करता है
  • मुख्य उपयोग: cloud server पर micro PaaS के रूप में उपयोग

समर्थित runtime

  • समर्थित भाषाएँ: Python, Node, Clojure, Java आदि
  • सामान्य नियम: अगर shell से call किया जा सकता है, तो piku में चलाया जा सकता है

मुख्य मूल्य

  • कम-संसाधन वाले डिवाइस पर चल सकता है
  • hobby users और K-12 स्कूलों के लिए सुलभ
  • लगभग 1500 पंक्तियों का आसानी से पढ़ा जा सकने वाला कोड
  • functional code style
  • single dependency
  • 12-factor app
  • user experience को सरल बनाना
  • सामान्य उपयोग मामलों के 80% को कवर करना
  • सभी फीचर्स के लिए उचित default प्रदान करना
  • Raspbian/Debian/Ubuntu के distribution packages का उपयोग
  • standard tools (git, ssh, uwsgi, nginx) का उपयोग
  • जहाँ संभव हो, backward compatibility बनाए रखना

GN⁺ की राय

  • आसान deployment: piku छोटे server पर भी आसान deployment देता है, इसलिए यह software engineers के लिए उपयोगी है.
  • कई भाषाओं का समर्थन: यह कई भाषाओं को support करता है, इसलिए अलग-अलग projects में लागू किया जा सकता है.
  • कम-संसाधन वाले डिवाइस का समर्थन: यह low-spec devices पर भी चल सकता है, इसलिए cost-effective है.
  • user experience: user experience को सरल बनाता है, इसलिए शुरुआती engineers भी इसे आसानी से उपयोग कर सकते हैं.
  • सुरक्षा: Let's Encrypt के माध्यम से SSL सेटअप करके सुरक्षा को बेहतर बनाया जा सकता है.

1 टिप्पणियां

 
GN⁺ 2024-06-10
Hacker News राय
  • piku webapp tutorial के लेखक: piku बहुत पसंद है। इन्होंने webapp tutorial लिखा है, और यह GitHub के आधिकारिक piku organization के हिस्से के रूप में repository में शामिल है। tutorial लिंक पर इसे देखा जा सकता है। यह piku कैसे काम करता है और user के नज़रिए से एक न्यूनतम Python webapp उदाहरण समझाता है.

  • piku को पहली बार देखने वाले user: piku के बारे में पहली बार पढ़ा। git push से deployment शुरू होने का अनुभव हमेशा जादुई लगा। इससे सरल कुछ नहीं.

  • Kubernetes project को open source करने वाले user: हाल ही में Kubernetes से जुड़ा एक project open source किया। यह piku जैसी ही श्रेणी का project है। project लिंक. बधाई दी और कहा कि यह शानदार दिखता है.

  • Dokku user: piku अच्छा लग रहा है। Dokku भी बहुत stable रहा है। लेकिन Docker dependency हटाने पर आप OS के चुनाव पर निर्भर हो जाते हैं। जो app बिना maintenance के कई साल चलना है, उसके लिए यह आदर्श नहीं है। किसी खास OS version की ज़रूरत पड़ सकती है.

  • Cloud Native Buildpacks (CNB) team member: यह git push deployment से सीधे जुड़ा नहीं है, लेकिन PaaS experience से संबंधित है। CNCF के Buildpacks को target करने वाला CNB preview में है। इसकी मदद से Heroku की git push logic जैसे build tool का उपयोग करके local में Docker image बनाई जा सकती है। Rails app build tutorial लिंक. feedback चाहा.

  • piku documentation update की सूचना: piku की नए सिरे से तैयार की गई documentation देखने की सलाह दी। documentation लिंक.

  • project के शुरुआती commit समय पर चकित user: यह जानकर हैरानी हुई कि शुरुआती commit 8 साल पहले का है। काश 18 महीने पहले इस project के बारे में पता चला होता। Raspberry Pi पर Heroku जैसा development experience देने का तरीका खोज रहे थे। piku ठीक वही करता हुआ लगता है.

  • git deployment tool नहीं है, इस पर ज़ोर देने वाले user: बार-बार कहा, "git deployment tool नहीं है".

  • ground-init का परिचय देने वाले: maintainer और सह-लेखक हैं। अगर आपको सरल और minimal deployment tool पसंद हैं, तो ground-init देखने की सलाह दी। यह cloud initialization के लिए एक व्यावहारिक approach देता है.

  • automatic deployment setup करने वाले user: app में एक magic URL जोड़ा, जिसे हर commit push होने पर GitHub call करता है। server git pull करता है और pm2 app को reload कर देता है। छोटे projects के लिए उपयुक्त है.

  • zero-downtime deployment पर सवाल करने वाले: जानना चाहा कि piku zero-downtime deployment को कैसे handle करता है। उदाहरण के लिए, जब Python service nginx के पीछे port 8080 पर चल रही हो, तो उसी port पर नई instance में switch कैसे किया जाता है.