|
| Eduard wrote:
| wrt
| https://gist.github.com/pietrorea/9081e2810c20337c6ea85350a3... :
|
| Don't use "here documents" or "here strings" for passwords. Even
| in bash versions as recent as 2020, they create a temporary file
| within `/tmp/` with the secret inside. If the timing is unlucky,
| it will get written to disk and therefore leave permanent traces
| even after reboot. Only shredding will securely delete the data.
| variant wrote:
| Not quite the angle the author was getting at, but have noticed
| at $dayjob that staff who are able to do some incredibly complex
| automation against Linux-based stacks, containers, etc. - get
| quite lost when something low level isn't working right. Gaps in
| understanding of OS level troubleshooting and concepts gets them
| stuck.
|
| You're wise to keep staff around who understand the low level
| stuff, in addition to the shiny new abstraction based tools.
| guilhas wrote:
| I do run my home server, but it is definitely an investment, and
| for some use cases it might not be worth it
|
| The hardware is the cheapest part, then you have to pay
| electricity, manage backups, fix raid problems, have a good
| internet. Pay attention to how the server is doing. And if you're
| serving a business, you have to be available debug any issue.
| Investing a lot of time you could be actually working on the
| project
|
| But definitely most devs should have a small home server for
| trying unimportant things. Nothing complicated, just keep the
| standard hardware config. There are second hand servers available
| for 50$. Install some Linux and have it running 24/7. Quite fun
| experimenting and hosting simple things
| tester756 wrote:
| How about security?
|
| Any good resources / practices on making your server safe? and
| maybe not those kernel level tricks
|
| also automated deployment
|
| so I can commit and it'll be deployed on the server
|
| I thought about using GitHub Actions so when I push, then the
| server receives HTTP Ping and clones repo and setups the app
| jimmaswell wrote:
| From my experience I would never recommend giving up control of
| your servers to some third party. Weeks wasted waiting for
| useless support teams to get back to you on something you could
| have fixed in 10 minutes if you had root. Opaque configuration
| issues you can't debug without said useless support team. Needing
| permission and approval for every little thing on prod. If I was
| ever at a high level in a company I'd never go farther than some
| AWS load balancing or whatever on cloud instances we still have
| root on.
| mark242 wrote:
| > If I was ever at a high level in a company I'd never go
| farther than some AWS load balancing or whatever on cloud
| instances we still have root on.
|
| Your competitors would salivate at this statement, fyi. Speed
| is a competitive advantage. AWS is not "let's rent a big ball
| of EC2 servers and call it a day", and anyone who treats it
| like that is going to get eaten alive. If you have not looked
| at -- for example -- Dynamo, you should. If you have not looked
| at SQS, you should. The ability to have predictable, scalable
| services for your engineers to use and deploy against is like
| dumping kerosene onto a fire, it unlocks abilities and velocity
| that more traditional software dev shops just can't compete
| against.
| Hackbraten wrote:
| Our customer (300k+ employees) switched to AWS a couple of
| years ago and I simply hate it so much. The "predictable,
| scalable" service we're using, MSK, is a pain to develop
| against. Log files are all over the place, thanks to
| microservices and because no one, myself included, has a clue
| on how to make them manageable again. AWS's graphical user
| interface is a constantly changing mess. I hate clicking my
| way through a GUI just so I can download individual log files
| manually.
|
| I wonder how you folks manage to work with AWS and not hate
| it.
| jjav wrote:
| Yes, the absolute opaqueness of so-called serverless is a huge
| hit to productivity.
|
| Numerous times there's something weird going on and you're
| stuck trying to guess and retry based on largely useless logs
| until it somehow works better but you never really know what
| the root cause truly was.
|
| Meanwhile on my own server I'll ssh in and have complete
| visibility, I can trace and dump network traffic, bpftrace
| userspace and kernel code, attach debuggers, there's no limit
| to visibility.
|
| Yes lambda/serverless saves you a day or three in initial setup
| but you'll pay that time back with 10-100x interest as soon as
| you need to debug anything.
| joshstrange wrote:
| I don't know, abstraction is the name of the game and it makes my
| job 1000x easier. I have multiple servers running in my house
| that host everything from Plex to small little apps I've written,
| it all runs in containers and I couldn't be happier. Is being
| able to setup a Wordpress site with a script really something we
| should strive for?
|
| I've always been a fan on "standing on the shoulders of giants"
| and it's served me very well to have this mindset. I'm fine to
| dive deep when I have to but diving deep just to dive deep....
| not so much.
|
| Semi-recently I had need of a simple blog for a friends/family
| thing, I spun up a wordpress and mysql container and was done.
| Over a decade ago I used to setup and manage wordpress installs
| but it's not a skill I need.
|
| I find this article a little odd since they talk about server
| admin but then also scripting setup script for your server which
| is more in the "cattle" category for me and less in the "pet"
| that I would consider "server administration".
| mattbillenstein wrote:
| Also, this is the real "multi-cloud" people tend to ignore. All
| the clouds can run all the popular Linux distros, so if your
| target is one of those, you can run your app anywhere without a
| lot of hassle.
| skilled wrote:
| I have been running all my sites on a VPS exclusively since about
| 2004. I might not be a server architect but I like the idea of
| managing the server myself.
| nickdothutton wrote:
| It is partly for this reason that I'm funding an invite-only
| community shell/pubnix system.
| invokestatic wrote:
| I used to reach for shell scripts to configure servers, then
| Puppet, then Salt, and then finally to Ansible. Configuring
| servers declaratively is such a massive improvement over shell
| scripts. The fact that Ansible is agentless is also very nice and
| works very well for when you only have a handful of servers.
|
| Only thing I dislike is YML, which I think is yucky!
| jhickok wrote:
| Out of curiosity, have you tried tools like Pulumi? I've never
| used it but as a longtime Ansible user it's something that has
| my interest.
| SkipperCat wrote:
| We took the same path, using config management tools to
| automate our deployments. But after a while, we realized that
| the servers only existed to run apps, and those apps could be
| declaratively described as containers and the whole thing
| pushed to Kubernetes.
|
| That was our 'perfect world'. Reality was different and we
| still have a lot of servers running stuff, but what we did push
| into K8s really reduced our operations workload and we're
| pretty happy about that.
| ff317 wrote:
| It's a leaky abstraction, though. The problem is that many
| systems people that were raised only on these abstractions lack
| the depth to understand what's under the hood when those other
| layers do unexpected things.
| NikolaeVarius wrote:
| I dont think there is much abstraction about a apt get
| command and waiting for exit 0
| pier25 wrote:
| I know how to setup a basic VPS with firewalls, nginx, etc, but
| I'm scared to death to do that for a production environment
| available online.
| quickthrower2 wrote:
| > Compare this reality with cloud services. Building on top of
| them often feels like quicksand -- they morph under you, quickly
| deprecate earlier versions and sometimes shut down entirely.
|
| This rings true to me. On Azure anyway. Like the rest of tech you
| gotta keep up on the hamster wheel! Example: they canned Azure
| Container Services because of k8s - just imagine if you tightly
| integrated with that and now you meed to rewrite.
|
| Also not mentioned in the article is cost. Hertzner is loved on
| HN for this reason.
|
| That said k8s is probably a stable and competitive enough
| platform it makes a good tradeoff and by using it you invest in
| ops skills rather than specifically sys admin and I believe k8s
| skills will be long lasting and less fadish than proprietary
| vendor cloud skills.
| solatic wrote:
| Why can't people just pick the right tool for the job? The truth
| behind these managed services is that, for the correct usecases,
| they are VERY cheap. And for the wrong usecases, they are
| RIDICULOUSLY expensive.
|
| Most businesses have nightly cronjobs generating some kind of
| report that is then emailed to stakeholders. Why on Earth would
| you run a dedicated Linux box for that anymore? Glue a nightly
| trigger to AWS Lambda, send the report via AWS SES, and it's
| free. Literally, because it fits quite easily within the free
| plan. No $5/month VPS box, no patching, no firewalling, no phone
| calls from execs at 6 AM wondering why their report isn't in
| their inbox and you track it down to the server being down when
| the cronjob was supposed to fire.
|
| With that said, if you come to me and tell me what you want to
| add a new business feature to stream video for our customers off
| AWS, I'll first ask you why didn't you tell me you won the
| lottery, then I'll berate you for being stupid enough to spend
| your lottery winnings on the AWS bill.
|
| Pick the right tool for the job.
| joshstrange wrote:
| This is the real truth. People complain about certain services
| and theirs costs (Lambda being one I've heard) but I have a
| full side project that runs on lambda with extremely bursty
| traffic and it couldn't be more perfect. If I had sustained
| activity I might look into something else but it really does
| come down to picking the right tool for the job.
| TacticalCoder wrote:
| A very weird thread that degenerated into: _" PaaS vs self-
| hosted/self-owned hardware"_.
|
| I'm pretty sure most people sysadmin'ing their Linux servers are
| actually doing it with rented dedicated servers. TFA btw
| specifically mentions: _" don't manage physical hardware"_. Big
| companies like Hetzner and OVH have hundreds of thousands of
| servers and they're not the only players in that space.
|
| They don't take care of "everything" but they take care of
| hardware failure, redundant power sources, Internet connectivity,
| etc.
|
| Just to give an idea: 200 EUR / month gets you an EPYC 3rd gen
| (Milan) with shitloads of cores and shitloads of ECC RAM and a
| fat bandwith.
|
| And even then, it's not "dedicated server vs the cloud": you can
| have very well have a dedicated server and slap a CDN like
| CloudFlare on your webapp. It's not as if CloudFlare was somehow
| only available to people using an "entire cloud stack" (whatever
| that means). It's the same for cloud storage / cloud backups etc.
|
| I guess my point is: being a sysadmin for your own server(s)
| doesn't imply owning your own hardware and it doesn't imply
| either "using zero cloud services".
| tormeh wrote:
| > it doesn't imply either "using zero cloud services"
|
| Enter big-three cloud egress pricing. Designed to make sure
| that you have to go all-in.
| LoveGracePeace wrote:
| I generally agree, I have a cheap AWS Lightsail VPS (mainly for
| email hosting since my ISP blocks port 25 because I'm a
| "consumer" and they want to protect the world for consumer
| spammers) but also for flexibility. I like that the Internet is
| not at my doorstep (no open ports at home). So, cheap VPS,
| Wireguard and my home machines to serve whatever I want. I
| don't pay extra if I use a ton of CPU or disk IO, for example.
|
| Here is my Wireguard server (cheap VPS) and client (my home
| servers) config:
|
| # # Client (the actual self-host local server) #
|
| [Interface] ## This Desktop/client's private key ## PrivateKey
| = redacted
|
| ## Client ip address ## Address = 10.10.123.2/24
|
| [Peer] ## Ubuntu 20.04 server public key ## PublicKey =
| redacted
|
| ## set ACL ## AllowedIPs = 0.0.0.0/0
|
| ## Your Ubuntu 20.04 LTS server's public IPv4/IPv6 address and
| port ## Endpoint = redacted:12345
|
| ## Key connection alive ## PersistentKeepalive = 15
|
| # # Server (in the Wireguard context, exposed to the Internet)
| #
|
| [Interface] ## My VPN server private IP address ## Address =
| 10.10.123.1/24
|
| ## My VPN server port ## ListenPort = 12345
|
| ## VPN server's private key i.e. /etc/wireguard/privatekey ##
| PrivateKey = redacted
|
| PostUp = iptables -i eth0 -t nat -A PREROUTING -p tcp --dport
| 80 -j DNAT --to-destination 10.10.123.2 # Add lines for more
| ports if desired
|
| PostDown = iptables -i eth0 -t nat -D PREROUTING -p tcp --dport
| 80 -j DNAT --to-destination 10.10.123.2 # Add lines for more
| ports if desired
|
| [Peer] ## Desktop/client VPN public key ## PublicKey = redacted
|
| ## client VPN IP address (note the /32 subnet) ## AllowedIPs =
| 10.10.123.2/32
| rob_c wrote:
| why is this not required at interview for sysadmins?
|
| it would up the status of the industry overnight if everyone was
| at this level...
| 0xbadcafebee wrote:
| I still do not understand how anyone can become a software
| engineer and not stop to learn how an operating system or network
| works. I would have gone crazy if I'd never learned how network
| protocols work, or how web servers work, or virtual memory, or
| schedulers, security models, etc.
|
| It's like manufacturing tires without knowing how an engine
| works. Don't you want to know how torque and horsepower affect
| acceleration and velocity? How else will you know what forces
| will be applied to the tires and thus how to design for said
| forces?
| thepra wrote:
| I would argue to you don't even need to put that much effort into
| learning bash scripting, you can totally get away with knowing
| systemd, journalctl, nginx, apt, ssh and docker and how to run
| them through bash.
|
| Everything else is per-software files configuration and running
| commands from the software setup documentation.
|
| Plus, I would run a server with a DE simply because I want to be
| able to look into databases with a GUI and do config files
| editing with a nice text editor.
| dane-pgp wrote:
| > knowing systemd, journalctl, nginx, apt, ssh and docker and
| how to run them through bash.
|
| Or, the way things are going, systemd, systemd[1], systemd[2],
| systemd[3], systemd[4] and systemd[5].
|
| [1]
| https://www.freedesktop.org/software/systemd/man/journalctl....
| [2] https://www.freedesktop.org/software/systemd/man/systemd-
| jou... [3]
| https://www.freedesktop.org/software/systemd/man/systemd-mac...
| [4] https://www.freedesktop.org/software/systemd/man/systemd-
| log... [5]
| https://www.freedesktop.org/software/systemd/man/systemd-nsp...
| VWWHFSfQ wrote:
| Regular SA and DBA jobs will be almost completely gone within a
| decade or so. Same as there are hardly any auto mechanics anymore
| because nobody can fix any of the new cars but the manufacturer.
|
| You'll only find those jobs at one of the handful of cloud
| companies. Nobody will know how to do anything for themselves
| anymore and all this experience and knowledge will be lost.
|
| There are no more actual administrators. Just users paying rent.
| tester756 wrote:
| >Same as there are hardly any auto mechanics anymore because
| nobody can fix any of the new cars but the manufacturer.
|
| wait, what? definitely not in eastern eu
|
| it seems like there's one mechanic per a few kms
|
| but maybe due to the fact that average car is relatively old
| pjmlp wrote:
| They are called DevOps now, and management expects them to do
| everything that isn't pure development including classical IT,
| and also jump in to fix development if the respective dev is on
| leave.
|
| Yes, I know that isn't what DevOps is supposed to be, but we
| all know how Agile turned out, management has a magic touch to
| distort such concepts.
| [deleted]
| trabant00 wrote:
| I've been hearing this for the past 20 years. And now my
| sysadmin skills are more and more in demand. For the past 5
| years or so I started making more money than a dev because of
| supply and demand.
|
| Rent to AWS actually drives demand up quite a lot since the
| bills are huge and very few people understand what is under the
| hood and how it can be optimized.
|
| I doubt very much things will change in the near future. In the
| far one... who knows.
|
| Edit: car mechanics with their own shop make significantly more
| money than me and it seems to only get better for them as cars
| become more complex.
| dymax78 wrote:
| > Rent to AWS actually drives demand up quite a lot since the
| bills are huge and very few people understand what is under
| the hood and how it can be optimized.
|
| A few years ago I participated in a Splunk deployment and the
| cloud solution utterly dwarfed an in-house enterprise
| solution, in regards to cost. Even in the event that cost was
| irrelevant, certain sectors (financial institution(s)) are
| going to have a difficult time pivoting to a cloud-based
| solution and relinquishing control over the underlying
| infrastructure.
| Nextgrid wrote:
| Out of curiosity, how do you find old-school sysadmin gigs? I
| find that everything nowadays requires knowing the specifics
| of a particular cloud and their managed services as opposed
| to raw Linux or networking knowledge.
| ugjka wrote:
| The low level stuff won't magically disappear, you still will
| need someone who can debug the kernel or whatever is under
| the hood when shit blows up in everyone's face
| candiddevmike wrote:
| Blame the folks demonizing/shaming having "pet" servers and
| pushing immutable infrastructure. Linux server administration is
| quite enjoyable, and with how well apps these days can scale
| vertically, it really takes a special kind of workload to need
| (and actually saturate) fleets of servers.
| notyourday wrote:
| > Blame the folks demonizing/shaming having "pet" servers and
| pushing immutable infrastructure. Linux server administration
| is quite enjoyable, and with how well apps these days can scale
| vertically, it really takes a special kind of workload to need
| (and actually saturate) fleets of servers.
|
| You don't need pet servers. Puppet or Ansible make your
| baremetal cattle.
| candiddevmike wrote:
| I think most folks would argue "cattle" means using imaging
| to manage/replace your fleet. Using something like puppet or
| ansible against a fresh install implies a level of
| individualism towards each system as they "may" have minute
| details based on when puppet/ansible ran, even if they're
| part of a dynamic inventory of some sort.
| notyourday wrote:
| I'm not following, sorry.
|
| This is cattle:
|
| * PXE boot server(s)
|
| * Image contains masterless puppet bootstrap.
|
| * Server(s) asks git - "give me the bootstrap for my mac
| address"
|
| * Server(s) gets a list of classes to apply.
|
| * Server(s) applies classes.
|
| Done.
| [deleted]
| [deleted]
| 0xCMP wrote:
| In my experience Pet servers are a good starting point (you
| really should _graduate_ from Pet servers into all the various
| immutable/cattle stuff), but it can quickly require discipline
| from the Admins.
|
| They can't be doing one-off undocumented config, package, and
| network/firewall changes which make it impossible to setup
| another server reliably. At $company I moved us to
| Terraform+Packer (to get them used to immutable deploys, but
| still just an EC2 instance) then Pulumi+Docker+Fargate so we
| could fix our deployment velocity. The CTO was constantly
| afraid everything would break; mostly cause it actually would
| break all the time. Now basically anyone can deploy even if
| they're not a SysAdmin.
|
| That's not to say you can't automate a Pet Server, but it's a
| lot more likely for someone to "just once" make some changes
| and now you don't trust your automation. In our case we had
| SaltStack and we were blocked by the CTO from running it unless
| it was off-hours/weekend.
| candiddevmike wrote:
| Sounds like you need a new CTO.
| 0xCMP wrote:
| As turns out a lead developer can't unilaterally change the
| CTO. Not sure how it works for you. I can control tech,
| direction, etc. or move on to another job.
|
| I chose to work with the CTO/Team to figure out a solution
| everyone could live with. I even chose a more annoying
| solution (Packer) initially just to make sure people felt
| comfortable and avoid changing things anymore than I had
| to.
| NikolaeVarius wrote:
| I find people dont know how amazing a "immutable" server
| fleet is until you've experienced it.
|
| It was so trivial to terminate and restart dozens of servers
| at any given time since unless there was a mistake in the
| cloud-init, we could bootstrap our entire infrastructure from
| scratch within an hour.
|
| It was amazing, never had to deal with something missing on a
| server or a config being wrong in a special case. Dozens of
| hosts just purring along with 0 downtime since the moment
| anything became unhealthy, hosts would start auto-booting and
| terminate the old instance.
| bblb wrote:
| I work in IT Operations of a big IT house. 100% local gov
| customers. We fully manage around 5000 pet servers. ~30
| sysadmins and some of us do architecture designing also.
| There's also a separate networking team of about 10 network
| specialists.
|
| Senior sysadmins are really hard to come by today, not to
| mention someone who wants to do architecture also.
|
| My hunch is that the 5000 onprem pet servers are not going away
| any day soon, because a massive amount of it is legacy systems
| that take a long time to migrate to cloud, if ever. Also the
| work stress is just ridiculous. So much stuff to do, even with
| automation. Only reason I still do this is that I like the "old
| school" tech stack vs. cloud IaaS/PaaS alternatives.
| readingnews wrote:
| >>Senior sysadmins are really hard to come by today, not to
| mention someone who wants to do architecture also.
|
| I am not so sure... I am a well seasoned sysadmin, been doing
| server, network, architecture. I consider myself a solid
| linux/network expert and have managed datacenters. When I
| look for a new/more exciting job, or for a pay raise, all I
| see are "cloud, AWS, devops". I never see "old school"
| sysadmin jobs e.g. as you say, we have a room full of linux
| boxes and we manage them with ansible/scripts/etc, but we
| design and maintain them ourselves, come join our team".
| Karrot_Kream wrote:
| I've never seen anyone demonize or shame having pet servers, if
| anything people on tech news sites write about their pet
| servers constantly (understandably, it's fun!) Just like you're
| not going to make all your furniture by hand when you start a
| business but instead just buy whatever works from Ikea,
| likewise you make a more conscious decision to build or buy (as
| TFA touched on) based on the constraints of the business. And
| sometimes a business, for compliance reasons for example, may
| choose to keep their servers in-house, in which case you could
| potentially be a sysadmin.
| warent wrote:
| When my SaaS app started scaling, I saw how badly cloud can be
| priced if you have even slightly unusual use-cases. It occurred
| to me that instead of spending ~$600/mo on GCP, I can invest in a
| $3000 PowerEdge server with much better hardware, run it out of
| my home office, and it pays for itself in less than a year.
|
| Running your own server is an investment that doesn't make sense
| for everyone. If you can get it, it is better than you might
| imagine. Being in full control--the master of your own destiny--
| is so liberating and empowering. It feels the difference between
| constantly ordering Lyft/Uber/riding with friends, vs. owning
| your own car.
|
| Not to mention, again, my hardware resources are so much better.
| This one server can run multiple profitable SaaS apps /
| businesses and still have room for experimental projects and
| market tests. Couldn't be happier with my decision to get off the
| cloud.
| pmarreck wrote:
| Does it have a backup schedule (and did you prove your restore
| process works)? Is it replicated to another physically-offsite
| location? Do you have to manage your own security keys? Load
| balancing? Multi region availability? How do you admin it
| remotely? Firewalled? Notifications of emergency situations
| like low disk space, downages, over-utilization of bandwidth,
| memory leakage, SMART warnings, etc.? What's your version
| upgrade strategy? What's your OS upgrade strategy? Failover?
| IPv6? VPN access? DMZ?
|
| Basically, I think cloud provides a loooooot of details that
| you have to now take on yourself if you self-host (at least if
| you want to do it "legitimately and professionally" as a
| reliable service). It's not clearly a win-win.
|
| That all said, I recently canceled my cloud9 dev account at
| amazon because the resources I needed were getting too
| expensive, and am self-hosting my new dev env in a VM and
| accessing it from anywhere via Tailscale, so that's been nice.
| oceanplexian wrote:
| > Does it have a backup schedule (and did you prove your
| restore process works)? Is it replicated to another
| physically-offsite location? Do you have to manage your own
| security keys? Load balancing? Multi region availability? How
| do you admin it remotely? Firewalled? Notifications of
| emergency situations like low disk space, downages, over-
| utilization of bandwidth, memory leakage, SMART warnings,
| etc.? What's your version upgrade strategy? What's your OS
| upgrade strategy? Failover? IPv6? VPN access? DMZ?
|
| So yes, for those of us who have done Systems Administration
| as a lifestyle/career, yeah you do all of those things and
| it's part of the fun. I started doing OS upgrades,
| monitoring, firewalls, and home backups of my own Linux
| Servers some time in High School. Over-utilization of
| bandwidth isn't really a "problem" unless you're doing
| something weird like streaming video, a 1Gbps circuit can
| support thousands upon thousands of requests per second.
| aledalgrande wrote:
| I'm just curious, because to me it seems a little bit
| unrealistic.
|
| How do you handle traffic spikes, especially from the
| networking point of view? What kind of connection do you have?
| How do you make your service as fast for all customers around
| the world (saying you have a succesful Saas). How do you
| prevent a local blackout from taking down your service? Where
| do you store your backups, in case your building gets flooded
| or your machine blows up? What would you do in case a malicious
| process takes over the machine? These are some things that are
| managed in a cloud environment.
|
| I understand investing in a datacenter rack where you own your
| hardware, if you have the skills, but running it in a home
| office cannot support a successful business nowadays IMO.
| exdsq wrote:
| In my first job as a system tech for an IT company in 2014 we
| had a backup process run at 17:30 and whichever admin left
| last would take the backup HDD with them home lol. It worked!
| There was also onsite redundancy with replicated windows
| servers in an office across the street, which was enough.
| Simpler times even just 8 years ago!
| bamboozled wrote:
| Which is ok if there isn't a local disaster which wipes out
| your office and your friends?
| warent wrote:
| CenturyLink provides me gigabit internet on a business
| connection. I get traffic spikes of ~100/rps and it's no
| problem. Could probably easily handle another order of
| magnitude or two. Local blackouts are mitigated with a UPS
| https://en.wikipedia.org/wiki/Uninterruptible_power_supply
|
| To be fair, I'm not 100% off the cloud. Backups are on an
| hourly snapshot thru Restic https://restic.net/ and stored in
| Google Cloud Storage off-prem in case of catastrophes. Also,
| my Postgres database is hosted in Cloud SQL because frankly
| I'm not feeling experienced enough to try hosting a database
| myself right now.
|
| It's really not as unrealistic as most people seem to think.
| People have been building online businesses for years without
| the cloud. Believing it's suddenly not possible is just their
| marketing going to work for them making them new customers
| imo.
| kxrm wrote:
| I've been doing my own hosting for 20 years, this just
| doesn't happen often enough to concern myself with it.
|
| You need to disassociate yourself from the start-up mindset
| when you DIY a side project app or site. Having said that,
| there are ways to cache and improve your write performance
| and maintain HA on a budget. The only thing that's hard to
| replicate in self-hosting is a high performance global
| presence.
| TacticalCoder wrote:
| > How do you handle traffic spikes, especially from the
| networking point of view?
|
| I don't know about GP but managing your own server doesn't
| mean you cannot use a CDN with your webapp.
| aledalgrande wrote:
| A CDN wouldn't be enough if the traffic spike involves
| writes.
| giantrobot wrote:
| Oh no a website went down! Oh, wait, that's not an
| emergency. Where did the idea that every site and service
| _needs_ five nines availability come from? A side project
| goes down or is read only for a few hours. Who gives a
| shit? It 's not an insulin pump or nuclear control rods.
| It's ok for people to be mildly inconvenienced for a
| short period of time.
| deepspace wrote:
| > I can invest in a $3000 PowerEdge server with much better
| hardware
|
| And when some component of the server fails, your app is
| unavailable until you can repair it. So you need another server
| for redundancy. And a load balancer. And a UPS. And a second
| internet connection.
|
| If your app is at all critical, you need to replicate all of
| this at a disaster recovery site. And buy/run/administer DR
| software.
|
| And hardware has a limited lifespan, so the $3000 was never a
| one-time investment.
|
| I think there is often still a case to be made for self-hosting
| but the numbers are not as rosy as they seem at first glance.
| kxrm wrote:
| I am not the guy you replied to, but I also self host my web
| apps. I think every project is different and not all projects
| demand near 100% uptime. I certainly strive for HA for my
| projects but at the appropriate budget and my users
| understand.
|
| If you are trying to go commercial you might have a different
| attitude but for those of us who do this mostly for fun and
| for some donations on the side, over complicating our setups
| to ensure we add a 10th of a percent to our uptime stats just
| isn't worth it.
| warent wrote:
| This is an important point. My customers don't love outages
| (who does?) but I've had them and it doesn't really hurt
| that badly. My products aren't that critical. They're
| understanding as long as you communicate.
| exdsq wrote:
| Plus they still happen on AWS (or other critical bits
| like GitHub) so you're not immune anyway
| senko wrote:
| > And when some component of the server fails, your app is
| unavailable until you can repair it.
|
| So you have some downtime. Big deal. If this happens once
| every few years and you need a day to repair it, your uptime
| is still better than AWS.
|
| Not just everyone hosts a realtime API millions of users
| depend on every second of the day.
| StillBored wrote:
| So, just buy another and leave it as a hot (or cold) standby
| in a different data-center. Or use AWS as the DR site an spin
| it up only if the local HW fails.
|
| This sounds expensive if your talking one server and vs a
| year of AWS charges, but is a tiny bump if it turns out you
| need to buy a dozen servers to replace a large AWS bill.
|
| Plus, I think most people underestimate how reliable server
| grade hardware is. Most of it gets retired because its
| functionally obsolete, not because a power supply/whatever
| fails. Which brings up the point, that the vast number of
| failures with server grade hardware are on replaceable
| components like power supplies, disks, SFP's, etc. Three or
| four years out those parts are available on the secondary
| markets frequently for pocket change.
| bcrosby95 wrote:
| Yeah. We run servers into the ground where I work. We have
| around 20 of them. Average age is around 11 years old.
| Oldest is around 18.
| christophilus wrote:
| > most people underestimate how reliable server grade
| hardware is
|
| This. And there are millions of dollars of cloud marketing
| materials and programs that are at least partly to blame.
| wwweston wrote:
| > Or use AWS as the DR site an spin it up only if the local
| HW fails.
|
| Yep. This seems like the obvious setup to me:
|
| 1) make the usual case as economical as possible (and
| ownership and the associated control will probably help
| here, unless you have to lease the expertise too)
|
| 2) outsource the exceptional case (ownership is less likely
| to matter here, and will matter for less time even if it
| does)
| dijit wrote:
| You need to replicate in Cloud too, most people tend not to
| because they think the cloud is magic, but it's computers and
| computers can fail- even if they're someone else's.
|
| Also "if some component fails or the app is critical" has a
| lot of nuance, I agree with your sentiment but you should
| know:
|
| 1) Component failures in hardware are much rarer than you
| think
|
| 2) Component failures in hardware can be mitigated (dead ram,
| dead PSU, dead hard disk, even dead CPUs in some cases: all
| mitigated) The only true failure of a machine is an
| unmitigated failure due to not configuring memory mirroring
| or something' or a motherboard failure (which is extremely
| uncommon)
|
| 3) The next step after "single server" isn't "build a
| datacenter", it's buying a couple more servers and renting
| half a rack from your local datacenter, they'll have
| redundant power, redundant cooling and redundant networking.
| They'll even help you get set up if it's 2-3 machines with
| their own hardware techs.
|
| I do this last one at a larger scale in Bahnhof.
|
| also, $3000 will get you about 3-5 years out of hardware, at
| which point, yeah, you should think about upgrading, if for
| no other reason than it's going to be slower.
| Lamad123 wrote:
| I don't know what they call that logical fallacy cloud
| fanatics use when they say "if blah blah just make build
| your own datacenter".
| theodric wrote:
| There's a big difference in service criticality between your
| business website and your NAS full of pirated tentacle
| hentai. Cases like the latter can accept extended outages,
| and are very cost-effectively served by home-based infra.
| 0xbadcafebee wrote:
| Personally I wouldn't want to become an auto mechanic just to
| drive my own car for my business, but you do you. (Makes sense
| if you have a fleet of vehicles, but for one car?)
| [deleted]
| baybal2 wrote:
| > it pays for itself in less than a year.
|
| https://news.ycombinator.com/item?id=13198157
|
| On one meeting we had a typical discussion with ops guys:
|
| - "why wouldn't we optimise our hardware utilisation by doing
| things a, b, and c."
|
| - "hardware is crap cheap these days. If you need more
| capacity, just throw more servers at that"
|
| - "is $24k a month in new servers crap cheap by your measure?"
|
| - "comparatively to the amount of how much money these servers
| will make the same month, it is crap cheap. It is just a little
| less than an annual cost of mid-tier software dev in Russian
| office. We account only 12% increase in our revenue due to
| algorithmic improvements and almost 80 to more traffic we
| handle. A new server pays back the same month, and you and
| other devs pay off only in 2 years"
| jiggawatts wrote:
| I've found this to be an unsuccessful approach in practice.
|
| Performance is a complex, many-faceted thing. It has hidden
| costs that are hard to quantify.
|
| Customers leave in disgust because the site is slow.
|
| No amount of "throwing more cores at it" will help if there's
| a single threaded bottleneck somewhere.
|
| Superlinear algorithms will get progressively worse, easily
| outpacing processor speed improvements. Notably this is a
| recent thing -- single threaded throughout was improving
| exponentially for _decades_ so many admins internalised the
| concept that simply moving an app with a "merely quadratic"
| scaling problem to new hardware will _always_ fix the
| problem. Now... this does nothing.
|
| I've turned up at many sites as a consultant at eyewatering
| daily rates to fix slow apps. Invariably they were missing
| trivial things like database indexes or caching. Not Redis or
| anything fancy like that! Just cache control headers on
| static content.
|
| Invariably, doing the right thing from the beginning would
| have been cheaper.
|
| Listen to Casey explain it: https://youtu.be/pgoetgxecw8
|
| You need to have efficiency in your heart and soul or you
| can't honestly call yourself an engineer.
|
| Learn your craft properly so you can do more with less --
| including less developer time!
| rank0 wrote:
| Do you have a static IP?
|
| I have a homelab too but getting "enterprise grade" service
| from comcast seems to be my biggest barrier to scaling without
| leaning on aws.
| Godel_unicode wrote:
| Rent a $5 VPS, run a VPN tunnel from your lab to that box,
| and run a reverse proxy on it. You'll get some additional
| latency, but that's about it.
| rhn_mk1 wrote:
| Caution: you may end up with your packets blackholing on
| the way for unknown reasons after temporary loss of
| connectivity.
|
| I think it might have something to do with the NAT
| forgetting about my UDP "connection", but haven't found the
| culprit yet.
| qmarchi wrote:
| Hey, you actually have a few options, notably, doing nothing!
|
| Comcast doesn't actually change your public IP address
| between DHCP renewals and thus it's effectively static. The
| only time that it'll change is when the modem is powered off
| for an amount of time, or the upstream DOCSIS concentrator is
| powered off for maintenance or otherwise.
| orf wrote:
| So: arbitrarily and without warning.
| mwcampbell wrote:
| I would be more worried about violating the ISP's terms of
| service. Running a business based on that seems pretty
| precarious.
| warent wrote:
| I have a static IP address / gigabit thru centurylink
| acoard wrote:
| Dynamic DNS (dDNS) works here[0]. You have free services like
| no-ip, and also most paid domain registrars support this. I
| know both Namecheap and AWS Route 53 support it if you want
| it at your own domain. Essentially, it's a cron curling with
| an API key from the host machine, that's it. Works great in
| my experience.
| sirl1on wrote:
| Keep in mind you will have a small downtime until the new
| IP is registered. Also the cache TTL of your domain will be
| very low, so your site will have a small loading time
| penalty from time to time.
| dfinninger wrote:
| For a while with my home lab I cronned a python script to
| look up my external DNS and update my domain in Route53 (and
| Dyn before that). Worked out pretty well, I think it only
| updated once or twice in two years.
| kxrm wrote:
| I wrote a script that basically hits an offsite DNS with my
| latest IP. It's worked quite well. I think in the past 4
| years I have had Comcast, they haven't changed my IP once.
| culopatin wrote:
| Since the post pretty much says "go out and do it!"
|
| Does anyone have a good source of learning that is comprehensive
| and practical? I'm talking about a good guided book/tutorial on
| how to administer a server properly and what things one should
| know how to fix, not just how to set up Wordpress.
| jefurii wrote:
| When I learned this stuff I started with The Debian
| Administrator's Handbook (https://debian-handbook.info) and an
| O'Reilly book called Unix Power Tools. Since then I've read
| handbooks for whatever servers/frameworks/apps I needed to use.
| There was never one single source. I've also spent lots of time
| googling error messages and reading Stack Overflow/Server Fault
| and other sites.
| cpach wrote:
| This is a good start: https://www.ansiblefordevops.com/
| b5n wrote:
| I usually provide this as an intro:
|
| http://www.linuxcommand.org/tlcl.php/
|
| From there picking up configuration management should be pretty
| straightforward.
| Gehoti wrote:
| I'm running rke2 (ranchers k8s solution) on my server.
|
| This means I can run my own servers and the only thing they do is
| running rke2.
|
| I can take out a node and upgrade the base is without issues or
| anything.
|
| And still get all the benefits of a high quality cluster is (k8s)
|
| I love it.
|
| And yes it's easier in my opinion and more streamlined to install
| a storage software (openebs) on my rke2 cluster and backing up
| those persistent volume than doing backup for my hard drives.
|
| And my expectation is that while it works already very very good
| that it only gets even more stable and easier.
| madjam002 wrote:
| Honestly after discovering NixOS I have a new found joy of
| administering Linux servers. It's easy and painless, everything
| is declarative and versioned, and new machines can be set up for
| new projects or scaling in a matter of minutes.
|
| This "cattle not pets" mentality doesn't make sense for
| everything and is highly inefficient if the OS itself seamlessly
| supports immutable workloads and configuration.
| SkipperCat wrote:
| Time is money, and the more time I spend on infrastructure, the
| less time I spend on product. And thus is born the incredible
| demand of infrastructure as a service.
|
| Thankfully one person's cloud is another person's on prem
| infrastructure so sysadmin skills will always be in demand.
|
| From my perspective in enterprise computing, I now see people
| taking 2 paths. One where they become super deep sysadmins and
| work on infra teams supporting large scale deployments (cloud or
| not) and the other being folks who write code and think of infra
| as an abstraction upon which they can request services for their
| code.
|
| Both are noble paths and I just hope folks find the path which
| brings them the most joy.
| unknown2374 wrote:
| I find it very similar to how understanding of OS and hardware
| fundamentals can make one a much better software engineer, how
| infrastructure in the cloud/servers are setup helps make better
| design decisions.
|
| At least in my experience, my hobby of maintaining my own home
| server helped out immensely in my path in the industry due to
| knowing what tools are available when working on multi-faceted
| software designs.
| aledalgrande wrote:
| It does, but you don't wanna have to deal with it constantly,
| if you want to be working on a lot of feature work as an
| application developer.
| unknown2374 wrote:
| Definitely agree with you on that. Making use of layers of
| abstraction and delegation is absolutely necessary when
| working on more and more impactful work.
| akira2501 wrote:
| That's when it clicked for me.. comparing my hourly salary rate
| vs. the cost of running these services "in the cloud." Entirely
| eliminating "system administration" from my duties was
| absolutely a net win for me and our team.
| [deleted]
| marcosdumay wrote:
| > Entirely eliminating "system administration" from my
| duties...
|
| ... and adding "cloud administration".
|
| What is it with people doing completely one-sided analysis
| even when they experiment the thing by themselves? Is cloud
| administration less time consuming than system
| administration? That's not my experience, so I'm quite
| interested on how it got so.
| mark242 wrote:
| > Is cloud administration less time consuming than system
| administration?
|
| Infinitely, and if you look at it from a startup lens it
| only makes sense. One needs to point only at the recent
| log4j incident. This is obviously a gigantic black swan
| event, but even just ongoing security patching at the OS
| level can be a full-time gig. There is absolutely no
| substitution for being able to ship code to a platform that
| just runs it and scales it for you.
|
| Andy Jassey had a great slide a few years back at Reinvent,
| when talking about Lambda -- "in the future, 100% of the
| code that you write will be business logic". If you really
| think about that: how many times have you had to write some
| kind of database sharding logic, or cache invalidation, or
| maintaining encrypted environment variables, whatever. That
| idea that you can toss that -- and what that gives to
| teams, not having to spend massive timesinks and budgets
| and hiring and all of that on -- effectively -- solved
| problems, you really start to understand how you can move
| faster.
| tormeh wrote:
| > ongoing security patching at the OS level can be a
| full-time gig
|
| That's just a cronjob. I know some people don't like
| doing it that way, but that's on them. I've seen this
| work for years in production with minimal trouble.
| christophilus wrote:
| It's not even a cron job. It's a single apt install.
| demosito666 wrote:
| > in the future, 100% of the code that you write will be
| business logic
|
| The present reality of Lambda is quite different though.
| Even though the code of the function itself is more or
| less "business logic" (although this is a really
| meaningless term when we're talking about known
| programming languages and computers), the scaffolding
| around it with Terraform/CloudFormation/Serverless/etc.
| is substantial, riddled with quirks and is really time-
| consuming to figure out and update. I don't think I spend
| less time on this accidental complexity now when we have
| most of our logic in Lambda, compared to the times when
| we were just running Flask apps in a VM.
|
| This is not to mention how hard one has to fight to
| overcome the limitations of the runtime, e.g. adding some
| "warmers" scripts to reduce cold-start latency (no,
| provisioned concurrency doesn't help and is ridiculously
| expensive). And then comes the bill after you
| accidentally created invocation loop between two
| functions.
| mark242 wrote:
| Of course -- you're still writing code to delete a key in
| Elasticache within your lambda. You're writing yaml code
| for deployments. Hence the "in the future" portion of
| this slide.
|
| The scale-to-X and scale-to-zero features of Lambda,
| along with the guaranteed interface to your lambda with
| predictable input and output requirements, is incredibly
| empowering for an engineering team. I can absolutely
| guarantee that we have spent far, far, far less time
| maintaining our infrastructure than what we would need to
| be doing if we had a big-buncha-EC2 setup.
|
| Imagine that the environment issues get taken care of,
| because Amazon has teams and teams and teams of engineers
| who are working on just that. Cloudflare has the zero-
| cold-start isolates. All these platforms are heavily
| invested in making your development and deployment
| experience as easy as it can be. Concentrate on writing
| your code, and you'll reap the benefits.
| UI_at_80x24 wrote:
| Too many of these people can't/won't/don't see past
| C-Panel.
| jhickok wrote:
| Can be. Paying for SaaS offerings like the gsuite or o365
| is a great deal for say, 100 seats, instead of paying
| someone to administer on prem email. "Cloud administration"
| can be more work, less work, or about the same work as
| classic systems administration. That's why carefully
| running the numbers first should be necessary.
| marcosdumay wrote:
| Oh, sure. Offshoring email is much easier than running it
| yourself.
|
| The same isn't true for less standard kinds of service.
| The more standardized something is the easiest it is to
| decide what to hire, troubleshoot, and learn to configure
| your options. The less standardized it is, the harder all
| of those things become. VMs are very standard, email
| servers are less so, but not by a huge margin. Web
| accessible disk space and on-demand interpreters are
| completely non-standardized and a hell to do anything
| with.
|
| Also, some services do need more upkeep than others.
| Email is one extreme that requires constant care, file
| storage and web servers demand much less attention.
| 28304283409234 wrote:
| Counterintuitively, engineers that run their own servers and
| infra tend to gain a deeper understanding of what it takes to
| provide an actual running service to end users. And therefor
| they write software or at least there is better teamwork with
| "devops" infra folks.
|
| This is off course the highly subjective meaning of a
| greybeard unixadmin.
| dj_mc_merlin wrote:
| I'd say that running infrastructure in the cloud still
| requires the same deep understanding of what's going on
| under the hood as running your on-prem infra. A lot of
| annoying things are taken out: some stuff patches
| automatically, some other things have an easier updating
| procedure (and obviously the "physical" aspect is taken
| care of).. but you still only get the basic elements for a
| proper infrastructure. Your servers need an environment set
| up, you need to build a network, add load balancing and
| replication, monitoring etc. etc..
|
| You can provision some of these things from cloud
| providers, but your infra is going to go to shit unless you
| actually understand what they're really providing you and
| how to use it. If the only thing you can do is upload a
| docker image to a cloud provider and click the "create
| server" button, then that's not really infra work at all.
| It's like Wix for sysadmins.
| oceanplexian wrote:
| It's also a competitive advantage. Look at Backblaze, their
| business model simply wouldn't be possible on a cloud
| provider.
| lrvick wrote:
| I have over 20 years of Linux/FreeBSD sysadmin experience ranging
| from universities to major silicon valley companies in both cloud
| and on-prem.
|
| When it comes to companies I mostly support cloud these days but
| when it comes to me and my family I accept every downside and
| host as almost all of our digital lives in a 42u rack in a gutted
| closet in our house with static IPs and business fiber.
|
| I know where our data lives and no one can access it without a
| warrant and my explicit knowledge. I also save myself several
| hundred a month in third party cloud provider fees to host the
| same services and can reboot upgrade or repair anything whenever
| I want, but in general no more maintenance than cloud servers . I
| also never end up with exciting bills when experiments are
| forgotten about.
|
| You pretty much get all the pros and cons of home ownership. For
| me it is mostly pros. Also keeps me dogfooding all the same
| practices I recommend to my clients.
| c2h5oh wrote:
| I remember how surprised people were when I demoed a $200/month
| bare metal server outperforming by a huge margin RDS MySQL
| instance that they were paying something upwards of 16k/month.
|
| IIRC we ended up using it as a disposable replica for some non-
| real time but heavy operations.
| akireu wrote:
| It's 2022 and we're about to rediscover something we know for
| 40 years already: mainframes are freaking expensive.
| viraptor wrote:
| Here's what the bare metal server didn't come with:
|
| API access for managing configuration, version
| updates/rollbacks, and ACL.
|
| A solution for unlimited scheduled snapshots without
| affecting performance.
|
| Close to immediate replacement of identical setup within
| seconds of failure.
|
| API-managed VPC/VPN built in.
|
| No underlying OS management.
|
| (Probably forgot a few...) I get that going bare metal is a
| good solution for some, but comparing costs this way without
| a lot of caveats is meaningless.
| senko wrote:
| > Here's what the bare metal server didn't come with:
|
| [bunch of stuff I don't need]
|
| Exactly. Imagine paying for all that when all you need is
| bare metal.
|
| Now imagine paying for all that just because you've read on
| the Internet that it's best practice and that's what the
| big guys do.
|
| Way back the best practice was what Microsoft, Oracle or
| Cisco wanted you to buy. Now it's what Amazon wants you to
| buy.
|
| Buy what you need.
| ozim wrote:
| I am buying IaaS it is so nice to use VPS with snapshots
| every 4 hours that I don't have to think about.
|
| I don't care where those snapshots are stored and how
| much space those take. In case I need to restore my IaaS
| provider gives me 2-click option to restore - one to
| click restore and 2nd to confirm. I sit and watch
| progress. I also don't care about hardware replacement
| and anything that connects to that. I have to do VPS OS
| updates but that is it.
|
| I do my own data backups on different VPS of course just
| in case my provider has some issue, but from convenience
| perspective that IaaS solution is delivering more than I
| would ask for.
| DarylZero wrote:
| Snapshots every 4 hours? That doesn't sound impressive at
| all. In 2022 that's laptop tier capability.
| rovr138 wrote:
| > Buy what you need
| [deleted]
| c2h5oh wrote:
| Of course there are a lot of benefits of using hosted
| databases. I like hosted databases and use them for both
| work and personal projects.
|
| What I have a problem with is:
|
| - the premium over bare metal is just silly
|
| - maximum vertical scaling being a rather small fraction of
| what you could get with bare metal
|
| - when you pay for a hot standby you can't use it as a read
| only replica (true for AWS and GCP, idk about Azure and
| others)
| viraptor wrote:
| > when you pay for a hot standby you can't use it as a
| read only replica (true for AWS
|
| I'm not sure what you mean here. At least for MySQL you
| can have an instance configured as replica + read-only
| and used for reads. Aurora makes that automatic /
| transparent too with a separate read endpoint.
| milesvp wrote:
| A hot standby is not a read replica. It's a set of
| servers running in a different Availability zone
| mirroring current prod, that is configured to
| automatically fail over to if the primary is offline.
| It's been a few years since I personally set this up in
| AWS, but at the time, those servers were completely
| unavailable to me, and basically doubled the cost of my
| production servers.
|
| The fact that a hot standby is usually in some sort of
| read-replica state prior to failing over is a technical
| detail that AWS sort of tries to abstract away I think.
| lnxg33k1 wrote:
| fully agree with this, in my free time I would fully go for
| the baremetal, but if I have to save money to a company, by
| placing all the headaches that are solved by AWS then I
| just say goodbye
| Nextgrid wrote:
| A lot of these aren't as important for something that's
| fairly static and can't even be autoscaled or resized live
| (excluding Aurora - I'm talking about standard RDS).
|
| No access to the underlying OS can actually be a problem. I
| had a situation where following a DB running out of disk
| space it ended up stuck in "modifying" for 12 hours,
| presumably until an AWS operator manually fixed it. Being
| able to SSH in to fix it ourselves would've been much
| quicker.
| [deleted]
| lnxg33k1 wrote:
| Just out of curiousity but what did you get out of it? I mean
| if they get to pick it, get the responsibility of AWS on you,
| but do you also get to get paid those money after saving them
| money? I mean the way I see it, is that 16k/month don't only
| pay for the hardware, but also to keep headaches away and to
| have someone to blame
| c2h5oh wrote:
| IIRC I got to move some heavy analytics queries, which
| could not be ran on a read only replica (rollups) and
| without hearing the word budget once. Main db remained on
| RDS.
| rad_gruchalski wrote:
| I've picked up a second hand Dell r720 last year. Best
| purchase in years. Paid EUR1500 for 48 cores and 192GB RAM.
| papito wrote:
| LOL. Priceless. Having these skills is very valuable. Us old
| farts used to do a lot with what today would be called
| "bootstrapped". Scarcity is no longer a "problem", except
| that it is. Scarcity keeps you sharp, efficient, on the edge
| - where you need to be. It's also - cheaper.
| c2h5oh wrote:
| Who would have guessed having local, low latency, high iops
| drives would be better than VM using iSCSI-attached drive
| for storage, right? ;-)
| belter wrote:
| Not a fair comparison and you know it. Now add to the $200
| month bare metal server, the yearly salary of the 3 admins
| you need to manage it. One as backup, one for day time, one
| for the night plus a weekend rotation. Add to the admin
| salaries social security, insurance and a margin of safety if
| one is unavailable due to sickness.
| [deleted]
| bcrosby95 wrote:
| > a $200/month bare metal server
|
| For 1 bare metal server? You do know these things run on
| electricity, right?
| glutamate wrote:
| https://www.hetzner.com/dedicated-rootserver/matrix-ax
| tester756 wrote:
| why you'd need 3 admins watching it 24/7?
|
| ____________
|
| That's how I've seen it working in datacenter:
|
| cheapest junior admins (450$/month) were having night
| shifts
|
| and if something broke, then they were calling an engineer
| aparks517 wrote:
| Around here, you'd spread the work of one new server to
| folks you've already got or spread the cost of new hires to
| a large number of servers.
|
| I think it's also worth considering that many outfits
| wouldn't get good value from the 24/365 coverage you
| propose and don't care to pay for it.
| wang_li wrote:
| Or you'd hire an MSP. Having a full time employee is a
| greater level of service than anyone here is getting from
| a cloud provider. Lots of folks can get by with an admin
| who stops in once or twice a week, or remotes in and
| takes care of the daily tasks on largely a part-time
| basis.
| [deleted]
| sjtindell wrote:
| Just curious, what data do you worry about a warrant for?
| Asking to protect my own data.
| dspillett wrote:
| I assume/hope you have good, tested, off-site backups if the
| important data & config...
|
| I run my stuff from home too, though it is smaller scale than
| yours currently. Off-site & soft-offline backups are on
| encrypted volumes on servers & VMs elsewhere.
| hnthrowaway0315 wrote:
| This sounds very interesting. Do you have a blog describing
| your experience just curious? Thanks for sharing~~
| massysett wrote:
| What services would you be paying "several hundred a month" for
| - in what currency? In US dollars my personal cloud services
| don't run more than $20 a month.
| DizzyDoo wrote:
| Woah, 42u, that's quite something! How many of those slots are
| you using? What kind of cooling do you have to have for that
| closet, and how is the volume for the rest of the house?
| jlcoff wrote:
| FWIW, I recently purchased maybe 21U worth of servers for
| less than $2000. Mostly IBM 2U servers (all dual 6-cores /
| 12-threads Xeon, most for spare parts), NAS (enough for
| triple >12TB redundancy), and LTO-4 loaders and drives to go
| in a rack I picked up for free locally which also came Cisco
| switches.
|
| I'm gonna run my private cloud merging 3 different un-backed
| up physical computers, and migrate services off Google.
|
| That's my second free 42U track, but the other was mostly
| used as shelf space. I've got a third rack in my rusting in
| my backyard with I bought for $200 originally intended to run
| my former employer test infra, that I brought back home after
| the laid us off.
| thefunnyman wrote:
| Not OP but you find a lot of these kinds of setups on Reddit.
| Check out /r/homelab if you're interested. Even crazier is
| /r/homedatacenter where you'll find dudes with full tape
| libraries and everything. Super interesting to browse
| through.
| reacharavindh wrote:
| You can also pick and choose how far you go with self
| management. To me, as much fun as it is, I can't be bothered to
| run the physical server in my home(not because I can't, but
| because I won't). That's why my solution is to lease a bare
| metal server on Hetzner, pay EUR 38/month and host all my
| personal projects on it. This way I get a reliable network and
| operation for my server and I still hold reasonable control
| over my data and what I run.
| sandworm101 wrote:
| I'm in a similar boat. I had a server in a closet but switched
| to a NAS a few years ago and haven't looked back. I do run into
| people who thinks NAS is old hat, that everything should be
| backed to a cloud somewhere. These are the people who think
| they are watching 4k because they select that option on
| youtube. I want to watch 4k without buffering, without
| artifacts. NAS lets me do that. And when I go away for a few
| days or weeks, everything is turned _off_. No data leaks
| possible when the "spinning rust" isn't spinning.
| jlcoff wrote:
| I also prefer 480p with a good scenario than a 4k-60fps turd
| of the past 15 years. Still manage to have a hundred movie or
| so below a TB.
| Karrot_Kream wrote:
| I'm curious how much you're paying for business fiber. Do you
| have IP transit in your home, or is it just a business
| connection?
| Godel_unicode wrote:
| 100mb FiOS Business is on the order of $70.
| warent wrote:
| Centurylink gigabit business fiber is about $140/mo, and a
| block of 8 static IPv4s is $25/mo
| bamboozled wrote:
| > I know where our data lives and no one can access it without
| a warrant and my explicit knowledge
|
| As far as you know?
|
| Your data is exposed to The Internet so someone could be
| accessing it.
| Yuioup wrote:
| Yes but you have talent and a lifetime of experience, plus
| space for a noisy 42u rack full of servers, but not everybody
| does...
| m8s wrote:
| They never suggested otherwise. They simply shared their
| current setup.
| sseagull wrote:
| People who have been woodworking for decades can own very
| expensive tools so that they can create very complicated
| things.
|
| People who are experts in cars can own very expensive cars
| and tools to tune them.
|
| People who have been working in music can have very expensive
| instruments and expensive headphones, microphones,
| sequencers, etc.
|
| We seem to be looking down on experienced "computer experts"
| and wanting to take their tools away. It's been grinding my
| gears lately.
| cerved wrote:
| bruh nobody's looking down on people running they're own
| metal
|
| Server hardware is fun but it's not trivial to manage, buy
| or run.
|
| So when someone talks about how they've managed servers for
| 2 decades, own a house where they can install a 42 rack and
| how much better it is than a hosted solution. A lot of
| people rightly point out that this is hardly feasible for
| most people
| DarylZero wrote:
| People don't need a 42U rack to put a server in their
| closet though. You buy some surplus server on ebay and
| throw it on a shelf, no big deal.
| hackthefender wrote:
| I don't think that's the point the commenter was making.
| The analogous situation would be if someone posted that
| they made their kitchen table from scratch, and the
| commenter said that it's great but not everyone has a lathe
| in their basement, so good that places like Ikea exist as
| well.
| bmurphy1976 wrote:
| You don't need a 42u rack. You can run a cluster of Raspberry
| Pi's hidden in your basement ceiling rafters like me.
| ryukafalz wrote:
| Short throw from that to this classic:
|
| > hm. I've lost a machine.. literally _lost_. it
| responds to ping, it works completely, I just can't figure
| out where in my apartment it is.
|
| http://www.bash.org/?5273
| Andrew_nenakhov wrote:
| Racks are not that expensive, and are a _very_ good way to
| keep things connected, powered, accessible and tidy.
|
| Heaps of Pis in rafters will quickly turn into a cable
| spaghetti hell tied into ugly knots.
| [deleted]
| zikduruqe wrote:
| And a tolerant wife/spouse.
|
| My closet of RPi's are quiet.
| zepearl wrote:
| I don't think that the core of the article is about pros&cons of
| the managed/unmanaged/virtualized/dedicated server/service
| approach, but about "why it would be a good idea to have your own
| dedicated or virtualized server (at least for a while), which is
| to assimilate know-how" (which can then be used in more abstract
| setups).
|
| The total flexibility of such a server (compared to un/managed
| services) is a (great) bonus (not only at the beginning).
| LAC-Tech wrote:
| Full disclaimer, I'm very much not a sysadmin or devops guy.
|
| However, every team I've been on recently has spent a lot of time
| struggling with gluing their AWS stuff together, diagnosing bugs
| etc. It didn't seem to save a heck of a lot of time at all.
|
| I couldn't figure out AWS. But I could figure out how to host
| sites on a linux VPS.
|
| So what's the story here - is serverless something that only
| makes sense at a certain scale? Because with tools like Caddy the
| 'old fashioned' way of doing seems really, really easy.
| MattGaiser wrote:
| A lot of it is lack of awareness of things like Caddy or any
| other tools that simplify the process.
|
| I did not know about it until I googled it right now. I have
| spent days/even two weeks figuring out how to set up Nginx and
| for all I know I did it terribly wrong. I paired it with other
| tools that I do not even remember. But I would be starting from
| scratch again if I needed to set another one up.
|
| So a lot might come down to that. I was on a team that
| transitioned from a owned server to cloud as one day one of the
| test servers went down and after a week of trying, nobody knew
| how to fix it. We realized at that point that if a server
| caused a production error, we were utterly screwed as someone
| who had left set it up and nobody had a clue where to begin
| fixing it beyond reading endless tutorials and whatever came up
| in Google searches.
|
| The server infrastructure was cobbled together in the first
| place and for a period was theoretically maintained by people
| who didn't even know the names of all the parts.
|
| At least with cloud, there is an answer of sorts that can be
| had from the support team.
| peterbabic wrote:
| Even with Caddy, there are so many rabbit holes ro get down
| into. My current one is rootless. I feel like in completely
| different world compared to rootfull. Learned a ton though
| bblb wrote:
| Caddyserver is Apache/Nginx killer and we will talk about Caddy
| in a couple of years as if it's been always the default ("why
| did we kept fighting with apache/nginx all those years, silly
| us"). Seriously. It's just a completely different way to think
| about web servers and automation. I'm just amazed it took all
| these years to emerge.
| LoveGracePeace wrote:
| I love Apache, do not love Nginx and won't be looking at
| Caddy (it's written in Golang). Apache (even Nginx) are easy
| to set up reverse proxy and can simultaneously serve static
| content and serve as the https certificate main, as well as a
| few dozen other things like load balancing and rate limiting,
| etc.
| lamontcg wrote:
| > is serverless something that only makes sense at a certain
| scale?
|
| Other way around. With enough scale you should be able to make
| hosting your own datacenter work.
|
| The problem is that the people you hire tend to go off buying
| too much Enterprise-class shit and Empire building and the
| whole thing winds up costing 10 times as much as it should
| because they want stuff to play with to resume stuff and to
| share risk with the vendor and have them to blame.
|
| Only thing Amazon did to build out their internal IT ops
| exceptionally cheaply and eventually sell it as the AWS cloud
| service was to focus on "frugality" and fire anyone who said
| expensive words like "SAN". And they were ordered in no
| uncertain terms to get out of the way of software development
| and weren't allowed to block changes the way that ITIL and CRBs
| used to.
|
| I didn't realize how difficult that would be to replicate
| anywhere else and foolishly sold all my AMZN stock options
| thinking that AWS would quickly get out competed by everyone
| being able to replicate it by just focusing on cheap horizontal
| scalability.
|
| These days there is some more inherent stickiness to it all
| since at small scales you can be geographically replicated
| fairly easily (although lots of people still run in a single
| region / single AZ -- which indicates that a lot of businesses
| can tolerate outages so that level of complexity or cost isn't
| necessary -- but in any head-to-head comparison the "but what
| if we got our shit together and got geographically
| distributed?" objection would be raised).
| shepherdjerred wrote:
| I've used serverless on small personal projects where paying
| for a VPS or EC2 instance would be cost prohibitive, e.g. would
| I really want to pay $5/mo for a small throwaway weekend
| project? Probably not.
|
| But what if the cost is $.0001 per request? It becomes a very
| convenient way to make all of my personal projects permanently
| accessible by hosting on S3 + Lambda.
|
| Even in large workloads it makes sense. Much of AWS is
| migrating from instances to AWS Lambda. There are some
| workloads where persistent instances make sense, but a lot of
| common use cases are perfect for Lambda or similar serverless
| technologies.
| chasil wrote:
| -"As for scripting, commit to getting good at Bash."
|
| That advice can cause substantial headache on Ubuntu/Debian,
| where the Almquist shell is /bin/sh. This does not implement much
| of bash and will fail spectacularly on the simplest of scripts.
| This is also an issue on systems using Busybox.
|
| A useful approach to scripting is to grasp the POSIX shell first,
| then facets of bash and Korn as they are needed.
|
| -"As a practical goal, you should be able to recreate your host
| with a single Bash script."
|
| This already exists as a portable package:
|
| https://relax-and-recover.org/
|
| -"For my default database, I picked MySQL."
|
| SQLite appears to have a better SQL implementation, and is far
| easer in quickly creating a schema (set of tables and indexes).
| cure wrote:
| > That advice can cause substantial headache on Ubuntu/Debian,
| where the Almquist shell is /bin/sh. This does not implement
| much of bash and will fail spectacularly on the simplest of
| scripts. This is also an issue on systems using Busybox.
|
| At least for Debian and Ubuntu, that's why we start bash
| scripts with #!/bin/bash, of course.
|
| Your point is valid for Busybox, though.
| chasil wrote:
| > that's why we start bash scripts with #!/bin/bash
|
| That will also fail spectacularly, as bash does not behave
| the same when called as /bin/bash as it does when it is
| /bin/sh.
|
| I have principally noticed that aliases are not expanded in
| scripts unless a shopt is issued, which violates POSIX.
|
| Forcing POSIXLY_CORRECT might also help.
| gh02t wrote:
| I would assume if you put /bin/bash as your shebang that
| you're expecting to get bash-isms. I think the problem
| you're complaining about (which is a real one) is people
| putting /bin/sh and expecting bashisms. Debuntu being
| problematic here is more a side effect of bad practice.
| chasil wrote:
| Bash has a POSIX mode.
|
| Knowing when to switch into and out of this mode, and
| what impact it has, is a more advanced subject that
| should not burden those learning the Borne family.
|
| It is better to start with Almquist, or another pure
| POSIX implementation, with documentation specific to
| standard adherence.
|
| More advanced shell features should wait.
| gh02t wrote:
| I have mixed feelings. On paper I agree with you, people
| should start with POSIX shell. In practice I'm not sure
| how relevant that is anymore. I'm not really convinced
| _bash_ should be the default thing people learn, but I
| think there 's a decent argument that people should just
| start off with the shell they're going to actually use.
| You _should_ , however, be aware that there _is_ a
| distinction, and if you 're learning/writing bash and not
| POSIX shell you should specify /bin/bash not /bin/sh. But
| you don't necessarily need to know all the nuances of how
| bash differs unless you have a need to write POSIX
| compliant shell.
| chasil wrote:
| For me, I just want a shell that works.
|
| Without a nuanced understanding of standards, extensions,
| and platform availability, new bash users will get large
| amounts of shell usage that doesn't work.
|
| To avoid that frustration, learn POSIX. That works
| everywhere that matters.
| ericbarrett wrote:
| Not sure what you are saying, bash behaves as bash when
| invoked as /bin/bash, and Bourne-shell-ish when invoked as
| /bin/sh. Lots more detail in the man page.
|
| I've never seen use of aliases in a bash script...? They
| are generally for CLI convenience.
| chasil wrote:
| Alias expansion within scripts is mandated by POSIX.
|
| When bash is not in POSIX mode, it violates the standard.
| $ ll /bin/sh lrwxrwxrwx. 1 root root 4 Nov 24 08:40
| /bin/sh -> bash $ cat s1 #!/bin/sh
| alias p=printf p hello\\n $ cat s2
| #!/bin/bash alias p=printf p world\\n
| $ ./s1 hello $ ./s2 ./s2: line 3:
| p: command not found
| ericbarrett wrote:
| That's very nice, it's POSIX-compliant when invoked as
| #!/bin/sh and _sane_ when invoked as #! /bin/bash --
| exactly what I'd want.
| chasil wrote:
| If you want a portable script, then you don't want that
| behavior.
| jjnoakes wrote:
| Sure but someone putting #!/bin/bash at the top of their
| script, written for non-POSIX bash, won't have that
| issue...
| netr0ute wrote:
| Why would anyone want to target bash specifically which
| doesn't exist in all systems instead of just sticking to
| what's implemented in /bin/sh?
| cure wrote:
| Because you're not going to have a great time with /bin/sh
| (i.e. dash or the like) if you want to do anything more
| than very, very basic scripts.
| netr0ute wrote:
| Relying on bash is a recipe for non-portability.
| lamontcg wrote:
| If you're not publishing your scripts and you're running
| your own infrastructure, you probably don't care about
| portability at all.
| chasil wrote:
| None of the BSDs use bash in their base. Apple recently
| switched from bash to zsh. OpenBSD uses a descendent of
| pdksh.
|
| Another major user of a pdksh descendent is Android
| (mksh), with a truly massive install base.
|
| Some of the bash problem, besides portability, is GPLv3.
| That was a major factor for Apple. I don't want my script
| portability linked to corporate patent issues. For this
| and other reasons, I don't use bash-specific features,
| _ever_.
| massysett wrote:
| You don't really know exactly what you'll get with /bin/sh
| - you might get bash trying to behave like sh, you might
| get dash. At least with /bin/bash you're hopefully getting
| bash. Now you just have to wonder what version...
| zokier wrote:
| > That advice can cause substantial headache on Ubuntu/Debian,
| where the Almquist shell is /bin/sh. This does not implement
| much of bash and will fail spectacularly on the simplest of
| scripts.
|
| That's not really a problem as long as you use #!/bin/bash
| shebang, and there is nothing wrong in doing that.
| NexRebular wrote:
| Unless bash lives in /usr/local/bin/bash
| nathanasmith wrote:
| #!/usr/bin/env bash
| chungy wrote:
| and then you use "#!/usr/bin/env bash"
| [deleted]
| notyourday wrote:
| > That advice can cause substantial headache on Ubuntu/Debian,
| where the Almquist shell is /bin/sh.
|
| #!/bin/bash
|
| There, I fixed your "what shell is /bin/sh" problem.
| chasil wrote:
| Unless you actually look at real Linux deployments, which
| are: #!/bin/mksh
|
| Android doesn't allow GPL code in userland, and the installed
| base is massive.
| notyourday wrote:
| > Android doesn't allow GPL code in userland, and the
| installed base is massive.
|
| You aren't administering Android devices.
|
| Stop obsessing about writing portable scripts. Write
| scripts for the targets that you are going to run them on.
| johnchristopher wrote:
| I settled with using /bin/sh for portability. If there is
| something that can't be done with sh but can be done with bash
| then it means a python script is better anyway. I don't want to
| deal with bashism and ksh and deb/ub/rh different takes on
| bash.
|
| It's frustrating that most google search results and shell
| script search results on SO almost always mean bash and sh.
| jenscow wrote:
| Yes, well if a script I wrote has somehow ended up on a
| machine without bash, then I'd be more worried about other
| assumptions the script makes.
| johnchristopher wrote:
| That's missing the point.
|
| Some server I know don't have vim. Traefik docker image is
| running ash and not bash. Tomcat image hasn't vim. Etc.
| /bin/sh is there. No worry about assumptions. No bashism,
| no fish, no zsh.
| jenscow wrote:
| That's fine. My scripts tend to run on a single machine..
| otherwise, probably the same/similar Linux distro.
|
| So for me, if there's not even bash then I've also surely
| not accounted for other peculiarities on the system.
| encryptluks2 wrote:
| > -"As a practical goal, you should be able to recreate your
| host with a single Bash script."
|
| I disagree with this. A single bash script configuring an
| entire hosts can be overly complex and very difficult to
| follow. As someone who has created complex bash scripts, this
| will become very time consuming and prevent you from making
| many changes without significant efforts. I'd suggest
| familiarizing yourself with tools like cloud-init and Ansible.
| [deleted]
| jenscow wrote:
| My take on that, was the host creation should be simple
| enough to only require bash.
| jvalencia wrote:
| Having scaled up various business initiatives, and working
| through countless scaling issues, I would recommend managed
| services like anyone else with experience...
|
| However! When I spin up my own side projects. It is sooo much
| easier to just go into the command line and spin something up
| directly --- it does make me wonder whether some small amount of
| expertise can really change things. By the time your
| orchestrating AWS services, docker containers, kubernetes and
| more --- Would it have been so bad to run a 10 line bash script
| on few cheap VMs to set yourself up?
|
| Even typing that, I realize how much time managed services saves
| you when you need it. Change management is really what those
| services offer you - even if a momentary setup is easier by hand.
| locusofself wrote:
| I totally agree. I recently set up a service using docker,
| terraform, and AWS fargate. It was interesting, but everything
| felt like such an abstraction. Firing up a VM and running the
| app would have taken me as little as 10 minutes vs a multiple
| day research project. Or using ansible would have taken maybe a
| couple hours.
___________________________________________________________________
(page generated 2022-01-28 23:00 UTC) |