*Kufakwe kungobo yomlando* = Isevisi engcono kakhulu yokubamba ifu? = Sawubona bafo, Ngakho-ke ngifuna ukusebenzisa i-API yami ye-Django backend kodwa hhayi ekukhiqizeni, ukuze kuthuthukiswe. Iyiphi isevisi yefu oyincamelayo ukwenza lokho? Kuze kube manje ngithole isevisi ye-Ngrok ne-Amazon AWS, futhi u-Jenkins no-IâÃÂÃÂm beqonda ngayinye ngokujula ukuze benze ukuqhathanisa. Ngifuna ukwazi ngokuhlangenwe nakho kwakho, ukuthi iyiphi isevisi oyikhethayo P.S: Muva nje ngithole impendulo enobutha kakhulu ngenxa yokuntula kwami ​​isipiliyoni kanye nokuzama ukusiza - Ukubona lokhu kancane kancane kuba nobutha futhi nolaka njengamanye amawebhusayithi (ngokusobala ukusho amagama amanye amawebhusayithi kususa okuthunyelwe kwakho) Ngakho-ke ngicela uxolele noma yikuphi ukuntula ulwazi oluthola kokuthunyelwe kwami ​​​​(noma okuthunyelwe/ukuphawula kwesikhathi esizayo) MHLELI: Bengingazilindele lezi zimpendulo eziningi, ngiyabonga nonke ngempendulo yenu, ngizozama ukuphendula wonke umuntu Uma kuthunyelwa kuseva eyirimothi kusho ukuthi akunandaba ukuthi ngeyokukhiqiza noma cha - izinto eziningi zizofana. Ukuze usebenzise mahhala futhi kulula uma kuqhathaniswa zama i-Pythonanywhere noma i-Heroku. Uma ufuna ukulawula okwengeziwe zama i-Digital Ocean. Ngibhale umhlahlandlela (engicabanga ukuthi uphelele kakhulu) wokuthumela owakho *okokuqala* uhlelo lokusebenza lwe-Django ku-Digital Ocean lapha Yebo, i-digital ocean iyigugu ngempela uma ufuna ukulawula, uqinisekile ukuthi ngeke usebenzise uhhafu womzuzu kodwa ngokuqinisekile iphakeme kunezinye izinketho eziningi uma ufuna ukulawula okwengeziwe. I-Pythonanywhere ibonakala ifanelana nezidingo zami 90% yesikhathi, hhayi ukulawula okuningi, hhayi okuzenzakalelayo okuningi nokubamba ngesandla, endaweni ethile phakathi Nginolwazi oluningi ngakho kokubili i-AWS Lambda ne-Django. Angicabangi isizathu esisodwa esihle sokwenza i-Django phezu kwe-AWS Lambda. Njengokuthi, akusona isizathu esisodwa. Kuyinkimbinkimbi kakhulu ngembuyiselo encane kakhulu ikakhulukazi uma ukuncika kwakho kuthola okungaphezulu kokuncane. Awufuni ukudlala umdlalo wokuthuthukisa ukuncika onomkhawulo kasayizi wefayela ongu-250MB. Uma ngempela unezinkinga zokuqina zephrojekthi ye-django, ngingasho ukuthi isisombululo mhlawumbe inhlanganisela ye-ECS, isilimo esidliwayo esinamagatsha anamanzi kanye ne-cloudfront. I-Heroku ilula kakhulu ukuyisa kuyo, imahhala uze ufinyelele umkhawulo othile, i-pythonanywhere iyafana kodwa inzima kancane njengoba kufanele umise izinto ezithile ngesandla okudinga ukuqonda okuyisisekelo kwemiyalelo ye-Linux (akukho okuthuthukisiwe) Bobabili banenketho yokukhiya isayithi usebenzisa iphasiwedi uma ungafuni abantu abayivakashelayo noma abaxhume kuyo ngaphandle uma begunyaziwe. IâÃÂÃÂSekuyiminyaka embalwa ngisebenzisa i-Heroku. I-DB yami iyisigaba samahhala sama-postgres. Isebenza kahle futhi ngikhokha isamba esingu-$7 ngenyanga. Ngazise uma unemibuzo eqondile. Amadokhumenti abo mahle kakhulu futhi ngibe nezinkinga ezincane. Ngine-URL yangokwezifiso, i-https, yonke into Ngisebenzisa wonke amaphrojekthi wami we-Django ku-Google Cloud Run. Ngiyithanda ngempela Nansi indlela engikulungisa ngayo: Ngiqala ngokukhipha isizindalwazi sami se-dev ku-Google Cloud SQL. Ngisebenzisa lesi sibonelo se-mySQL sefu se-dev yendawo kanye nesiteji samafu nokuhlola **I-dev yendawo ngisebenzisa iziqukathi ze-docker ezi-3 ezine-docker-compose: - uhlelo lwami lwe-Django. Isiqukathi sine-nginx efakiwe. I-DB ikhomba esitsheni sommeleli we-SQL - isithombe esijwayelekile sommeleli we-Google SQL. Idinga i-akhawunti yesevisi ye-Google json - Isitsha esijwayelekile se-phpmyadmin. Ikakhulukazi ukuxazulula inkinga ye-mySQL **Ukuthunyelwa kwamafu. isiteji kanye ne-prod - Nginefayela le-cloudbuild.yaml lohlelo lwami lokusebenza lwe-Django. Lokho kuchaza ukuthi ulakha kanjani futhi ulukhiphe kanjani uhlelo lokusebenza lwe-Django ku-Google Cloud Run - Ku-Google Cloud Run, ngimise i-trigger yokwakha/ukukhipha uhlelo lwami lokusebenza ngokusekelwe kuzibophezelo ze-git kuhlelo lwami lokusebenza. Lokhu kufunda i-cloudbuild.yaml, futhi kwenza ngokuzenzakalelayo ukuthunyelwa kwezinguquko zami emafini - Ngimise zonke izinto eziguquguqukayo ze-ENV zami kuzibangeli ukuthi zidluliselwe ku-cloudbuild.yaml futhi ekugcineni kuzimo ze-Cloud Run. Yebo ziyehluka ngesiteji kanye ne-prod **Kungani ngikuthanda** - Ukusethwa kwasekuqaleni akuqondile, kodwa i-automation inginika yona iyamangalisa - Izindleko zezenzakalo ze-dev ziphansi ngempela. I-Google Cloud Run ishaja kuphela imizuzwana esetshenzisiwe. Ngakho-ke ama-$ ambalwa ngenyanga Manje, isibonelo se-Cloud SQL yilapho izindleko zikhona, njengoba lokho kushisa i-VM ehlala isebenza. Ama-CPU aphansi ehla ngaphansi kwe-10 $ / ngenyanga - Ezimweni zakho zokukhiqiza, uthola wonke amandla e-Google Cloud Platform. Ukukala okuvundlile okungapheli (inqobo nje uma uhlelo lwakho lokusebenza lwewebhu lungenasimo). I-Cloud Run izokala ngokuzenzakalelayo. Ungakwazi futhi ukukala i-Cloud SQL phezulu kanye/noma ngokuvundlile - I-Google Cloud Run iza namaphoyinti okuphela we-http/https ongawabeka kumephu esizindeni sakho. Akukho nkinga ngokulungiselelwa kwezitifiketi ze-SSL. Ngiyakuthanda lokhu Ngazise uma unentshisekelo, ngingakunikeza imininingwane eyengeziwe. Manje ngicabanga ukuthi kufanele ngibhale isihloko esinemininingwane mayelana nendlela yokwenza lokhu Futhi nazi izinhlelo zami zokusebenza zokugcina zewebhu ye-Django, efakwe ku-Google Cloud Run Uma usuvele wenza ucwaningo ngezinsizakalo ezahlukahlukene zokubamba amafu, kungaba umqondo omuhle ukuhlola I-Engine Yard. Ngisebenzise igceke lenjini ekufakweni okuhlukahlukene kwezinhlelo zokusebenza efwini, futhi ngingasho ukuthi inkundla enamandla kakhulu nesebenziseka kalula sebenzisa izinhlelo zakho zokusebenza efwini I-Engine Yard Cloud (EYC) iyi-Platform ekhethwa kakhulu njengesevisi (i-PaaS) ye-Ruby, Node, kanye ne-PHP yokubamba izicelo. Inengqalasizinda eqinile, ephethwe ngokugcwele kanye nokusekelwa okusezingeni lomhlaba. Inengqalasizinda evikeleke kahle, futhi iziqephu zigcinwa zisesikhathini ukuze kube lula kuwe. Awunayo i-overhead yokuphatha isitaki esigcwele, okuhlanganisa imininingo egciniwe kanye nezilinganisi zomthwalo. Konke lokhu kuyanakekelwa. Izipele zenzeka ngokuzenzakalelayo. Njengoba ngibona, igceke lenjini iyinkundla yokonga isikhathi nezindleko Ungaphinda uhlole i-Engine Yard Kontainers (EYK). Inkundla yesizukulwane esilandelayo. Ngizamile futhi ngathola ukuthi kuwukufuduka okufanele. Isekela izitaki eziningi, ukukala okuzenzakalelayo kwesikhathi sangempela, nezinye izici eziningi. Ungabheka kukho kokubili i-Engine Yard Cloud kanye ne-Engine Yard Kontainers Ngincoma ukusebenzisa I-App Platform ku-Digital Ocean. Iyafana ne-Heroku, kodwa inikeza amandla engeziwe ngengxenyana yezindleko ze-Heroku Ayinazo zonke izici i-Heroku enazo, kodwa okungenani kimi inokwanele ukusebenza nazo. Angiyona i-DevOps, ngakho-ke angazi ukuthi ngingayimisa kanjani i-Droplet evamile ngendlela evikelekile. Yingakho i-App Platform isebenza kangcono kakhulu - angidingi ukucabanga ngokulahleka kwezinyathelo zokuphepha ngaphandle kwangaphakathi kohlelo lwami lokusebenza. Wonke amaphrojekthi wami siqu ahlanganiswe ezitsheni ze-docker futhi asetshenziswa endaweni eyodwa ye-kubernetes cluster ku-Scaleway.com. Kupholile futhi ukunakekelwa okuphansi, futhi uma umuntu efika esikalini esithile, ngingakwazi ukuwahambisa kalula ku-cluster enkulu, noma enye isevisi yokuphakelwa kweziqukathi (njenge-ECS, noma ngize ngizithumele ngokwami ​​esimeni kufakwe kuphela isikhathi sokusebenza sesiqukathi. ) Esikhathini esedlule, ngasebenzisa isevisi ye-django ku-AWS Lambda nge-Zappa, kodwa ulahlekelwa ukulawula okuningi, futhi kunezinto ezincane okudingeka uzifunde futhi uzisebenzise (isb. ukusebenzisa noma uhlaka olungenasiphakeli, ukuphatha izinguqulo, ukugcina okwakho. lambdas "efudumele", njll).