It's always nice to see how other teams do it. Nothing too groundbreaking here but that's a good thing. I did notice the screenshot of "Checkpoint", their deployment tracking UI. Are there solid open source or SaaS tools doing something similar? I've seen various companies build similar tools but most deployment processes are consistent enough to have a 3rd-party tool that was useful for most teams.
I've built that tool 2-3 times now. The issue is really the deploy function and what controls it. It's always a one-off, or so tightly integrated into the hosting environment, that reaching in with a SaaS product is somewhat difficult. That being said, the new lowest-common-denominator standards like K8s make it way easier. If anyone is interested in using a tool just leave a comment and I'll reach out.
Deploys at Slack
121–130 of 139 posts
Re: Deploys at Slack
#122Flowdock thought of this long time back - http://blog.flowdock.com/2014/11/11/chatops-devops-with-hubo...
Github Hubot is of course a modern interpretation of it..but I wonder why chatops doesnt have the mindshare that gitops has.
Slack's deployment is human driven. It's a natural fit for a chatops style model.
Re: Deploys at Slack
#123Speaking as a heavy user of Kubernetes, evolving from an existing VM-based application to something like what Slack is doing seems like it might be more sensible than a "move everything to microservices and Kubernetes" modernization strategy.
Re: Deploys at Slack
#124Earlier quoted context omitted.
I've built that tool 2-3 times now. The issue is really the deploy function and what controls it. It's always a one-off, or so tightly integrated into the hosting environment, that reaching in with a SaaS product is somewhat difficult. That being said, the new lowest-common-denominator standards like K8s make it way easier. If anyone is interested in using a tool just leave a comment and I'll reach out.
Please provide a way for people to reach you without commenting here.
Re: Deploys at Slack
#125Earlier quoted context omitted.
My point is that if there is any downtime for the switch, for example restarting a service, it's not atomic. A small percentage of failed requests can still be high in absolute terms for a company like Slack, so why not using a paradigm [1] where you have atomic switch? And also instant rollback. [1] https://www.martinfowler.com/bliki/BlueGreenDeployment.html
Nginx can hot reload a config file while running that’s pointed at a different directory, or perhaps they’re updating a symlink?
Re: Deploys at Slack
#126> Even strategies like parallel rsyncs had their limits. They don't really go into detail as to what limitations they hit by pushing code to servers instead of pulling. Does anyone have any ideas as to what those might be? I can't think of any bottlenecks that wouldn't apply in both directions, and pushing is much simpler in my experience, but I've also never been involved with deployments at this scale.
I can't speak for Slack, but it's not unreasonable to believe that a single machine's available output bandwidth (~10-40Gbps) can be saturated during a deploy of ~GB to hundreds of machines. Pushing the package to S3 and fetching it back down lets the bandwidth get spread over more machines and over different network paths (e.g. in other data centers)
Re: Deploys at Slack
#127I constantly wonder if all of this UI is better expressed as a slack chat room (instead of a whole new UI) Flowdock thought of this long time back - http://blog.flowdock.com/2014/11/11/chatops-devops-with-hubo... Github Hubot is of course a modern interpretation of it..but I wonder why chatops doesnt have the mindshare that gitops has. Slack's deployment is human driven. It's a natural fit for a chatops style model.
When I last did ops we pushed the automation and alerting hard, so the idea of someone being formally assigned to a deployment is interesting. This sounds like they have a ton of manual or semi scripted steps. At some point, removing the dedicated deployment commander and relying on alerting is helpful, although preference of where that point is can be debated.
Re: Deploys at Slack
#128I constantly wonder if all of this UI is better expressed as a slack chat room (instead of a whole new UI) Flowdock thought of this long time back - http://blog.flowdock.com/2014/11/11/chatops-devops-with-hubo... Github Hubot is of course a modern interpretation of it..but I wonder why chatops doesnt have the mindshare that gitops has. Slack's deployment is human driven. It's a natural fit for a chatops style model.
> an engineer is designated as the deploy commander in charge of rolling out the new build to production. When I last did ops we pushed the automation and alerting hard, so the idea of someone being formally assigned to a deployment is interesting. This sounds like they have a ton of manual or semi scripted steps. At some point, removing the dedicated deployment commander and relying on alerting is helpful, although…
You do lead with automation, but the introduction of human subjectivity is a low-overhead way to still have flexibility.
Re: Deploys at Slack
#129Re: Deploys at Slack
#130Earlier quoted context omitted.
> Plain EC2, backend in PHP. That's slightly horrific. Weirdware NIH deploy system, no containers, PHP.
If I was using PHP, I wouldn't use containers either. Just sync the latest code over, change a sym link to the new build, done.