In this course you will learn:
- How to deploy applications on a Linux server on an IaaS platform (Amazon Web Services).
- How to deploy applications on a PaaS platform (Heroku).
- Automated testing, continuous integration and continuous delivery (Travis CI).
In pursuit of this goal, you will learn:
- How to use the command line and version control.
- The basics of Unix system administration and cloud computing architectures.
- Good security practices related to system administration and web applications.
This course is a COMEM+ web development course taught at HEIG-VD.
- Introduction
- Version control
- Security
- Basic deployment
- Advanced deployment
- Automated deployment
- Platform-as-a-Service (PaaS)
- Software development (extra)
- A Unix CLI (Git Bash is included with Git on Windows)
- Git
- A free GitHub account
- Google Chrome (recommended, any browser with developer tools will do)
- A free Heroku account
- The Heroku CLI
- Version control
- Unix
- Basic deployment
- Run your own virtual server on Amazon Web Services (diagram)
- Deploy a PHP application with SFTP (diagram)
- Deploy a PHP application with Git (diagram)
- Configure a PHP application through environment variables (diagram)
- Manage a PHP application with systemd as a Process Manager (diagram)
- Configure a domain name
- Advanced deployment
- Deploy a static site with nginx (diagram)
- Deploy a PHP application with nginx and the FastCGI process manager (diagram)
- Set up an automated deployment with Git hooks (diagram)
- Deploy a web application with a database (graded, not yet available)
- Deploy a Node.js application with a MongoDB database (extra)
- Deploy a Node.js application with a Redis database (extra)
- Provision a Let's Encrypt TLS certificate with Certbot
- Configure nginx as a load balancer (extra)
- Bonus exercise (not yet available)
- End result diagram
- Platform-as-a-Service deployment