Learn the craft of "DevOps" (Developer Operations) to reliably deploy your App and keep it Up!
You should learn more "advanced" DevOps if:
"DevOps integrates developers and operations teams in order to improve collaboration and productivity by automating infrastructure, automating workflows and continuously measuring application performance." from: "What is DevOps?" by RackSpace
Everyone that wants to seriously consider/call themself a "Full Stack" Developer must know how to deploy, secure and monitor their app on their chosen infrastructure.
Over the years we @dwyl have deployed/managed Apps, both our own and those of our clients, on a wide variety of infrastructure and platform providers.
Most of our Apps have been deployed to Amazon Web Services ("AWS")
e.g: https://www.sciencemuseum.org.uk
We have several clients who use (and love) Heroku e.g:
https://www.ellenmacarthurfoundation.org
For the National Health Service (NHS) in England,
(who have a major contract with Microsoft)
we deployed to Microsoft Azure.
We have clients who still own their own "Bare Metal" Servers.
We have produced a guide for each of our most-used infrastructure/platform providers:
Gogs
Git ServerWe needed to run a our own Git
server
for one of our projects.
So we deployed Gogs
both locally
and to Fly.io
and documented it:
[/gogs
]()
If you would like to see a guide for a different service provider, please open an issue with your suggestion(s): https://github.com/dwyl/learn-devops/issues
Deployment is what you do with your app once you have built, tested and documented it.
If you are unfamiliar with Test-Driven Development (TDD),
please see: https://github.com/dwyl/learn-tdd
Next you should be proficient with Continuous Integration. For that we recommend using Travis-CI, see: https://github.com/dwyl/learn-travis
https://github.com/dwyl/learn-travis/blob/master/encrypted-ssh-keys-deployment.md
While this tutorial has focussed on using Linode, we @dwyl have experience of using several infrastructure providers:
if you have a question specific to using Linode or one of the other "cloud" providers, please open an issue and we will attempt to help!
Thanks for learning with us!
Your feedback/questions is always welcome.