Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dwyl/learn-devops
🚧 Learn the craft of "DevOps" (Developer Operations) to Deploy your App and Monitor it so it stays "Up"!
https://github.com/dwyl/learn-devops
automation aws azure deployment dev-infra devops devops-tools digitalocean docker dokku heroku linode
Last synced: 3 months ago
JSON representation
🚧 Learn the craft of "DevOps" (Developer Operations) to Deploy your App and Monitor it so it stays "Up"!
- Host: GitHub
- URL: https://github.com/dwyl/learn-devops
- Owner: dwyl
- License: gpl-2.0
- Created: 2017-05-15T09:40:01.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-07-27T14:04:32.000Z (6 months ago)
- Last Synced: 2024-08-01T15:39:48.810Z (6 months ago)
- Topics: automation, aws, azure, deployment, dev-infra, devops, devops-tools, digitalocean, docker, dokku, heroku, linode
- Language: Shell
- Homepage:
- Size: 194 KB
- Stars: 416
- Watchers: 16
- Forks: 172
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Learn DevOps
Learn the craft of "DevOps" (Developer Operations)
to _reliably_ deploy your App and keep it Up!![devops-process](https://user-images.githubusercontent.com/194400/28494977-ce74a632-6f36-11e7-9f86-f48abde49479.png)
## Why?
You should learn more "advanced" DevOps if:
- You / your team have "out-grown"
[Heroku](https://github.com/dwyl/learn-heroku)
(_e.g: your Heroku bill is more than \$100/month_)
- You want "more control" over your infrastructure
e.g: to run a specific version of software or database.
- Your client/boss has instructed you
to use a _specific_ "cloud" provider.
- Curiosity to extend your
"back end infrastructure" knowledge to be a more
"well-rounded" developer.## What?
> "_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**?"](https://youtu.be/_I94-tJlovg) by RackSpace## Who?
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.## How?
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.### Provider-Specific Guides
We have produced a guide for each of our most-used
infrastructure/platform providers:- AWS: https://github.com/dwyl/learn-amazon-web-services
- AWS Lambda: https://github.com/dwyl/learn-aws-lambda
- Azure: https://github.com/dwyl/learn-microsoft-azure
- Heroku: https://github.com/dwyl/learn-heroku
- Fly.io: [fly-phoenix-setup.md](https://github.com/dwyl/learn-devops/blob/master/fly-phoenix-setup.md)
- Linode: [linode-setup.md](https://github.com/dwyl/learn-devops/blob/master/linode-setup.md)
- DigitalOcean: [nodejs-digital-ocean-centos-dokku.md](https://github.com/dwyl/learn-devops/blob/master/nodejs-digital-ocean-centos-dokku.md)### `Gogs` Git Server
We 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`]()### Node.js
- Node.js with Dokku:
[nodejs-digital-ocean-centos-dokku.md](https://github.com/dwyl/learn-devops/blob/master/nodejs-digital-ocean-centos-dokku.md)
- Node.js "Zero Downtime" Production Deployment with PM2:
[nodejs-pm2-zero-downtime.md](https://github.com/dwyl/learn-devops/blob/master/nodejs-pm2-zero-downtime.md)> 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### Testing, Continuous Integration & Delivery
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-tddNext 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)https://github.com/dwyl/learn-travis/blob/master/encrypted-ssh-keys-deployment.md
## Resources
### Videos
- What is DevOps: https://youtu.be/I7vHqXY22gg
- What is DevOps? - In Simple English: https://youtu.be/_I94-tJlovg
(_good info but last minute is a RackSpace pitch_)
- DevOps for Beginners Course Introduction: https://youtu.be/v7ZcZfGBFcU### Background Reading
+ https://en.wikipedia.org/wiki/DevOps
+ https://theagileadmin.com/what-is-devops
+ https://newrelic.com/devops/what-is-devops
+ https://logit.io/blog/post/what-is-devops### Linode-specific How-tos
- SSH with Public Keys:
https://www.linode.com/docs/security/use-public-key-authentication-with-ssh
- Using Vagrant for Environment Management:
https://www.linode.com/docs/applications/configuration-management/vagrant-linode-environments### Using a Different Cloud Infrastructure Provider?
While this tutorial has focussed on using Linode,
we @dwyl have _experience_ of using _several_ infrastructure providers:- Amazon Web Services: https://github.com/dwyl/learn-amazon-web-services
- Azure: https://github.com/dwyl/learn-microsoft-azure
- Digital Ocean: https://github.com/dwyl/DigitalOcean-Setup
- Heroku: https://github.com/dwyl/learn-herokuif you have a question specific to using Linode or one of the _other_
"cloud" providers, please
[**open an _issue_**](https://github.com/dwyl/learn-devops/issues)
and we will attempt to help!
Thanks for learning with us!
Your feedback/questions is always welcome.[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat-square)](https://github.com/dwyl/learn-devops/issues)
[![HitCount](http://hits.dwyl.com/dwyl/learn-devops.svg)](http://hits.dwyl.com/dwyl/learn-devops)