
Cloud computing lets developers provision servers, storage, databases, networking, and analytics over the internet with on-demand, pay-as-you-go services. Virtualization enables instant virtual instances via hardware abstraction layer and hypervisors.
Explore how cloud computing delivers cost efficiency, agility, faster time to market, scalability, and reliability with on-demand resources, pay-as-you-go pricing, and robust security.
Explore cloud computing service models, including IaaS, PaaS, and SaaS, and contrast them with traditional on-premises infrastructure and resources provided on a pay as you go basis.
Explore infrastructure as a service (IaaS), delivering on-demand, scalable compute and storage via a subscription model, eliminating the need for on-prem data centers, managed by Linode with virtualization and APIs.
Explore platform as a service (PaaS), where providers manage the software stack and deploy scalable applications over the internet. See how PaaS supports DevOps, API management, data analytics, and IoT.
Explore software as a service (SaaS), a cloud hosted, subscription-based model delivering apps via web, desktop, or mobile clients, with the vendor handling infrastructure, data storage, upgrades, patches, and security.
Explore IaaS, PaaS, and SaaS in cloud computing, comparing on-premises control and cost with vendor-managed SaaS, and examine market share and growth projections.
Set up a Linode account by signing up, confirming your email, and entering billing and payment details to authorize a $1 hold, then access the cloud manager.
Explore the Linode cloud manager dashboard, navigate virtual instances, block and object storage, marketplace apps, account settings, and support resources to prepare for secure, scalable deployments.
Enable two-factor authentication on your Linode account by configuring knowledge and possession factors with Google Authenticator, scanning a QR code, and securely storing the scratch code.
Deploy a Linode virtual instance by selecting Ubuntu 20.04 LTS, Newark data center, and a basic 1 GB RAM, 1 CPU, 25 GB root volume plan.
Explore the Linode instance dashboard to verify provisioning status, view IPv4/IPv6 addresses, and access ssh commands for remote management.
Learn to securely connect to a Linode instance to administer it using command-line methods, covering updating the operating system, managing software, files, monitoring performance, and securing with patches and firewalls.
Learn why password authentication is vulnerable to brute force and how to switch to SSH key authentication. Explore OpenSSH tools, key pairs, and secure remote access and file transfers.
Generate a 4096-bit SSH key pair on Windows with Putty Gen X, save public and private keys, and configure Putty to use the private key for a Linode root login.
Generate an SSH key pair on macOS or Linux using terminal, protect with a passphrase, then copy the public key to the Linode instance and connect via SSH key authentication.
Launch the LISH console from the Linode cloud manager, log in as root, and execute commands as you would in a terminal.
Learn to add ssh public keys to the Linode cloud manager to streamline future deployments. Create and label keys, paste the public key, and enable provisioning for new instances.
Explore the Linux kernel and distributions, including Ubuntu 20.04 LTS, and compare Linux with Windows. Learn about web servers, scripting languages, databases, security, and core terms.
Discover the Linux file system and hierarchical directory structure, differentiate absolute and relative paths, and review key directories such as /bin, /boot, /home, /var, and root and non-root user roles.
Learn to log into an Ubuntu 20.04 LTS server and manage software with apt, including updating, upgrading, dist-upgrading, and installing or removing packages from repositories.
Navigate the linux file system hierarchy with directory commands like pwd, cd, and ls, and create, edit, and save a text file in the root home directory using nano.
Learn essential Linux directory commands to create, move, copy, and delete files and directories using mkdir, mv, cp, rm, and cd, with recursive operations in Ubuntu.
Configure ubuntu server by setting a unique host name, updating /etc/hosts, and aligning time settings and rtc with utc or local time.
Discover why the root account's privileges pose security risks and how Ubuntu enables non-root users, groups, and pseudo commands like sudo and su.
Create a non-root user named Bob, add him to the sudo group, verify Bob's presence and privileges, and prepare for SSH key authentication in the next lesson.
Secure a non-root account by creating a dedicated SSH key pair for Bob, adding it to authorized_keys, and using the private key for login.
Disable root login and password authentication to enforce ssh key authentication and strengthen server security. Verify changes by restarting ssh and testing logins.
Understand how web servers host and deliver content through hardware and software, using HTTP request–response, DNS, and URLs to connect clients and servers.
Explore why a hosting provider is preferred over a home server, highlighting upload speeds, power reliability, backups, dynamic vs static IP, DNS, security, scalability, and liability.
Compare Nginx and Apache to choose between dynamic versus static content handling, reverse proxy use, and module support, guided by their configuration models and platform compatibility.
Explore what a database is and how a DBMS manages data for web applications, including relational (SQL) and NoSQL choices.
Compare SQL relational databases and NoSQL systems, covering SQL language, DBMS, one-to-many relationships, and the four NoSQL categories—key-value, document, wide-column, and graph databases.
Compare relational and non-relational databases by examining the ACID properties—atomicity, consistency, isolation, durability—and how CAP governs distributed systems.
Explore the cap theorem in NoSQL databases, contrast with acid, and explain how distributed systems balance consistency, availability, and partition tolerance through horizontal scaling, including ca, cp, and ap intersections.
Compare SQL and NoSQL DBMS, including the acid principle and the CAP theorem, and how SQL scales up versus NoSQL scales out. Highlight data structures, with SQL using tables and NoSQL using document or key-value stores, and note popular options like MySQL, PostgreSQL, Oracle, MariaDB, MongoDB, Redis, Couchbase, and DynamoDB.
Define software stacks and their components, then compare lamp, mern, and mean stacks while contrasting React and Angular with Node.js and Express.js.
Compare libraries and frameworks, noting how libraries provide reusable code you call while frameworks govern app flow via inversion of control. Review popular examples across JavaScript, PHP, and Python.
Clarify how stacks, frameworks, and languages differ, and distinguish client side from server side scripting, with examples like PHP, Python, Node.js, Ruby, and Perl powering back-end tasks.
Install and configure the lamp stack on Ubuntu via the command line, including Apache, MariaDB, and PHP, secure MariaDB, and verify via browser and PHP version.
Learn to install a lamp stack quickly with the Linode marketplace one-click app during deployment. Configure image, region, and root password, then test and delete to avoid charges.
Learn to verify PHP is running on Apache by creating an info.php in the web root, viewing it in a browser, and deleting it for security.
Learn how to connect PHP to a MariaDB database, create a database and a dedicated user, grant privileges, and verify data with table creation, inserts, and a select.
Build a PHP script in nano to connect to MariaDB, fetch records from the name list table, and render them as an HTML list accessible through a web browser.
Use the Linode glitch client to install the XFCE desktop environment on Ubuntu for remote server administration. Access the web root at /var/www/html and explore Apache files visually.
Secure the hosting environment by applying firewall configuration, network monitoring, and best practices to defend against DDoS, directory traversal, and brute-force attacks on server ports 80 and 443.
Configure a firewall to shield your server by filtering incoming connections. It scans traffic for threats, checks ports 80 and 22 for http and ssh, and blocks or allows access.
Configure a Linode network firewall to control inbound traffic with console or api rules, and block http on port 80 using a drop rule to test and apply changes.
Learn how to secure a Linode server by changing the ssh port from 22 to a custom port, and restrict access with firewall rules that allow only trusted IP addresses.
Configure a strict inbound firewall policy for a Linode instance by dropping default traffic and enabling HTTP, HTTPS, DNS, MySQL, and ICMP rules, then validate the Apache page.
Configure a hosted firewall on a Linode web server using UFW, enabling default deny and rules for ssh on port 9555, plus http, https, and database access.
Explore vertical and horizontal scaling in Linode, upgrading a single instance (vertical scaling) or adding nodes to a cluster (horizontal scaling) with load balancers and health checks.
Demonstrate vertical scaling on Linode by powering off and resizing from 1 gigabyte to 4 gigabytes ram and 50 gigabytes storage, with optional disk resize. Power the Linode back on.
Learn to horizontally scale Linode deployments by creating a node balancer, configuring private networks, attaching two backend nodes, enabling health checks, and validating load distribution.
Learn to swap public IPs between two Linode instances using the IP transfer feature in the Linode cloud console, update hosts files, and verify production and test environments.
Learn to back up Linode instances using disk images, compare manual and automated backups, and deploy new instances from saved images for reliable cloud websites.
Create a custom image with the Linode images manager, verify disk utilization under six gigabytes with df -h, and deploy new instances from that image.
Enable the Linode backup service for an instance, review cost and rotation (daily, 2–7 days, 8–14 days), learn manual and automated snapshots, auto enrollment, and volume cloning for non-root disks.
Clean up your Linode account by terminating existing instances, deleting unused volumes and custom and recovery images to avoid charges, and close the account if you won't use it.
Explore cloud computing by deploying and configuring virtual servers, securing them with non-root accounts and firewalls, and using remote Linux CLI to install web servers and stacks.
This course is designed to provide students with a comprehensive understanding of Cloud Computing and its service models, as well as practical skills in deploying and managing servers on Linode, a popular cloud hosting platform. The course will also cover Linux Foundations, Web Server and Database Foundations, LAMP Stack installation and configuration, Server Scaling, Server Images and Backups, HTML Foundations, and CSS Development.
The course begins with an Introduction to Cloud Computing, covering the key concepts and benefits of cloud computing, such as elasticity, scalability, and cost efficiency. Students will learn about the different cloud service models, including Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS), and their use cases.
Students will then dive into Cloud Server Deployment on Linode, where we teach how to create, configure, and manage virtual servers in the cloud using Linode. Students learn to set up a Linux server on Linode, access it remotely using SSH, and install necessary packages and tools.
The course then moves to Linux Foundations, where students will learn the fundamental concepts of the Linux operating system, including file system structure, command-line interface, and basic Linux commands. Students also learn how to manage users and permissions, configure network settings, and use package managers.
Next, the course covers Web Server and Database Foundations, where students learn the basic concepts of web servers, including Apache and Nginx, and databases such as MySQL and MariaDB. Students learn to install and configure web servers and databases on Linux servers, as well as how to use web server logs to troubleshoot issues.
Students will then learn how to install and configure LAMP stack, which includes Linux, Apache, MySQL, and PHP, to set up a web server and database for hosting dynamic websites and web applications. They will learn how to install PHP modules, configure PHP settings, and troubleshoot common issues.
The course then moves on to the Foundations of Server Security, where students learn about server security concepts such as firewalls, access control, and SSL certificates. You will also learn how to secure servers using firewalls, manage user access, and configure SSL certificates for secure communication.
Server Scaling is the next topic, where students will learn how to scale their servers to handle increasing traffic and load. Here, we explore load balancing, clustering, and auto-scaling techniques, as well as how to use monitoring tools to monitor server performance and diagnose issues.
Students will then learn about Server Images and Backups, where we create and manage server images, as well as perform regular backups to prevent data loss. We teach how to use snapshot tools and backup tools to create and restore server images.
The course then covers HTML Foundations, where students will learn the basic structure and syntax of HTML, including tags, attributes, and elements. You will learn to create HTML pages, add text and images, and create hyperlinks.
Finally, the course covers CSS Development, where students will learn about Cascading Style Sheets (CSS), which is used to style HTML pages. Students learn to apply CSS styles to HTML elements, create layouts, and use CSS frameworks.
In summary, this course provides students with a comprehensive understanding of Cloud Computing and its service models, as well as practical skills in deploying and managing servers on Linode, Linux Foundations, Web Server and Database Foundations, LAMP Stack installation and configuration, Server Scaling, Server Images and Backups, HTML Foundations, and CSS Development. Upon completion, students will have the necessary skills to set up and manage their own web servers in the cloud, and develop dynamic web applications.