A few thoughts:
A few thoughts:
🔥 They're constantly putting out fires
🚨 Nothing is reproducible or documented
⚠️ Even minor changes feel risky
😰 The predominant emotions are fear & stress
This is "DevOps Bankruptcy." We wrote a guide on how to get yourself out of it:
🔥 They're constantly putting out fires
🚨 Nothing is reproducible or documented
⚠️ Even minor changes feel risky
😰 The predominant emotions are fear & stress
This is "DevOps Bankruptcy." We wrote a guide on how to get yourself out of it:
I read ~100 books / year, and I've been tracking my reading for more than a decade, so this represents my ratings and notes for over 1,000 books.
Links are in the following tweets:
I read ~100 books / year, and I've been tracking my reading for more than a decade, so this represents my ratings and notes for over 1,000 books.
Links are in the following tweets:
1. They have powerful credentials
2. Every dev in your company has access
3. They are used to run arbitrary code
That's a terrifying combination from a security perspective 😳😱
Here are 8 steps for secure CI/CD:
1. They have powerful credentials
2. Every dev in your company has access
3. They are used to run arbitrary code
That's a terrifying combination from a security perspective 😳😱
Here are 8 steps for secure CI/CD:
1. Start with v1 of your app.
2. Deploy v2 using a core strategy, but any new features in v2 are wrapped in a feature toggle, and off by default, so users see no difference from v1.
3. Release the new features in v2 by flipping the feature toggle on.
1. Start with v1 of your app.
2. Deploy v2 using a core strategy, but any new features in v2 are wrapped in a feature toggle, and off by default, so users see no difference from v1.
3. Release the new features in v2 by flipping the feature toggle on.
1. Start with v1 in all envs (dev, stage, prod).
2. Deploy v2 to dev using a core strategy.
3. If everything works well in dev, deploy ("promote") v2 to stage.
4. If everything works well in stage, promote v2 to prod.
1. Start with v1 in all envs (dev, stage, prod).
2. Deploy v2 to dev using a core strategy.
3. If everything works well in dev, deploy ("promote") v2 to stage.
4. If everything works well in stage, promote v2 to prod.
1. Start with v1 of your app.
2. Deploy 1 replica of v2 (the canary) and compare it to a v1 replica (the control). If you find undesired differences between the canary & control (e.g., higher error rates), roll back.
3. Fully roll out v2 using a core strategy.
1. Start with v1 of your app.
2. Deploy 1 replica of v2 (the canary) and compare it to a v1 replica (the control). If you find undesired differences between the canary & control (e.g., higher error rates), roll back.
3. Fully roll out v2 using a core strategy.
1. Start with v1 (blue) of your app.
2. Deploy v2 of your app (green) onto new servers.
3. When all the v2 replicas are passing health checks, do an instantaneous switchover, moving all traffic from v1 (blue) to v2 (green). Then, undeploy v1.
1. Start with v1 (blue) of your app.
2. Deploy v2 of your app (green) onto new servers.
3. When all the v2 replicas are passing health checks, do an instantaneous switchover, moving all traffic from v1 (blue) to v2 (green). Then, undeploy v1.
1. Start with v1 of your app.
2. Replace one v1 replica with a v2 replica. This strategy is often used with stateful systems, so you also move the data from v1 to v2.
3. Repeat the process in step 2 until all v1 replicas are replaced with v2.
1. Start with v1 of your app.
2. Replace one v1 replica with a v2 replica. This strategy is often used with stateful systems, so you also move the data from v1 to v2.
3. Repeat the process in step 2 until all v1 replicas are replaced with v2.
1. Start with v1 of your app.
2. Deploy v2 onto new servers. As the v2 apps pass health checks, the load balancer sends traffic to both v1 and v2 nodes.
3. Undeploy the v1 apps, until you end up with just v2 running.
1. Start with v1 of your app.
2. Deploy v2 onto new servers. As the v2 apps pass health checks, the load balancer sends traffic to both v1 and v2 nodes.
3. Undeploy the v1 apps, until you end up with just v2 running.
1. Start with v1 of your app.
2. Take the v1 nodes down and update to v2. While the update is happening, your users get an outage.
3. Once v2 is running everywhere, your users are able to use the app again.
1. Start with v1 of your app.
2. Take the v1 nodes down and update to v2. While the update is happening, your users get an outage.
3. Once v2 is running everywhere, your users are able to use the app again.
See the features: postimg.cc/5jL74Nqt
Share your feedback: forms.gle/Vy8vi16WPtTC...
10 randomly selected participants will get a $20 gift card.
See the features: postimg.cc/5jL74Nqt
Share your feedback: forms.gle/Vy8vi16WPtTC...
10 randomly selected participants will get a $20 gift card.
The same is true with DevOps: every tool & technique has a cost, so you should use the "minimum effective dose of DevOps," too.
The same is true with DevOps: every tool & technique has a cost, so you should use the "minimum effective dose of DevOps," too.
I’ll start: I’m excited to introduce my new book, “Fundamentals of CatOps and SoftFur Delivery.”
I’ll start: I’m excited to introduce my new book, “Fundamentals of CatOps and SoftFur Delivery.”