Closed polettix closed 7 years ago
Question: when it comes to deployment, do you know of any resource/reading that talks about the non-SaaS case in ways similar to what your article does for SaaS?
Don't particularly know of any articles or posts off-hand that might coincide with that. :\
One thing I will say, though, is that you can generalize some of the things in the SaaS world inside the "traditional" software world. Certainly not everything, but some things.
To take two examples from my GitHub days:
GitHub has a couple clients it ships (GitHub Desktop, Atom). Atom is open source, so it's even more closer to SaaS, but even the GitHub Desktop team had a lot of pretty interesting approaches they took, imo. Things like continuous delivery (running unit tests and integration tests on target platforms, and automatically building binaries on every commit) were possible. They also make use of feature flags pretty liberally: staff get a special build/config flag that opts them into newer or different functionality and features. You can see that in other programs, too: Docker's new GUI (for macOS, at least) has a "opt me into advanced features" preference that does much the same thing. Obviously you might not want to do this for mission critical stuff, but it's something I didn't initially think as being viable for shipped software.
GitHub Enterprise is a much more traditionally-shipped software project, and that's built in much the same way as github.com, too. Feature flags, automated deployments, deployments from Slack, etc.
There's definitely a lot of things you can't get away with once you don't physically own the hardware your code is run on, but there is some things you can do. Even more so if you're willing/able to let your software phone home. There's definitely some privacy and control concerns there, but it can offer a lot of benefits, too.
Hope that helps some! Let me know if you have any other questions or comments; love chatting about this stuff.
Mumbling over your answer I forgot... thank you!
Hi! I just finished reading your article about deployment and found it very interesting. Thanks for sharing!
Question: when it comes to deployment, do you know of any resource/reading that talks about the non-SaaS case in ways similar to what your article does for SaaS?
Why the question: reading through all different aspects of DevOps it's all about SaaS. It makes sense because you can't really have "intimacy" across Devs and Ops if they live in two different companies (as it would happen with a "traditional software sell/licensing"). So you might try to reuse some of tools and a few of the processes for non-SaaS, but not really that many. I would be interested into understanding whether anyone tried to apply more of these ideas in the "traditional software selling/licensing" realm.