5 ms·
On the other extreme end, I can setup a server in half an hour and deploy my code to it directly. No moving parts to get messed up or poorly configured or compr
by brobdingnagians 5y ago
On the other extreme end, I can setup a server in half an hour and deploy my code to it directly. No moving parts to get messed up or poorly configured or compromised. There are a lot of cloud devops things I don't get, but if it is just me, then it is dead simple and cheap, and I can add those later when/if they become important.
- thinkindie 5y agothing is - you don't want to have a single server for your application, even the most simple one. Even having some simple redundancy in place means having 2 webservers, 2 database servers (separated from the webservers). And even for storage, S3 is not evaluated under the only metrics of storage size, but availability and durability too.
- nicoburns 5y agoAs a small startup you don't really need redundancy. Regular backups is likely good enough.
- comprev 5y ago24/7 operations is the norm these days and I'd be surprised if the client doesn't want redundancy.
- secabeen 5y agoI don't work in a small startup (large non-profit), and our SLAs are best-effort only outside M-F 8am-5pm. Not everyone is trying to build a global-scale stack.
- TameAntelope 5y agoAs a small startup you need to be focusing on iterating with your (potential) customers, not on how to securely set up a web server. Most startups are not hard tech problems, despite the very strong desire to make them so by a technical founder.
- nicoburns 5y agoI'm not convinced that cloud providers like AWS/GCloud/Azure are any simpler to manage. If you're talking about something like Heroku or Render then sure.
- thinkindie 5y agothey are not necessarily easier to manage but you can easily setup a redundant infrastructure with a very low effort. You can even have manually provisioned instances, but you easily spin servers in multiple availability zones and have a load balancer in front of them. Similarly you can easily setup and maintain a database in multiple availability zones without much effort.
- PragmaticPulp 5y agoBut a single server doesn’t substitute for the cloud services. Yes, your code is running, but even this article acknowledges that you now need to roll your own backup solution, test that it’s working, and so on. You also need to set up monitoring and alerting, metrics collection, and all of the other things that come with cloud services. It’s easy to ignore those because we add them piecemeal over time with custom servers, but it is a huge drag on productivity when you add it all up.
- throwaway894345 5y ago> It’s easy to ignore those because we add them piecemeal over time with custom servers, but it is a huge drag on productivity when you add it all up. Not only that, but you now own these services. If they break, you have to stop working on your product to fix them. Moreover, when your DIY cloud runs into problems, you won't have the benefit of a wealth of knowledge on the issue (internet forums, chat rooms, hiring people, etc) and of course you won't have anyone you can pay for support.
- brobdingnagians 5y agoI agree that you eventually want to have those things, but we moved to a major cloud provider when we were ready and got all of those; that transition was very easy because the original setup was so simple. We got a strict superset of features, but the original setup worked to validate the idea and get the original customers.
- throwaway894345 5y agoBefore long you also need CI/CD pipelines (to test and deploy your application), log exfiltration, monitoring, TLS, DNS, database backups (and ideally replication), database migrations, secrets management, and so on. In reality you probably need redundancy of your application and databases as well, with load balancing, etc. You'll also want a couple of additional environments, and things are probably complex enough that it justifies some infrastructure as code so you can (more or less) stamp out these environments and keep them in sync with your production environment (and also so you can rebuild prod in case of catastrophic failure). You can definitely get there if you're using your own machines, but a PaaS or cloud provider will get you there a lot faster.
- geysersam 5y agoBut you are comparing your own level of knowledge of those two different technologies. Not their individual merits per se. Have you really spent a similar amount of time learning your way around deploying applications on the cloud as you have administrating your own server?