Ang mga virtualized na alok ay gumaganap nang mas masahol pa (tingnan ang aking 2019 na mga eksperimento: httpsjan.rychter.com/enblog/cloud-server-cpu-performance at mas mahal. Ang pagkakaiba ay maaari kang "mag-scale on demand", na nalaman kong hindi kinakailangan, kahit man lang sa aking kaso. At kung kailangan kong mag-scale, magagawa ko pa rin iyon, ang pagkuha ng mga bagong server ay tumatagal ng mga oras sa halip na mga segundo. Well, hindi ko na kailangang mag-scale sa mga segundo Sa aking kaso, ang aking buong buwanang singil para sa buong kapaligiran ng produksyon at isang duplicate na staging/standby na kapaligiran ay pare-pareho, simple, predictable, napakababa kumpara sa kung ano ang kailangan kong bayaran sa AWS, at mayroon pa akong maraming headroom sa pagganap upang Isang bagay na dapat tandaan ay tinatrato ko ang mga pisikal na server tulad ng mga virtual: lahat ay pinamamahalaan sa pamamagitan ng ansible at maaari kong muling likhain ang lahat mula sa simula. Sa katunayan, gumagamit ako ng isa pang "devcloud"na kapaligiran sa Digital Ocean, at ang isa ay pinaikot gamit ang terraform, bago ipasa sa ansible na gumagawa ng natitirang bahagi ng pag-setup Pinaghihinalaan ko na ang VendorOps at mga kumplikadong tool tulad ng kubernetes ay pinapaboran ng mga kumplikadong merchant na lumitaw sa nakalipas na dekada. Mukhang maganda ito sa resume at nagbibigay sa mga tech leader ng maling kahulugan ng tagumpay Samantala, ang Stackoverflow, na malamang na mas mahalaga kaysa sa karamihan ng mga startup, ay sumasabay sa mga dedikadong makina. 1: httpsstackoverflow.blog/2016/02/17/stack-overflow-the-arc.. Tila ang trend sa espasyong ito ay direktang tumalon sa pinakamataas na layer ng abstraction. Nilaktawan ang mga pangunahing kaalaman at tumuro sa mga tool, library at produkto ng $buzzword Nakikita mo ang mga sulyap nito sa iba't ibang anyo. Ang isa ay ang mga social media thread na nagtatanong ng mga bagay-bagay tulad ng Gaano karami sa X ang kailangan kong malaman para matutunan ang Y Kung saan ang X ay isang pangunahing, posibleng napaka-stable na teknolohiya o field at ang Y ay ilang tool du jour o direktang isang produkto o serbisyo CORBA ay nabibilang doon. At marahil kahit na ang semantic web na bagay. Talagang XML! Mahusay ang XML - kung hindi ka naniniwala, maaaring interesado ka sa mga sakit ng pag-parse ng JSON: httpseriot.ch/projects/parsing_json.html At huwag mo akong simulan sa YAML.. Ang incremental na halaga ng pagiging nasa cloud ay lubos na sulit para sa akin na magkaroon ng mga pinamamahalaang database, awtomatikong snapshot, naka-host na mga balanse ng load, plug at play block storage atbp Gusto kong mag-alala tungkol sa kung ang aming produkto ay mabuti, hindi tungkol sa kalagitnaan ng gabi na pagkabigo ng hardware, pag-ikot ng isang bagong server at hindi ito gumana nang tama dahil walang insentibo na gumamit ng pamamahala ng pagsasaayos sa isang kahon, pagkakaroon ng isang runaway na gawain maging sanhi ng OOM o buong disk at masira ang lahat sa halip na ang mga gawaing VM lamang, takot na i-restart ang isang makina na naging 1000 araw, atbp Para sa akin, ang akit ng cloud ay hindi isang FAANG scalability fad kapag hindi ito kinakailangan, ngunit ang awtomatikong OS patching, awtomatikong pagbalanse ng load, mga serbisyo ng NAT, sentralisado, masusuri na mga log, mga serbisyo sa database na hindi ko kailangang pamahalaan, sa labas ng box rolling upgrade sa mga serbisyo, pamamahala ng mga crypto-key at sikreto, at siyempre, object storage. (Ito ang lahat ng mga bagay na ginagamit namin sa aming startup) Pupunta ako sa isang limb at sasabihin na ang mga dedikadong server ay maaaring maging napakahusay/epektibo sa gastos kapag naabot namin ang isang tiyak na sukat, sa halip na sa kabilang banda. Sa ngayon, sulit ang mga gastos sa cloud para sa aking pagsisimula Kung ginagawa mo ang iyong environment config bilang code, hindi mahalaga kung ang iyong target ay isang dedikadong server, isang vm o ilang cloud specific na setup na na-configure sa pamamagitan ng isang api Hindi mahalaga kung alin, ang punto ay mayroon kang isa na maaaring bumuo sa iyo ng isang bagong kahon o magdala ng isang maling pagkilos na kahon pabalik sa isang mahusay na estado sa pamamagitan ng simpleng pagpapatakbo ng isang command Oo naman, ang aktwal na tumpok ng Go(o) na nagtutulak dito ay maaaring mapabuti (at ito ay talagang bumubuti) Sabi nga, ang mahirap na katotohanan ay ang iyong diskarte ay ang tama, halos lahat ng mga negosyo (mga startup!) ay nag-overbuild sa halip na tumuon sa pagbibigay ng halaga, pagtukoy sa aktwal na angkop na lugar, atbp. (Oo, mayroon ding panig ng demand nito, bilang ang VC money inflated startups overbuild gusto nilang umasa sa mga 3rd party na kayang kumuha ng load, scale sa kanila, SLA at kung ano pa ang dapat i-advertise.) Napakaganda ng Kubernetes! Sa tuwing nakakakita ako ng potensyal na nakikipagkumpitensya na negosyo na nagsimulang gumamit ng Kubernetes, gumagaan kaagad ang loob ko, dahil alam kong hindi ko na kailangang mag-alala tungkol sa kanila. Malapit nang maglaho ang mga ito sa isang tumpok ng hindi malulutas na mga teknikal na problema, sinusubukang ayusin ang mga isyu na hindi matunton sa isang tech stack ng hindi kapani-paniwalang pagiging kumplikado at nagtatrabaho sa mga limitasyon na ipinataw ng isang system na idinisenyo para sa mga negosyong may traffic two-threeof magnitude na mas malaki. Gayundin, ang kanilang COGS ay magiging mas mataas kaysa sa akin, na nangangahulugang kakailanganin nilang itaas ang presyo ng kanilang produkto, maliban na lamang kung sila ay nasusunog lamang sa pamamagitan ng VC na pera (kung saan sila ay isang flash sa kawali) Magandang bagay sa paligid Ang ansible ay kinakailangan, maaari itong gumana patungo sa isang static na estado, at iyon lang. Kung magkakaroon ito ng problema, itatapon nito ang koneksyon sa SSH, at sumisigaw ng napakaraming error sa python, at sumuko nang tuluyan. Kahit na sa imbentaryo nito ay malayo ito sa deklaratibo Ang k8s ay aof control loops na sumusubok na gumawa ng progreso patungo sa kanilang ipinahayag na estado. Ang pagkabigo ay hindi isang problema, ito ay muling susubukan. Patuloy nitong susuriin ang sarili nitong estado, mayroon itong magandang API para iulat ito, at salamat sa maraming reified na konsepto, mas mahirap magkaroon ng kakaibang pag-aaway sa pagitan ng mga naka-deploy na bahagi. (Samantalang ang pagsasama ng maraming playbook sa Ansible ay hindi mahalaga.) httpsgithub.com/spantaleev/matrix-docker-ansible-deploy At kahit na maglagay ang k8s sa napakaraming legacy-ness, may mga paparating na slimmer manifestations ng mga pangunahing ideya. (Hal. httpsgithub.com/aurae-runtime/aurae ) At ngayon iminumungkahi mo na ang mga tao ay gumamit ng isang mas simpleng hindi karaniwang pagpapatupad? Kaya siyempre maaari kang magpatupad ng isang minimal na kumplikadong solusyon o maaari kang gumamit ng isang bagay na "off the shelf"Ang k8s ay kumplikado at ang ilan sa mga ito ay tiyak na hindi kailangan para sa iyong sitwasyon, ngunit ito rin ay pangkalahatan, nababaluktot, mahusay na suportado, atbp >Iminumungkahi mo na ang mga tao ay gumamit ng mas simple na hindi karaniwang pagpapatupad? Ang iminungkahi ko ay kung ang k8s ang proyekto/software ay masyadong malaki upang mabigo, ang mga tao ay maaaring lumipat sa isang alternatibo. Sa kabutihang-palad ang mga konsepto at API ng k8 ay open source, upang maipatupad ang mga ito sa iba pang mga proyekto, at nagbigay ako ng ganoong halimbawa upang ilarawan na ang pagpili ng mga k8 ay hindi isang Oracle-like vendor lock-in Palagi kong naririnig ang tungkol sa lahat ng magagandang bagay na halos makukuha mo nang libre mula sa mga provider ng cloud. Ganyan ba talaga kadaling i-set up at gamitin ang mga bagay na iyon? Anumang oras na sinubukan kong i-set up ang aking LAMP stack sa isang cloud service, ito ay isang nakakalito at nakakatakot na proseso na nauwi ako sa pagsuko. Iniisip ko kung kailangan ko lang bang itulak ng kaunti at makakarating na ako sa Cloud Heaven Ang masasabing "Gusto ko ang isang clustered MySQL dito na may ganitong uri ng mga spec"ay higit na mas mahusay (sa oras) kaysa sa paggawa nito nang mag-isa. Ang mga pag-update ay maayos ding nakabalot sa system, kaya ang sinasabi ko lang ay "ilapat ang pinakabagong update"sa halip na manu-manong tiyakin na ang mga failover/restart ay mangyayari sa tamang pagkakasunud-sunod Kaya magbabayad ka upang pasimplehin ang mga bagay, ngunit ang pakinabang mula sa pagpapasimple na iyon ay nagsisimula lamang sa mas malalaking proyekto. Kung mayroon kang isang bagay sa isang server na maaari mong i-restart habang ang iyong mga user ay nakakakuha ng isang pahina ng error, maaaring hindi ito sulit Ang ulap ay hindi madaling subukan upang makakuha ng paglamig at power efficiency ng isang maliit na silid ng server saanman malapit sa mga antas ng kahusayan ang karamihan sa malalaking data-center na pag-publish ay halos imposible tulad ng multi vendor na koneksyon sa internet Sa cloud, nawawala ang lahat ng ganoong uri dahil pinamamahalaan ito ng anumang operator ng data-center na pinapatakbo ng cloud ngunit ang nakakalimutan ng mga tao ay totoo rin iyon para sa mga lumang serbisyo ng colocation na kadalasang nag-aalok ng mas magandang gastos/halaga kaysa cloud At bagama't tiyak na mas mahirap pangasiwaan ang mga bagay tulad ng AWS o Azure dahil nagdurugo ito ng maraming abstraction na itinago sa iyo ng mga provider ng small scall vpc o na hindi mo talaga nakukuha sa isang server sa bahay, hindi ito mahirap sa laki ng pagkakaroon ng pagpapatakbo ng mag-asawa ng mga rack na halaga ng mga vmware server na may SAN based storageSa Cloud stuff mayroon kang higit pang configuration na dapat gawin dahil ito ay tungkol sa pag-configure ng mga virtual server atbp.Sa halip na dalhin ang PC sa isang kahon sa iyong silid dapat mong "i-configure ito"upang gawin itong availableDO database ay may mga backup na maaari mong i-configure ayon sa gusto mo, iimbak ang mga ito sa DO Spaces (tulad ng S3).DB user management ay madali.Mayroon ding mga cache server para sa RedisMaaari kang magdagdag ng load balancer at ikonekta ito sa iyong iba't ibang web serverSa palagay ko inabot ako humigit-kumulang 30 min para mag-setup ng 2x web server, isang DB server, cache server, load balancer, isang storage server at ikonekta ang lahat ng ito kung kinakailangan gamit ang ilang simpleng form.Hindi talaga matatalo yanKung mayroon ka pang impormasyon o opinyon, mangyaring ibahagi angMaraming mga artikulo sa internet tungkol sa pagpapatigas ng isang Linux server, ang mga nasubukan ko ay tumatagal ng higit sa 30 min upang sundin ang mga hakbang, mas matagal kung sinusubukan kong aktwal na matutunan at maunawaan kung ano ang ginagawa ng bawat bagay, bakit ito mahalaga, kung ano ang pinagbabatayan ng kahinaan ay, at kung paano ko maaaring kailanganin upang i-customize ang ilang mga setting para sa aking partikular na kaso ng paggamitSigurado akong makakahanap ka ng mga halimbawang script ng pag-setup online (i-configure ang mga autoupdate, firewall, mga application, atbp. ng pagpapatakbo ng 'curl $URL'at pagkatapos ay 'chmod +x $FILE'at 'bash $FILE'.Hindi ko kailangan ng configuration management (ginagamit ko ang backup service ng aking provider na mahalaga sa palagay ko)Isang bagay na tulad nito: httpsraw.githubusercontent.com/potts99/Linux-Post-Install..(nakikita sa httpswww.reddit.com/r/selfhosted /comments/f18xi2/ubuntu_d )Malinaw na ganoon din ang masasabi para sa mga matagal na tumatakbong VM, at ito ay malulutas sa pamamagitan ng pagkakaroon ng isang disiplinadong koponan, ngunit sa palagay ko ito ay karaniwang mas malamang sa isang kapaligiran na may isang solong mahabang tumatakbo na nakatuon. machineNasa Hetzner ang lahat ng ito maliban sa mga pinamamahalaang databasehttpswww.hetzner.com/managed-serverKasama rin sa mga webhosting package ang 1. .unlimited DBs (MySQL at PostgreSQL)httpswww.hetzner.com/webhosting/mayroon ba itong awtomatikong pag-backup at nabigo?>Gamit ang naka-book na pang-araw-araw na backup o ang backup na kasama sa uri ng server, lahat ng data ay bina-back up araw-araw at pinananatili sa maximum na 14 na araw.Ang pagbawi ng mga backup (Ibalik) ay posible sa pamamagitan ng konsoleH administration interfaceNgunit nakukuha ko ang impresyon na ang mga database sa mga pinamamahalaang server ay inilaan para sa paggamit ng mga app na tumatakbo sa server na iyon, kaya wala talagang konsepto ng failoverhttpswww.hetzner.com/legal/managed-server/Ang isang drive sa isang server na nabigo ay hindi dapat maging sanhi ng produksyon outage #Maraming isyu sa configuration ang maaaring masubaybayan hanggang sa mga self-contained na deployment.Kailangan ba talagang i-install ang font file o JRE na iyon sa buong server o maaari mo ba itong i-bundle sa iyong deploymentGumagamit ang aming mga deployment ng on-premise at EC2 na mga target.Ang deployment script ay hindi naiiba, tanging ang IP para sa host ay #Ngayon, sasabihin ko kung magagamit ko ang S3 para sa isang bagay na 100% ay gusto ko.Walang on-premise na alternatibo para dito na may parehong hanay ng featureAng punto ng DevOps ay "Mga baka, hindi mga alagang hayop."Maglagay ng bala sa iyong server isang beses sa isang linggo para mahanap ang iyong mga failure pointGusto ko kung sumabak ka sa aming Discord/Slack at ilabas ang ilan sa mga isyung nakikita mo para magawa namin hindi bababa sa gawing mas mahusay ang karanasan para sa iba na gumagamit ng Dokku.Feel free to hit me up there (my nick is `savant`)Hayaan akong paunang salita at sabihin na ako ay isang application dev na may gumaganang kaalaman lamang sa Docker.Hindi ako sobrang sanay sa infra at ang application na pinaghirapan ko ay may kakaibang mga parameter ng deployment: Ito ay isang Python app na sa build-time ay nag-parse ng ilang gig ng static HTML crawls upang ma-populate ang isang Postgres database na static pagkatapos maitayo.Ang isang Flask web app pagkatapos ay nagsisilbi laban sa database na iyon.Mabilis na umuusbong ang pag-parse ng HTML at kaya dapat i-bundle ang na-populate na data ng DB bilang bahagi ng (mga) larawan ng applicationIIRC, nahirapan ako sa pag-istruktura Dockerfiles kapag ang DB ay hindi paulit-ulit ngunit sa halip ay isa pang lumilipas na bahagi ng app, ngunit ito ay tila malalampasan.Ang mas malaking isyu ay tila kung paano maiiwasan ang paghila ng mga gig ng bihirang nabagong data mula sa S3 para sa bawat build kapag ideal na ito ay naka-cache, lalo na sa isang paraan na kumilos nang maayos sa DigitalOcean at sa aking lokal na kapaligiran.Ipinapalagay ko na ang tamang pag-cache ng layer ng imahe ng Docker ay tutugunan ang isyu, ngunit medyo mabilis kong naabot ang dulo ng aking kaalaman at pasensyaAng DX ni Dokku ay tila mahusay para sa mga taong gumagawa ng mga normal na bagay.:)0. httpscoolify.io/At sino ang hindi gustong makipaglaro sa pinakabago, pinakaastig na laruan sa sentimos ng iba?Talagang may argumento para ilipat ang (ilang) bagay mula sa cloud sa ibang pagkakataon sa paglalakbay kapag ang flexibility (o pagharap sa flux/pivoting) ay naging mas mababa sa pangunahing driver at ang sukat/gastos ay nagsimulang nangingibabawOo naman, maaari kang makakuha ng isang bagay na gumagana sa Hetzner ngunit maging handa upang sagutin ang marami pang mga tanongSumang-ayon sa iyong huling punto ng negosyo na humihiling para sa ito na muli ay nakakalungkot lamang na ang mga negosyong "kinakailangan"ay nagdidikta kung paano mag-arkitekto at mag-host ng iyong software kapag ang isa pang paraan ay maaaring ang mas mahusay na isaAng pagbawi ng kalamidad ay isang tunay na problema.Kaya naman palagi ko itong sinusuri.Sa isang scorched-earth scenario, maaari akong tumayo at tumakbo sa pangalawang (staging) system o isang terraformed cloud system sa loob ng wala pang isang oras.Para sa negosyo ko, sapat na Dumaan kami sa isang boom ng paglago, at tulad ng lahat sa kanila noon, nangangahulugan ito na maraming mga taong walang karanasan ang binibigyan ng maraming pera at mga kagyat na inaasahan. Ito ay isang recipe para sa cargo culting at mapagsamantalang marketing Ngunit bumabagal ang paglago at nagiging mas mahal ang pera, kaya bumagal at magsimulang muling matutunan ang mga lumang aralin na may kapana-panabik na mga bagong variation. (Tulad ng Dito: pamamahala ng bare metal scaling at may mga lalagyan at orkestra) At ang buong cycle ay mauulit sa susunod na boom. Yan ang industriya natin sa ngayon Ang isang solid na dedikadong server ay 99% ng oras na mas kapaki-pakinabang kaysa sa isang baldado na VPS sa nakabahaging hardware ngunit ito ay malinaw na dumarating sa mas mataas na gastos kung hindi mo kailangan ang lahat ng mga mapagkukunang ibinibigay nila Oo - ngunit ang pananabik na "gawin ang ginagawa ng lahat ng mga cool na bata ngayon"ay hindi bababa sa kasing lakas sa mga karaniwang tinatawag na "manager", kumpara sa "mga empleyado"kinalabasan A) nagkakamali ang malalaking microservice/cloud spend, at least sinusunod mo ang pinakamahuhusay na kagawian, nangyayari ang mga bagay na ito, ano ang magagawa mo kinalabasan B) nagpunta ka sa isang server ng Hetzner at may nangyaring mali, mabuti ka at dapat sumama sa mga microservice, magsaya sa paghahanap ng bagong trabaho Kaya hinihikayat ang mga tagapamahala na pumili ng mga microservice/cloud. Maaaring hindi ito ang tamang desisyon para sa kumpanya, ngunit ito ang tamang desisyon para sa manager, at ang manager ang gumagawa ng desisyon (Gaya ng pagiging consultant na nagnanais ng extension at software sa pagsusulat na gumagana, tulad ng nalaman ko ang mahirap na paraan.) May disconnect sa pagitan ng mga founder at ng iba pa Naniniwala ang mga founder na pupunta sila sa >10x bawat taon Ang katotohanan ay 90% ang posibilidad na mabigo sila 90% ng oras - mabuti kang nabigo sa anumang bagay Ilang % ng 10% ng oras na magtagumpay ka, maayos ka pa rin nang wala ang cloud - kahit man lang sa ilang taon ng tagumpay, maraming oras upang lumipat kung kinakailangan Mayroon lang akong isang mahusay na pag-setup, at maaari itong gumana pareho para sa mga virtualized na server at mga pisikal. Walang pagkakaiba. Ang pagkakaiba lang ay kailangang i-set up muna ang mga virtualized na server gamit ang terraform, at ang mga pisikal ay kailangang i-order muna at ang kanilang mga IP ay ipinasok sa isang configuration file (imbentaryo) Siyempre, nag-iingat din ako para maiwasang maging dependent sa maraming iba pang serbisyo sa cloud. Halimbawa, gumagamit ako ng VpnCloud (httpsgithub.com/dswd/vpncloud) para sa komunikasyon sa pagitan ng mga server. Bilang side benefit, binibigyan din ako nito ng flexibility na lumipat sa anumang provider ng imprastraktura anumang oras Ang aking pangunahing punto ay habang ang mga virtualized na alok ay may kanilang mga gamit, mayroong isang (malaking) agwat sa pagitan ng isang $10/buwan na libangan na VPS at isang kumpanya na may sumasabog na negosyong B2C. Karamihan sa mga bagong negosyo ay talagang nahuhulog sa puwang na iyon: hindi mo inaasahan ang paglago ng hockey-stick exponential sa isang kumikitang B2B SaaS. Doon mo dapat tanungin ang karaniwang default na pagpipilian ng "gamitin ang AWS". Pinapahalagahan ko ang aking COGS at ang aking mga margin, kaya maingat kong tinitingnan ang pagpipiliang ito Hindi ka isang kumpanya ng software, pangunahing gumagawa at nagbebenta ka ng Sprockets Ang mga opinyon dito ay umarkila ng isang malaking kawani ng eng/IT upang "bumili at magpanatili ng mga server"(masama ang PaaS) at pagkatapos ay malamang na "magsulat ka ng code sa iyong sarili"(masama ang SaaS) o kung ano ang kasalukuyang sikat dito (huling thread dito ito ay "Pushing PHP over SFTP without Git, and you're if you need more"lol) Ngunit naniniwala ako na ang mga negosyo ay dapat gumawa ng Isang Bagay na Mahusay at iwasang subukang makipagkumpitensya (ginagawa ito nang manu-mano) para sa mga bagay na wala sa kanilang pangunahing kakayahan. Sa kasong ito, tiyak kong iisipin na hindi dapat subukan ng Sprocket Masters na pamahalaan ang kanilang sariling hardware at dapat umasa sa isang provider upang mahawakan ang scaling, seguridad, uptime, pagsunod, at lahat ng maliliit na detalye. Sa tingin ko rin ay dapat maging bog-standard ang kanilang software na may kaunting in-house hangga't maaari. Ang mga ito ay hindi isang software shop at dapat ay sumusulat ng maliit na code hangga't maaari Sa totoo lang, maaaring patakbuhin ng mga Widget Masters ang mga site na ito gamit ang isang maliit na kawani maliban kung nagpasya silang gawin ang lahat ng ito nang manu-mano, kung saan malamang na kailangan nila ng mas malaking kawani. Gayunpaman, ang nakikita ko rin at kung ano sa tingin ko ang pinag-uusapan ng nakaraang poster ay ang mga negosyo kung saan ang tech ang ubod ng negosyo, at doon ay madalas itong hindi gaanong makatwiran, at sa halip na makatipid ng oras ay tila gumagastos ito ng oras. May dahilan kung bakit mayroong mga eksperto sa AWS: hindi ito maliit. Ang mga "tunay"na server ay hindi rin maliit, ngunit hindi rin naman mas mahirap kaysa sa mga serbisyo sa cloud Ngunit ang mga ahensyang iyon ay hindi nais na magkaroon ng mga kawani para sa pagpapanatili ng pisikal na hardware din.. Ngunit ang Sprocket Masters ay kailangan pa ring magkaroon ng isang mamahaling Cloud Consultant sa retainer para lamang makatugon sa mga emerhensiya Kung magkakaroon ka ng isang tauhan upang harapin ang mga isyu sa cloud, maaari ka ring magrenta ng isang server sa halip Ako mismo ay nagpatakbo ng Mga Dedicated Server para sa aming negosyo sa mga naunang araw ngunit habang kami ay lumawak at lumaki, naging mas madali ang sumama sa mga provider ng Cloud upang mabilis na makapagbigay ng iba't ibang serbisyo kahit na tumaas ang mga gastos. Hindi pa banggitin na mas madaling sabihin sa isang prospective na customer na gumagamit ka ng "cloud like AWS"kaysa sa "Oh we rent these machines in a data center run by some company"(na maaaring maging mas mahusay ngunit karamihan ay hindi makukuha ng mga customer) . Pag-audit, Pagsunod at iba pa Para sa marami kahit na mas mababa kaysa doon. Nagpapatakbo ako ng isang maliit na side project[1] na naging viral nang ilang beses (30K view sa loob ng 24 na oras o higit pa) at ito ay tumatakbo sa isang solong core CPU web server at isang pinamamahalaang Postgres din sa isang CPU core. Hindi pa ito malapit sa ganap na paggamit 1: httpsaihelperbot.com/ Maaari ko bang ilipat ang ilan sa mga ito sa mga function ng lambda? O lumipat sa ECS? O lumipat sa ibang cloud service du jour? Siguro. Ngunit ang dami ng oras na ginugol ko sa pagsusulat ng komentong ito ay humigit-kumulang anim na buwang halaga ng pagtitipid para sa naturang switch. Kung ito ay mas mahirap kaysa sa "push button, makatanggap ng 100% mapagkakatiwalaang-translated na serbisyo", mahirap bigyang-katwiran Ang ilan sa mga ito ay dahil ang cloud ay nagbibigay ng ilang iba pang mga serbisyo ngayon na nagpapagana sa ganitong uri ng bagay. Hindi ko kailangang magpatakbo ng isang Kafka cluster para sa pangunahing pagmemensahe, lahat sila ay may kasamang bus ng mensahe. gamit ko yan. Ginagamit ko ang naka-host na mga opsyon sa DB. Gumagamit ako ng S3 o katumbas, atbp. Nalaman kong halos hindi na sulit ang natitira sa abala ng pagsisikap na isiksik ang sarili ko sa ibang paradigm kapag nagbabayad ako ng single-digit na dolyar sa isang buwan para tumakbo lang sa isang EC2 instance Ito ay ganap na ang kaso na hindi lahat o bawat proyekto ay maaaring gawin ito. Hindi ako stuck dito bilang isang end-goal. Kapag hindi ito gumana, agad akong nagsasagawa ng naaangkop na pagkilos sa pag-scale. Hindi ko iminumungkahi na mag-rearchitect ka ng anumang bagay batay dito. Ang sinasabi ko lang, it's not an option to be depised. Marami itong kakayahang umangkop dito, at ang pagsingil ay medyo pare-pareho (o, sa ibang paraan, ang katotohanan na kung bigla akong magkaroon ng 50x na trapiko, ang aking sistema ay magsisimulang mabulunan at mag-sputtering kapansin-pansin kaysa sa simpleng singilin ako ng daan-daang dolyar. higit pa ay isang tampok sa akin sa halip na isang bug), at sa pangkalahatan ay hindi mo iniuunat ang iyong sarili upang lumiko sa ilang paradigm na maginhawa para sa ilang serbisyo sa cloud ngunit maaaring hindi maginhawa para sa iyo Naranasan mo na bang pamahalaan ang isa sa mga kapaligirang iyon? Ang bagay ay, kung gusto mong makakuha ng ilang pangunahing higit sa isang tao na scalability at tamang devops, kailangan mong mag-overprovision sa pamamagitan ng isang makabuluhang kadahilanan (posibleng mawalan ng iyong mga ipon) Hindi maiiwasang mapupunta ka sa isang pasadyang solusyon, na nangangahulugan na ang mga bagong sumali ay mahihirapang makuha ang karunungan sa system at ang mga makabuluhang tao na umaalis sa kumpanya ay magdadala ng kanilang malalim na kaalaman sa iyong imprastraktura sa kanila. Bumalik ka sa mga alagang hayop sa halip na mga baka. Espesyal ang ilang mga server, pagkaraan ng ilang sandali, ang ibig sabihin ng automation ay "maraming glue shell scripts dito at doon"at ang pag-upgrade ng OS ay nangangahulugang alinman sa kalahating infra ay KO pansamantala o hindi ka nag-upgrade ng OS. At sa mapalad na kaso kailangan mong palakihin Baka makakita ka ng mga hindi kasiya-siyang sorpresa At huwag na huwag mo akong simulan sa networking side. Maliban kung nirerentahan mo ang iyong buong rack at naglalagay ng sarili mong networking hardware, makukuha mo ang makukuha mo. Na maaaring napakahina sa alinman sa mga functionality o performances Ipagpalagay na wala kang ginagawang anumang bagay na magarbong Kung gusto mo ng 100.0000% uptime, sigurado. Ngunit hindi mo kadalasan. Ang mga kumpanyang nagnanais ng ganoong uri ng uptime ay karaniwang may mga koponan na nakatuon pa rin dito At gumagana rin nang maayos ang pag-scale sa bare-metal kung i-scale mo nang patayo - may ideya ka ba sa dami ng power at throughput na makukuha mo mula sa isang server? Ito ay tungkol sa patuloy na pagdinig tungkol sa "scaling"kapag ang nagsasalita ay nangangahulugang "horizontal scaling" Kung ang iyong mga kinakailangan ay "scaling", kung gayon ang vertical scaling ay magdadala sa iyo ng malayo Kung ang iyong mga kinakailangan ay "horizontal scaling on demand", kung gayon, sigurado, makakatulong ang mga cloud provider doon. Ngunit, ilang mga lugar ang nangangailangan ng ganoong uri ng scaling Hindi ko sinasabing mura ang 100% uptime sa bare metal, sinasabi ko na ang 100% uptime ay madalas na hindi kailangan Dahil ang industriya ay puno ng mga taong humahabol sa mga uso at keyword at kung saan ang pinakamahalagang bagay ay idagdag ang mga keyword na iyon sa mga CV Ang IME na naglalayon para sa scalability ay labis na mali para sa karamihan ng mga serbisyo/application/anuman. At kadalasan ay nagbabayad ka ng napakaraming overhead para sa mga "scalable"na solusyon, na kailangan mong sukatin para makabawi dito I really doubt this.Ang isang tema na nakikita mo sa halos bawat tagapagtaguyod ng AWS ay ilang mataas na dami ng maling akala tungkol sa kung ano ang garantiya na talagang ibinibigay sa iyo ng AWS Oo, sigurado. Walang natatanggal sa trabaho dahil sa pagbili mula sa IBM Buweno, kung ang mga malalaking kumpanya ay may anumang kakayahan sa paggawa ng desisyon, sila ay hindi matatalo at magiging walang pag-asa na magtrabaho sa kahit ano pa man. Kaya, oo, iyon ay isang pampublikong kabutihan Source: almost thirty years of ops Sa ngayon hindi ko pa napapansin na kung gumastos ako ng mas malaki para sa kumpanya ay mas malaki din ang sahod ko ang pagkuha ng katumbas na pagiging maaasahan gamit ang mga plantsa ay mas mahal kaysa sa pagrenta ng "dalawang dedikadong server"- ngayon ay maaari kang maging maayos sa isang server at isang backup na solusyon, at iyon ay patas. ngunit ang isang sysad na lumikha ng lahat ng iyon, kahit na sa isang maikling kontrata para sa paunang pag-setup at walang pagpapanatili, ay lalampas nang higit sa pagkakaiba sa presyo ng ulap, lalo na kung mayroong isang database sa halo at nagmamalasakit ka sa data na iyon Ngayon, ang cloud ay katulad - ang oras sa merkado ay mas mabilis dahil may mas kaunting mga gumagalaw na bahagi. Kapag humina ang ekonomiya at bumagal ang paglago, papasok ang mga beancounter at ginagawa ang kanilang bagay Nangyayari ito sa bawat oras Pinapayaman lang nito ang AWS sa mga kumpanya at cloud team Ito ay walang halaga na awtomatikong magbigay at mag-unprovision ng isang EC2 instance, sa loob ng ilang segundo kung ang iyong deployment ay kailangang palakihin o bawasan. Iyan ang dahilan kung bakit ito ay pangunahing naiiba sa isang hubad na metal server Ngayon, hindi ko itinatanggi na maaari pa rin itong maging mas epektibo sa gastos kung ihahambing sa AWS upang magbigay ng ilang higit pang mga dedikadong server kaysa sa kakailanganin mo, ngunit kapag mayroon kang talagang hindi mahuhulaan na mga karga ng trabaho, hindi madaling makipagsabayan. kung ikaw ay umiikot at nagsasara ng mga VM upang matugunan ang demand curve - may malubhang mali sa iyong arkitektura Naranasan mo na ba, paanong ang stackoverflow ay gumagamit ng ~8 na dedikadong server para maglingkod sa buong mundo at hindi na kailangang iikot at isara ang mga VM upang matugunan ang pandaigdigang pangangailangan ng customer? -- Kapag nagpaplano ng compute na imprastraktura, mahalagang bumalik sa mga pangunahing kaalaman at hindi mahulog sa propaganda ng cloud vendor Ikaw na mismo nagsabi. Hindi lahat ng application ay kailangang magsilbi sa buong mundo, samakatuwid ang demand ay magiging mas mababa kapag ang mga tao ay natutulog Kahit na sa mga pandaigdigang aplikasyon ay may mga regulasyon na nangangailangan sa iyong mag-host ng mga application at data sa mga partikular na rehiyon. Isipin ang isang application na ginagamit ng mga customer sa Europe, Australia, at US. Kailangang ihatid ang mga ito mula sa mga regional data center, at ang isang cluster ay halos natutulog kapag ang isa ay tumatakbo (dahil sa mga timezone). Sa mga dedikadong server ay mag-aaksaya ka ng 60-70% ng iyong mga mapagkukunan, habang gumagamit ng isang bagay tulad ng EC2/Fargate maaari mong i-scale pababa sa halos 0 kapag ang iyong rehiyon ay natutulog May paraan ang kabaliwan, dito tinatawag itong "job-security-driven development"Dahil banta ito sa kanilang mga trabaho Mayroong isang buong pangkat ng mga tao na may mga teknikal na kakayahan upang mag-host ng sarili, o mag-host ng maliliit na pagkakataon para sa kanilang pamilya/kaibigan/asosasyon/hiking club. Ang maliit na margin na ito kung saan ok kang gumastos ng kaunting dagdag dahil gusto mong gawin itong maayos, ngunit hindi mo maaaring bigyang-katwiran ang pagbabayad nang labis at gumugol ng oras sa paggawa ng mahirap na pagpapanatili. Ang isang maliit na VPS, na may isang nakabahaging Nextcloud o isang maliit na website, ay ang lahat na kailangan sa maraming mga kaso Para dito gumamit pa ako ng kaunting Raspberry Pi 400 sa aking kwarto httpsjoeldare.com/private-analtyics-and-my-raspberry-pi-4.. Ako mismo ang nagho-host ng sarili kong gamit sa loob ng halos isang dekada na ngayon. Walang sinuman ang sumubok ng DDoSing sa aking setup, dahil bakit sila? Anong benepisyo ang posibleng makuha nila dito? Halos ako lang ang taong maaapektuhan, at kapag huminto sila ay hindi na magtatagal para makabawi Mayroong maliit o walang insentibo sa DDoS isang personal na kahon, pabayaan sa pamamagitan ng isang internet rando Masyado mong pinahahalagahan ang mga kakayahan ng isang tinedyer Ang pag-ping lang ng IP nang paulit-ulit ay hindi talaga magagawa nang malaki. Maaaring isang pag-atake ng DoS depende sa kung ano ang mayroon ang target na network sa mga tuntunin ng IPS, ngunit kahit na pagkatapos ay mas malamang na mahawahan nila ang kanilang mga computer ng mga virus bago sila makakuha ng pagkakataon na aktwal na atakehin ka Personal kong natanggap ang isa sa mga iyon para sa isang manloloko sa GTA 5. Talagang mangyayari ito at hindi ito masaya Edit: Mukhang awtomatiko ito. Ito ay isang bagay na kawili-wili na dapat kong tingnan nang kaunti. Malamang na sobrang kumplikado lamang nito para sa aking maliit na server, ngunit mayroon akong ilang mga gamit sa isip Sa pangkalahatan, ang aking homelab ay nasa isang static na pampublikong IP din--ito ay mas isang ehersisyo sa "magagawa ko ba ito"kaysa sa "aktwal na kinakailangan,"ngunit ito ay cool pa rin at ako ay napakasaya Ang tungkol sa tanging hangup ay kailangan kong i-configure ang Wireguard upang panatilihing buhay ang tunnel, kung hindi, kung minsan ay makakatanggap ang VPS ng papasok na trapiko at kung ang aking lab ay hindi naabot ng ilang sandali (na, bakit ito?) ang tunnel ay bababa, at gagawin ng proxy connection. Sa kabutihang palad, iyon ay built-in na pag-andar Kaya, parang ang pagdaragdag ng mga RSS / Atom feed sa isang site ng jekyll o GitHub na mga pahina ay medyo diretso 1. httpsgithub.com/jekyll/jekyll-feed 2. httpsdocs.github.com/en/pages/setting-up-a-github-pages-s.. 3. httpspages.github.com/versions/ atom 2c/4t, 4gb ram, 1tb drive, 100mbit Ilang taon ng uptime sa puntong ito Kung walang patid: maaaring kailanganin ang ilang pag-upgrade. Ang mga update sa seguridad ng kernel ay isang bagay Nalaman kong napakabagal ng Atoms, kahit na sa Linux. Siyempre sapat na ito para sa paghahatid ng mga website at kung ano pa, ngunit nakakagulat kung gaano karaming kapangyarihan ang ginagamit nila na hindi gumaganap Eksakto. Ang mga sub-$10 VPS instance na ito ay mahusay para sa maliliit na proyekto kung saan hindi mo gustong pumasok sa mahabang kontrata o makitungo sa pamamahala ng sarili mong mga server Kung nagpapatakbo ka ng isang aktwal na negosyo kung saan ang mga margin ay manipis at mayroon kang lahat ng libreng oras sa mundo upang mahawakan ang mga isyu sa server kung (kapag) dumating ang mga ito, ang mga ~$50 na nakatuong server ay maaaring maging kawili-wiling tuklasin Ngunit kung nagpapatakbo ka ng isang aktwal na negosyo, kahit na ang $10,000/buwan na AWS bill ay mas mura kaysa sa pagkuha ng isa pang bihasang developer upang tumulong na pamahalaan ang iyong mga nakalaang server Ito ang karaniwang nakakaligtaan sa mga talakayan tungkol sa mga gastos sa cloud sa mga lugar tulad ng HN: Oo, mahal ang cloud, ngunit ang pagkuha ng kahit isang karagdagang sysadmin/developer upang matulungan kang pamahalaan ang custom na imprastraktura ay hindi kapani-paniwalang mahal at hindi gaanong nababaluktot. Iyon ang dahilan kung bakit ang paggastos ng hypothetical na $5000/buwan sa isang cloud hosted solution na maaaring, sa teorya, ay custom-built sa isang $50/month server na may sapat na oras na pamumuhunan ay maaari pa ring maging isang mahusay na deal. Mahal ang mga inhinyero at limitado ang oras Uhhh, excuse me pero magkano ang binabayaran mo sa DevOps guy na ito? Ito ay tila isang napaka-American na pananaw, kahit na lugar ng lambak. Sa Europa, ang pagkuha ng isang lalaki ay magiging mas mura Ang ganap na na-load na mga gastos sa trabaho ay mas mataas kaysa sa kung ano ang iuuwi mo sa iyong suweldo. Mas malala talaga sa Europe. Tingnan ang mga chart na ito: httpsaccace.com/the-true-cost-of-an-employee-in-europe/ Kung babayaran mo ang isang tao ng 1000 EUR sa UK, nagkakahalaga ito ng kabuuang 1245 EUR sa kumpanya Kung magbabayad ka sa isang tao ng 1000 EUR sa Romania, nagkakahalaga ito ng kabuuang 1747 EUR sa kumpanya Kaya ang isang $120,000 na ganap na na-load na gastos ay maaari lamang bumili sa iyo sa $68,000 USD na suweldo para sa isang EU devops na tao Ngunit hindi ka maaaring magkaroon ng isang devops na tao lamang. Kailangan mo ng hindi bababa sa 2 kung gusto mong payagan ang isa sa kanila na magpahinga, magbakasyon ka Maaari kitang i-hook sa loob ng halos 3 oras Ang AWS ay napakahusay sa gastos para sa iba pang mga serbisyo (S3, SES, SQS, atbp) ngunit ang mga virtual machine ay hindi magandang deal. Mas kaunting RAM ang nakukuha mo& CPU, kasama ang virtualization overhead, at magbayad ng mas maraming pera Lalo na para sa mga Postgres kung nagpapatakbo ka ng ilang mga pagsubok sa pgbench makikita mo talaga ang parusang babayaran mo para sa virtualization Marahil ang kasanayan ng sysadmin na makapagtayo ng iyong sariling imprastraktura ay nagiging isang nawawalang sining, kung hindi, hindi ko maipaliwanag kung bakit ang mga tao ay labis na nagmamahal sa pagbabayad ng 5x para sa mas mababang pagganap Ang Hetzner ay mura at maaasahan sa Europe, kung nasa North America ka, tingnan ang OVH. Lalo na ang kanilang alternatibong makatipid sa gastos na tinatawag na SoYouStart. Maaari kang makakuha ng 4/8 4.5ghz, 64 RAM at isang NVME drive sa halagang $65 (Wala akong kaugnayan sa OVH, isa lang akong customer na may halos 100 server, at ito ay mahusay para sa akin) Mapapansin ko din na matanda na ako hehe, and one of my first job we had a decent sized data center on site. Ang pakikitungo sa mga SAN, tape drive (mga auto tape rotator noon ay mga server, atbp ay isang malaking PITA. Ang pag-iimpake ng mga tape at pagpapadala sa kanila sa ibang opisina para sa redundancy ng lokasyon ay palaging masaya Ang partikular na application na pinamamahalaan ko ay talagang naghihirap mula sa mababang GHz at walang lahat ng data sa memorya. Pinatakbo ko ang mga benchmark sa EC2, maaaring tumagal ng higit sa isang minuto ang ilang partikular na ulat na matatapos sa loob ng ~5 segundo sa isang katulad na instance ng EC2 na nagkakahalaga ng humigit-kumulang 10x. Ang application na ito ay talagang nangangailangan ng raw CPU. at oo mayroon kaming medyo malaking engineering team na na-optimize ang lahat ng query, Ãndices atbp Hanggang sa pagtitiklop, pag-backup, atbp. Itinakda ko ang lahat ng iyon, at sa totoo lang hindi ito isang malaking bagay. Ito ay ilang maikling kabanata sa aklat ng Postgres na nagpapaliwanag sa lahat ng ito nang napakasimple, kung paano i-configure, patuloy (at awtomatiko) na pagsubok, atbp Sumasang-ayon ako na ang mga SAN ay isang bangungot. Iyon ang dahilan kung bakit ko ipinapadala ang lahat ng aking mga WAL (PG backup file) sa S3 (at kalaunan ay Glacier). Sa ganoong paraan hindi ko na kailangang isipin ang tungkol sa pagkawala ng mga file na iyon at ito ay mura Sa palagay ko, may maling kuru-kuro na ang mga ganitong uri ng mga pagsasaayos ay masyadong kumplikado para sa isang engineer na mag-set up, na nangangailangan ng walang katapusang maintenance. Sa katotohanan, maaari mong i-set up ang lahat sa loob ng wala pang isang linggo at kailangan lang talaga ng maintenance kapag gusto mong i-upgrade ang Postgres (maaaring nagbago ang ilang mga setting). Tinatantya ko na tumatagal ito ng humigit-kumulang 5 oras bawat taon ng pagpapanatili Ang self-serve na imprastraktura ay lumalabas na malamang na maging mas mabubuhay habang patuloy naming pinapahusay ang huling milya na paghahatid at pagpapalawak ng fiber access. Magiging cannibalizing ba ang cloud? Siguradong siguro Ang nakukuha sa iyo ng cloud ay ang kakayahang ilagay ang iyong data/load ng trabaho sa ubod nang hindi kinakailangang gumawa ng mga espesyal na deal sa iyong lokal na isp, at na may higit na katatagan pagkatapos ay malamang na kayang bayaran maliban kung ang iyong kahit man lang sa maramihang 20 talampakang lalagyan ay puno ng mga server scale ng compute na pangangailangan httpswww.cloudflare.com/products/tunnel/ httpsgithub.com/cloudflare/cloudflared httpsdevelopers.cloudflare.com/cloudflare-one/connections.. I-edit: Kung ang sinuman ay interesado sa self-hosting, ito ay simple sa cloudflared. Mayroon akong 2017 Google Pixelbook na nagpapatakbo ng Ubuntu sa custom na firmware na naghahatid ng website na nakabatay sa Flask. Nagcha-charge ang desk ko habang nakakonekta sa isang guest wifi network. Nakatanggap ito ng 100/100 na marka ng Mobile PageSpeed ​​at tumatagal ng 0.8 segundo upang ganap na ma-load Mula sa DO nakukuha ko ang lahat ng benepisyo ng isang maaasahang kumpanya, scalability, automated backup atbp atbp. Walang paraan na magbago ako Ang Hetzner cloud ay mayroon na ngayong dalawang lokasyon sa US Wala pa ring dedikadong server sa US kahit na - magiging totoo ang mga iyon. Kahit na ang kanilang kasalukuyang cloud offering mismo ay ~30% na ng presyo ng mga pangunahing katumbas ng cloud.. Tulad mo, pinapatakbo ko rin ang aking mga serbisyo mula sa isang nirentahang pisikal na server. Ginagamit ko ang Versaweb, ngunit ang kanilang mga makina ay masyadong luma. Dati hindi ko gusto si Hetzner dahil nakarinig ako ng masasamang bagay tungkol sa mga ito na nakakasagabal sa iyong pinapatakbo Gayunpaman, lumipat ako sa kanila noong Disyembre nang namatay ang aking Versaweb instance, malamang na SSD mula sa katandaan. Nagbabayad na ako ngayon ng 50% ng binayaran ko sa Versaweb, at maaari akong magpatakbo ng 6 na mga pagkakataong Postgres. Pagkatapos ay nagtataka kung ito ay nagkakahalaga ng pagbabayad ng $700 ng $800 para sa isang pinamamahalaang serbisyo na may magarbong cloud UI, mga awtomatikong pag-upgrade at pag-backup, atbp Para sa isang 1 tao na palabas o maliit na startup, sa tingin ko ay hindi. Mas mura kung gumamit ng available na serbisyo at mag-dump ng mga backup sa S3 o mas mura Kumpanya na dating pinagtatrabahuhan ko sa kumpanyang A na may masayang bayad na apat na beses sa sinisingil ng kumpanya B para sa eksaktong parehong serbisyo, dahil lang handang magpadala ang kumpanyang A ng mga quarterly na invoice sa paraang mahusay na gumagana sa aming sistema ng pag-invoice. Para sa mga kumpanya, ang pagtitipid ng ilang daang bucks dito at doon madalas ay hindi katumbas ng mga abala sa pagpapakilala ng anumang karagdagang alitan May implicit cost doon. Kung isa o dalawa lang sa mga bagay na iyon, kunin lang ang mga pinamamahalaang serbisyo Kung magsisimula kang mag-scale, kumuha ng uri ng administrator ng empleyado para makatipid dito Kung hindi, kailangan kong umarkila/kontrata ng isang taong napakaranasan, o maglaan ng isang solidong buwan o higit pa sa aking oras (na hindi available), para lang maging 100% sigurado na maibabalik namin ang mga naka-journal na backup ng PITR nang mabilis. Makakatipid ako ng magnitude sa cloud sa iba pang mga lugar, ngunit ang mapagkakatiwalaang pinamamahalaang PostgreSQL ay isang medyo madaling tawag (kahit na ang entry-level na tag ng presyo ay higit pa kaysa sa iyong inaasahan) Ang isang maagang startup na hindi kayang mawalan ng isang oras ng data ng produksyon ay malamang na masyadong marupok upang mabuhay pa rin Ito ay isang maagang pagsisimula - magkakaroon ng mas malalaking pagkaantala kaysa doon sa serbisyo at sinumang mga customer na tumakas pagkatapos ng isang oras na pagkawala ng data ng produksyon ay hindi pa rin gaanong pinahahalagahan ang produkto (Sa partikular na startup na iniisip ko, mayroon na akong magandang automated na madalas na DB-online na pag-dump sa S3 na may ipinapatupad na pagpapanatili, ngunit hindi ko naisip na sapat iyon para sa partikular na sitwasyong ito. Ngunit hindi ako nakakasigurado na makakabawi tayo gamit Ang PITR/journaling ay magdaragdag ng isang bagong punto ng kabiguan na susugal sa tagumpay ng isang negosyo na maaaring magkaroon ng 9+ figure exit sa loob ng ilang/ilang taon, para lang makatipid ng ilang daan.) Gayundin, sa palagay ko ang ilan sa mga naunang startup na may hindi gaanong hinihingi na mga pangangailangan, ngunit mas maingat sa kanilang mga obligasyon sa data ng mga customer/user, ay nagpapabaya pa rin sa pinakamababang mga pangunahing kasanayan. Siguro isang madaling paraan para pahalagahan: Isipin ang isang biz news story sa HN, sa ilang startup operations na bumabagsak ng bola, na may mga pangalan ng mga startup founder na nakalakip, at ang kuwento ay nagsasabi at lumalabas na wala silang magandang backup Pagkatapos ay isa sa mga ang mga cofounder, na marahil ay hindi gaanong natutulog habang ang kanilang kumpanya ay nag-crash sa paligid nila, ay tumugon "Ang data ng customer ay hindi ganoon kahalaga sa isang maagang pagsisimula; kung ito ay, kami ay masyadong marupok"(nag-type bago maihagis ng cofounder ang laptop ng taong iyon sa kabila ng silid upang pigilan sila sa pagta-type). Hindi ito magiging magandang tingnan Tatalakayin ko ito sa dulo >Imagine a biz news story on HN, on some startup operations dropping of the ball, with startup founders'names attached, and the story says and it turns out they didn't have good backups ITYM at lumalabas na hindi nila na-back up ang huling oras Naiisip ko ang lahat sa iyong senaryo, maging ang mga hindi naputol na piraso, at tila normal ang lahat, maliban kung nabasa mo ang "Ang aming mga startup na kliyente, na gumagamit sa amin sa loob ng isang buwan, lahat ay umalis kaagad nang mawala ang huling oras ng kanilang data"Hindi ko talaga maisip ang scenario na iyon Ngayon, ipinagkaloob, may ilang mga negosyo kung saan ang benepisyo sa paggamit nito ay wala kahit isang oras ng nawawalang data IOW, ginagamit ito ng mga customer dahil hindi ito mawawalan ng anumang data: pakikipagtulungan sa online na dokumento[1], halimbawa[2]. Kung mayroon kang isang meltdown na nawalan ng isang oras ng huling nai-input na data, pagkatapos ay sigurado, asahan ang lahat ng apektadong kasalukuyang mga gumagamit na agad na tumakas [1] Bagama't, sa personal, mababawasan ko ang panganib sa pamamagitan ng pagdoble sa kasalukuyang dokumento sa localstorage habang ito ay ine-edit [2] Baka kailangan din ng stock exchange ang system para mapanatili ang huling oras ng data? Ano pa? Sa palagay ko kahit na para sa mas malalaking koponan ay maaaring magkaroon ng kahulugan na pamahalaan ang mga database sa iyong sarili, sa pag-aakalang mayroon kang kakayahan na gawin ito nang maayos. Napakaraming bagay na maaaring magkamali sa mga pinamamahalaang serbisyo at hindi nila itinatago ang pinagbabatayan na pagpapatupad tulad ng ginagawa ng mga bagay tulad ng block storage o object storage. Ang pinakamataas na pagganap ay tiyak na mas masahol pa - ngunit hindi ako masyadong nag-aalala kung may mas matagal pa ring tumakbo. Tiyak na tama ka sa pagkakaroon ng mas maraming automation sa pagbibigay ng isang server, isang bagay na hindi ko ginawa sa isang pisikal na server May root server ako noon para sa mga pet projects ko, pero sa totoo lang, walang sense iyon. Hindi ako nagpapatakbo ng mataas na trapiko, kalkulahin ang matinding SaaS sa aking mga makina. Ito ay isang static na website lamang at ilang mga proyekto. Bumaba ako sa buwanang gastos na 24 na may kasamang storage box na 1 TB para iimbak ang lahat ng aking data Ang pangunahing isyu sa anumang senaryo na kinasasangkutan ng tunay na hardware ay kailangan mo ng mga tauhan na may kakayahan sa parehong hardware at Linux/UNIX system. Maraming nagsasabing nasa kanilang mga resume at pagkatapos ay hindi maaaring gumanap nang isang beses sa trabaho (sa aking karanasan pa rin). Sa palagay ko, ang isa sa mga pangunahing dahilan para sa pagsabog ng cloud world ay tiyak ang kahirapan sa pagbuo at ang gastos sa pananalapi sa pagbuo ng mga naturang koponan. Bukod pa rito, mayroong medyo natural (at kinakailangan) na alitan sa pagitan ng mga developer ng application at mga tao ng system. Ang mga tao sa system ay dapat palaging tumutulak at nakikipagtalo para sa higit na seguridad, mas maraming proseso, at mas kaunting deployment. Dapat palaging nakikipagtalo ang dev team para sa higit na flexibility, mas maraming release, at mas kaunting proseso. Ang mabuting pamamahala ay dapat na humampas sa gitnang landas sa pagitan ng dalawa. Sa kasamaang palad, ang mga walang kakayahan na tagapamahala ay madalas na nagpasya na alisin ang mga tao ng system at ilipat ang mga bagay sa lupain ng AWS Sa wakas, mapapansin ko lang na ang cloud architecture ay masama para sa planeta dahil nangangailangan ito ng sobrang provisioning ng mga cloud provider, at nangangailangan ito ng mas maraming computer power sa pangkalahatan dahil sa maraming layer ng abstraction. Bagama't ang sinumang proyekto ay may pananagutan sa kaunting basurang ito, ang buong pandaigdigang ulap bilang isang pinagsama-samang ay napakasayang. Nakakaabala ito sa akin at malinaw na malamang na mga kadahilanan bilang isang emosyonal na bias sa aking mga pananaw (napakaraming asin para sa lahat ng nasa itaas) Ang argumento ay maaaring gawin na maaari kang bumuo ng isang paraan upang magrenta ng mga pisikal na server ng pre-income, pagkatapos, kapag ito ay makatuwiran, maaari mong gamitin ang karaniwang pamumura -o- Seksyon 179 sa mga tahasang pagbili at/o Seksyon 179 na pag-upa Bilang halimbawa, maaari kang mag-deploy ng isang napakahusay na grupo ng sabihin nating apat na ganap na labis na na-provision na $100k na pisikal na 1U na makina sa iba't ibang colo facility para sa redundancy. Mayroong lahat ng uri ng trick dito para sa load balancing at failover sa XYZ cloud service, DNS, anycast, kahit anong gusto mo. Maaari kang pumunta sa iba't ibang mga colo facility na nagpapatakbo ng mga datacenter sa buong mundo, ipadala ang hardware mula sa vendor papunta sa kanila, pagkatapos ay ibigay ang mga ito ng Ansible o anumang gusto mo nang hindi nakikita ang pasilidad o nahawakan ang hardware Kaya ngayon ay mayroon kang kalabisan na pisikal na hardware na ganap na magpapatakbo sa paligid ng karamihan sa mga provider ng cloud (lalo na para sa I/O), mga nakapirming gastos tulad ng lahat ng maaari mong bandwidth (na walang 800% markup ng mga serbisyo sa cloud, atbp) - hindi na naghihintay para sa hindi maiiwasang $50k na cloud bill o sinusubukang subaybayan (sa pagkataranta) kung ano ang naging sanhi ng paglampas mo sa iyong na-configure na badyet sa cloud sa isang araw sa halip na isang buwan. Oh btw, hindi mo ikinukulong ang iyong sarili sa mga nakakalokong proprietary API para makapagbigay at gumamit pa ng mga serbisyo maliban sa mga virtual machine na inaalok ng $BIGCLOUD Kung gumagawa ka ng anumang ML maaari kang magsanay sa iyong sariling hardware o (o sa paminsan-minsang ulap) at magpatakbo ng inference 24/7 sa mga bagay tulad ng NVIDIA A10. Ang tuluy-tuloy na cloud rental para sa mga GPU instance ay hindi kapani-paniwalang mahal at ang ROI sa pagbili ng hardware ay karaniwang nasa hanay ng ilang buwan (o nauuna halos kaagad sa Seksyon 179). Bilang halimbawa, gumawa ako kamakailan ng benchmark sa Nvidia A10 para sa isang modelo na aming inihahatid at makakagawa ito ng mahigit 700 inference request/s sa FP32 na may latency na wala pang 10ms. Sa isang solong A10 bawat chassis sa apat na malulusog na pagkakataon na 2800 req/s (at maaaring ma-tune pa) Pagkatapos, kung talagang malaki ka, maaari kang magsimulang makakuha ng mga cabinet at higit pa. Sa mga tuntunin ng mga pagkabigo sa hardware tulad ng nabanggit, ang masasabi ko lang ay dalawahang PS RAID-ed out, atbp hardware ay (sa aking karanasan) lubos na maaasahan. Ang pagkakaroon ng maraming buong cabinet ng hardware sa nakalipas na mga pagkabigo sa hardware ay kakaunti at malayo sa pagitan at hardware isasama ng mga vendor ang hindi kapani-paniwalang mga SLA para sa kapalit. Inaabisuhan mo sila tungkol sa kabiguan, nagpadala sila ng isang tech< walong oras nang direkta sa pasilidad ng colo at palitan ang disk, PS, atbp ng kumikislap na ilaw Ang aking karanasan ay isang (magandang) mapagkukunan ng FTE na madaling pamahalaan ito hanggang sa maramihang sukat ng cabinet. Sa iyong punto, ang kasalukuyang isyu ay marami sa mga taong ito ang naagaw ng malalaking tagapagbigay ng ulap at pinalitan (sa merkado) ng mga mapagkukunan na maaaring mag-navigate sa hangganan ng katawa-tawa na gumagamit ng dose-dosenang (kung hindi higit pa) mga produkto/serbisyo mula sa $ BIGCLOUD Nalaman ko rin na ang pagsasaayos na ito ay talagang mas maaasahan kaysa sa karamihan ng $BIGCLOUD. Hindi na magtataka kung ano ang nangyayari sa $BIGCLOUD outage na hindi nila makikilala (at na wala kang kontrol). Mula sa isang background sa telecom at pangangalaga sa kalusugan, talagang napakagulo para sa akin kung paano lumalala ang oras ng pag-andar sa mga provider ng cloud. Karaniwan, maaari mo lang sabihin sa mga customer na "oh ang internet ay nagkakaproblema ngayon"dahil malamang na makakakita sila ng mga headline tungkol dito ngunit para sa maraming mga application na ito ay ganap na hindi katanggap-tanggap - at dapat nating asahan ang mas mahusay. [0] - httpswww.section179.org/section_179_deduction/ [1] = httpswww.section179.org/section_179_leases/ Kung gusto kong mag-spin up ng isang bagong proyekto o subukan ang pagho-host ng bago, tatagal ng ilang minuto at nakuha ko na ang mga script. Mabilis ang mga deployment, mababa ang maintenance, at mas marami ako para sa aking pera Para sa sinumang interesado ito ang magaspang na hiwa ng aking ginagamit: * Magagawang pamahalaan ang lahat * Isang maliit na piraso ng terraform para sa ilang mga entry sa DNS na maaari kong palitan isang araw * Restic para sa pag-backup, muling kinokontrol ng ansible * tailscale para sa vpn (Mayroon akong ilang pi's tumatakbo sa bahay, walang major ngunit ginagawang madali at secure ang tailscale) * docker-compose para sa halos lahat ng iba pa Ang pangunahing app ay Clojure, kaya nagpapatakbo ako ng katutubong JVM. Ang database ay ganap na naipamahagi, RethinkDB, ngayon ay nagtatrabaho sa paglipat sa FoundationDB Ang mahalaga ay huwag manu-manong pamahalaan ang anumang bagay, hal. tratuhin ang mga pisikal na server tulad ng anumang iba pang cloud server. Hindi dapat mahalaga kung ito ay pisikal o virtualized Nakakita ako ng maraming hindi gaanong karanasan na mga tao na labis na nagbabayad para sa hetzner at katulad na kapag ang isang $5-10 vps ay gagana sana Oo, sinusuportahan mo ang iyong sariling hardware sa puntong iyon. Hindi, ito ay hindi isang malaking sakit ng ulo Ang pinakamalaking karagdagang gastos dito ay ang pagrenta ng higit pang mga IPv4 address, na napakalaki ng sinisingil ni Hetzner sa ngayon na kakaunti ang magagamit. Anuman ang gagawin mo, ay magsisimula sa 0 user, at ang isang buong tunay na makina ay labis-labis na para sa 0 load na makukuha mo. Ina-upgrade mo ang iyong VPS sa isang pares ng mga tunay na makina, pagkatapos ay sa isang maliit na nirentahang cluster, at pagkatapos ay sa isang datacenter (kung may hindi nag-undercut sa isang iyon). Ang lahat ng iyon ay may mga predictable na bill at nangungunang performance para sa kanilang presyo Ang anumang bagay na pagmamay-ari mo sa isang colo ay magiging higit pa bawat buwan. Noong nagkaroon ako ng mga koneksyon kung saan maaari akong magbayad para sa isang static na IP, iyon ay karaniwang $5/buwan Nangungupahan ako ngayon ng isang medyo mababang server, ngunit ito ay $30/buwan. Higit pa sa lahat ng kailangan ko, ngunit ito ay maganda. At hindi sila nag-drop ng suporta para sa aking OS habang nagdaragdag ng mga presyo upang mapabuti ang suporta o isang bagay. (Kahit na mayroon akong ilang paunang flakey na hardware na kailangang mapalitan) gaya ng itinuro mo, ang bare metal ay ang paraan upang pumunta. ay gumagana ang kabaligtaran ng cloud - medyo mas maraming trabaho sa simula ngunit mas kaunti ang mga gastos sa dulo Higit pang impormasyon httpseuropa.eu/youreurope/business/taxation/vat/cross-bor.. Ang pag-set up at pamamahala ng mga Postgres ay isang sakit. Mas mainam na magkaroon ng mas simpleng paraan para maayos ito 1. Pinipilit na mai-reproducible ang config, dahil bababa ang mga VM 2. Maaari kang makakuha ng mabibigat na diskwento sa AWS na nakakabawas sa sakit 3. Ang iba pang mga bagay na mayroon kang access sa itaas ng mga VM na mas mura/mas mabilis kapag ang iyong mga bagay ay nasa cloud na 4. Mas madaling magkaroon ng dokumentadong system config (hal. AWS docs) kaysa sanayin ang mga tao/dokumento kung anong mga espesyal na bagay ang mayroon ka sa bahay. Lalo na kapaki-pakinabang sa pagkuha ng mga bagong tao 5. Hindi mo kailangan ng space o redundant power/internet/etc on premesis. Sapat lang para hayaan ang mga tao na patakbuhin ang kanilang mga laptop Gumamit ako ng VPS bago iyon, ngunit huminto at lumipat sa isang pisikal dahil ito ay isang mas mahusay na deal at hindi kami tumakbo sa limitasyon ng CPU (ation) s Ang pagsubaybay sa disk ay hindi masyadong mahirap bagaman. Para sa mga hard drive, patakbuhin ang smartctl isang beses sa isang oras, alerto kapag ang mga na-relocate o nakabinbing sektor ay mabilis na lumago o umabot sa 100. Para sa mga SSD, i-cross ang iyong mga daliri; sa aking karanasan sa ilang libo, sila ay may posibilidad na magtrabaho nang mahusay hanggang sa mawala sila sa bus, hindi na muling makikita. Magkaroon ng plano sa pagbawi ng data na hindi nagsasangkot ng pag-iimbak ng data sa parehong mga modelong device na may halos kaparehong kapangyarihan sa oras-oras na mga error sa firmware na nauugnay sa oras ay totoo Ang Hetzner ay may API para sa pag-order ng mga nakalaang server, at isang API para sa pag-install ng OS (o para sa pag-reboot upang iligtas at i-flash ang anumang imahe na gusto mo) Sa palagay ko, kung nag-iimbestiga ako sa mga komersyal na opsyon, naisaayos ko ang "trunk"sa opisina na may isang komersyal na solusyon sa isp, static na IP, magandang IT hardware marahil, ngunit mula sa alam ko sa eksaktong sandaling ito kung ang isang kliyente ay nangangailangan ng pagho-host. d laging diretso sa pagrenta ng vps I was more of a junior dev at the time so maybe I was anbut I don't miss it at all. Sa teorya, sumasang-ayon ako sa iyong sinasabi, ngunit ang pag-deploy ng Dockerfile sa isang bagay tulad ng Google Cloud Run ay mas madali. Oo, nagbabayad ako ng higit sa kung ano ang aking pamamahalaan ang sarili kong VPS, ngunit sa tingin ko ito ay higit pa sa na-offset ng mga oras ng dev na na-save - may problema ang pisikal na hardware, hal. fan failure ->live na na-migrate ang VM ko sa ibang host, wala akong napapansin o pakialam - sumabog ang pisikal na hardware ->nagre-restart ang VM ko sa ibang host, baka mapansin ko pero wala akong pakialam Ang pagpaplano ng kalamidad ay mas madali sa mga VM (kahit na may mga alagang hayop at hindi baka) Para sa isang baguhan, ang mga cheapest ay nakakakuha ng trabaho Sigurado ako na habang umuunlad ang cloud computing, nagiging mas karaniwan ang mga handog na ito May isa pang aspeto ng cloud computing. Ang medium hanggang malalaking kumpanya, ay binibilang ang cloud computing bilang solong digit na porsyento sa kanilang mga kalkulasyon ng gastos. Nangangahulugan ito na ang mga desisyon na ginawa ng mga tagapamahala at mga koponan, ay madalas na naghahanap ng pagiging maaasahan at scalability (ilalagay sa kanilang mga presentasyon) sa halip na "mahal o mura ba ang aking setup"Pinagtibay ng aking employer ang cloud bilang isang negosyo/pinansyal na laro, hindi isang relihiyoso. Madalas kaming naglalagay ng mga bagong build sa cloud at lumilipat sa isang data center kung naaangkop sa ibang pagkakataon Ang mga app na nasa prem ay nagkakahalaga ng humigit-kumulang 40% na mas mababa. Ang mga app na mas matipid sa cloud ay manatili doon Sa tingin ko, ang AWS/GCP/Azure ay hindi masyadong mapagkumpitensya sa gastos na mga alok sa Europe. Ang hindi ko nakikita ay katibayan niyan para sa US para sa parehong spec, sigurado. Sa tingin ko ang mga virtual ay may katuturan sa magkabilang dulo - alinman sa dinamikong scalability para sa malaking N ay mahalaga, o kailangan mo lang talaga ng isang maliit na bahagi ng isang pisikal na kahon. Ang pagbabayad ng 45/buwan para sa isang bagay na tumatakbo sa paghahanap sa 5/buwan ay hindi rin makatwiran, at nagbibigay sa iyo ng higit na kakayahang umangkop para sa hindi pagsasama-sama ng mga bagay para lamang magamit ang iyong server Panatilihin ang mga backup sa anumang kaso. Mas mabuti sa ibang provider o hindi bababa sa ibang pisikal na lokasyon. At, siyempre, subukan ang mga ito At kung pinamamahalaan mo ang isang mahusay na backup na rehimen, at sinusubaybayan pa rin ang iyong data/app, ang pagsubaybay ba ay nagdudulot ng isang makabuluhang karagdagang paghihirap? -- [1] sa katunayan kung awtomatiko mo ang proseso ng pagpapanumbalik sa isa pang lokasyon, na ginagawa ko para sa ilang mga bits ko, maaari mo lang pindutin ang button na iyon at i-update ang DNS kapag kumpleto na, at maaaring maglaan ng kaunti pang RAM+cores (aking pagsubok ang mga salamin ay mas maliit kaysa sa mga live na VM dahil hindi nila kailangang maghatid ng mga pattern ng tunay na paggamit) Eksakto kung ano ang ginagawa ko para sa aking sarili at sa aking mga kliyente. Nakakatipid ng toneladang dosh Kahit na gusto kong mag-update, ito ay isang kaso lamang ng pagkuha ng pinakabagong bersyon sa docker-compose na template at muling pagpapatakbo ng ansible na playbook. Malinaw na kung ang pag-upgrade ay nangangailangan ng higit pa, gayunpaman, ngunit hindi ito naiiba sa anumang iba pang gawain sa pag-setup Marahil ang tanging bagay na _need_ kong gawin na manu-manong ginagawa ko ay subukan ang aking mga backup. Ngunit mayroon akong isang script para sa bawat proyekto na ginagawa ito kaya nag-SSH lang ako, patakbuhin ang one-liner, suriin ang resulta at tapos na ito. Ginagawa ko iyon halos isang beses sa isang buwan o higit pa, ngunit nakakatanggap din ako ng mga email kung nabigo ang isang backup Kaya ito ay maaaring walang oras sa lahat. Kadalasan ito ay marahil 1-2 oras sa isang buwan kung kumukuha ako ng mga update sa isang semi-regular na batayan. Ngunit lalago iyon sa mas maraming bagay na iyong hino-host at pinamamahalaan Sa madaling salita, ang pagkakaiba lamang ay kung saan nagmula ang ansible na file ng imbentaryo. Alinman ito ay isang static na listahan ng mga IP, o ito ay nagmula sa terraform Kung gusto mo ng ECC RAM, mukhang 60/buwan iyon, at umaakyat din ito sa mas malakas na 8-core na CPU Anuman, kung pinag-uusapan natin ang tungkol sa isang "full production environment at isang duplicate na staging/standby na kapaligiran"(upang banggitin ang taong sinagot mo), kung gayon ang 60/month * (2 o 3) ay mura pa rin kumpara sa anumang AWS ng startup bill na nakita ko Iba-iba ang mga kaso ng paggamit, ngunit malamang na sumasang-ayon ako na ang AWS/GCP/Azure ay hindi ang sagot sa bawat problema Para sa isang tao na maaaring magkasya sa kanilang aplikasyon sa isang $4 VPS, malinaw na magiging mas mura iyon kaysa sa anumang bagay na walang metal, ngunit ang ulap ay tumataas nang napakamahal sa maraming mga kaso. Ang bare metal ay hindi rin ang sagot sa bawat problema, ngunit maraming mga tao sa industriya ang mukhang hindi pinahahalagahan kung kailan ito ang tamang sagot.