We don't believe you can learn much by simply reading. Academic knowledge alone is a bit useless in this field. To resolve that, we have a project for you. This project will be a portfolio piece, because it will be high quality, well presented (by you), and relevant.
Throughout this course, you're going to continuously be tested with projects. You'll be expected to complete these projects because not doing so means you'll affect your chances of success. Cheating also means you'll only be cheating your self, and being too relaxed about the importance of these topics and the projects will result in a relaxed, weak understanding.
Do your best.
Our overall aim will be to host a Wordpress blog inside of AWS. It's not going to be the most complex project you'll come up against, but it will teach you a lot. You can host your own blog on it, and you can share that blog with employers in the future when you're applying for jobs.
Here's what the architecture will look like for this course's project:
You'll likely want a much bigger version of the roadmap, so I've provided two links to much bigger copies:
What's going to be required to build this? Everything in this course! From start to finish. The entire course has been optimised to teach you just what you need to know to build something in AWS. It doesn't go into too much detail, but also doesn't skip what you need. As you move through this course, you will learn the skills needed to build the above on AWS. But before you get there, you'll move through a lot of content, all of which has its own smaller projects. We'll take a look at those projects below.
Per Section Projects#
Each section of this course builds on the previous. Each project is the same. Bit by bit, each project helps you understand the concepts taught in the text by getting you to do and build. Let's look at each of these projects.
- Examining your own system(s)
- Writing a report on your findings
- Building a (fictional) PC
- Understanding your kernel
- What's running on your system?
- Report on key differences between Linux distributions used in production
- Diagram the (basic) structure of a process in RAM
- Create a simplified illustration showing the CPU processing instructions
- Create a simplified illustration of data in RAM
- Draw a diagram that demonstrates switching and routing
- Explore your system's IP configuration
- Add another IP to your system
- Diagram a TCP/IP connection to a remote host
- Diagram the DNS and HTTPS process
- Design a series of networks
- Use cURL to send an HTTPS request and explain the entire process with an illustration
- Encrypt some data using symmetric and asymmetric algorithms
- Diagram the TLS handshake
- Design a simple firewall for your networks (previous tasks)
- Illustrate an authentication/authorisation process
- Illustrate how a SQL Injection works, complete with network workflow
- Illustrate the Ubuntu file system structure
- Make an illustration/graphic that explains the Linux file permissions
- Write a blog post explaining how-to manage users on Ubuntu Linux
- Write about the APT repositories enabled on your Ubuntu system
- Illustrate the network configuration on your system
- Write a blog about how-to monitor the resources on a Ubuntu system from the CLI
- Write about securing your AWS root account and creating a secondary IAM user
- Illustrate the relationships between users, groups, and policies
- Use your network designs and illustrate them using AWS networking concepts
- Design the instance you're going to install Wordpress on
- Illustrate the Security Groups and NACLs you're going to use
- Design the RDS instance you're going to select
- Illustrate the RDS backup and maintenance processes