惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
The Last Watchdog
The Last Watchdog
T
Tenable Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
Simon Willison's Weblog
Simon Willison's Weblog
V
Vulnerabilities – Threatpost
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
A
Arctic Wolf
云风的 BLOG
云风的 BLOG
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
MyScale Blog
MyScale Blog
B
Blog
Spread Privacy
Spread Privacy
S
Schneier on Security
Project Zero
Project Zero
L
LINUX DO - 热门话题
M
MIT News - Artificial intelligence
F
Full Disclosure
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
Cyberwarzone
Cyberwarzone
AWS News Blog
AWS News Blog
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
C
Cybersecurity and Infrastructure Security Agency CISA
Hugging Face - Blog
Hugging Face - Blog
Security Latest
Security Latest
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Tailwind CSS Blog
K
Kaspersky official blog
Recent Announcements
Recent Announcements
NISL@THU
NISL@THU
Cisco Talos Blog
Cisco Talos Blog
S
Securelist
P
Privacy & Cybersecurity Law Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Exploit Database - CXSecurity.com
V
Visual Studio Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Webroot Blog
Webroot Blog

ParaVocê Dev Blog

How do you provision a Linux VM? How do you deploy in 10 seconds?
You're overcomplicating production
hidden (para · 2024-10-18 · via ParaVocê Dev Blog

You're going to have outages in production. They're inevitable. The question is how to best minimize outages, both their frequency and duration.

Common wisdom advocates for using managed k8s and databases, containerized services, horizontal scaling for redundancy, building images in CI/CD, and defining your infrastructure as code. This is Best Practice™, and no one was ever fired for doing that. In fact it's quite good for your resumé.

I will argue that such common wisdom is wrong. These tools are complex, and complex infrastructure is a wildly net-negative distraction to your business and inherently risky.

Over the past 10 years I've run services in production with millions of customers, exceeding 4-9's uptime. During that time I experimented with a wide variety of architectures, starting with self-managed servers on a fleet of OpenBSD VMs, then writing a custom orchestrator deploying services with OCI containers, and finally adopting GKE-managed k8s.

Over time I increased the complexity of the system, looking to how the industry solved real problems I was facing, such as:

  • If my server goes down, how can I have redundancy?
  • If my VMs get deleted, how can I recover quickly?
  • If I need to hire more people, how can I get them up-to-speed?

But like Goldilocks looking for soup, nothing was quite right.

Deploys take 15 minutes on Github workers. When something goes wrong, it kicks off a murder-mystery figuring out the problem, needing root cause analysis and post-mortems. It takes an entire team to manage the system, requiring complex network diagrams and human processes to keep everything up-to-date.

When I started up a new project for the first time in 10 years, I realized just how simple it all could have been. Even with millions of customers and 40 employees, we could have easily run on a single VM using Go and SQLite. We could have 10x'd with that same strategy.

There's a whole industry pushing complexity. That's why GCP/AWS/Microsoft/Hashicorp and every VC company under the sun sponsor so many events -- they need to convince you that you need what they sell. They market it like any other product. Once it takes hold in the industry as Best Practice™, it self-perpetuates, with developers advocating for the latest hype without fully understanding the trade-offs, until it's years later and you're stuck managing MongoDB.

Fuck that. I'm swimming against the current. Build the simplest systems possible.

Simple systems are faster to iterate, easier to debug, and just as secure and reliable if not more so.

As I write future blog posts, I'll be covering this in more detail:

  • Picking a VM provider
  • Managing a Linux server
  • Scripts to make deploys easy
  • How to minimize outages
  • How to secure everything

Subscribe on RSS to follow along.

#devops #sysadmin