
Explore the history of Linode, an infrastructure as a service platform with global data centers and 11 markets, highlighting its simplicity, supportive service, affordable pricing, and beginner-friendly design.
Discover how cloud computing enables on-demand provisioning of servers, storage, databases, networking, and analytics through virtualization, allowing scalable, pay-as-you-go resources via virtual instances and hypervisors.
Discover cloud computing benefits, including on-demand pay-as-you-go pricing, cost efficiency, agility, faster time to market, scalability, reliability, security, and global data centers.
Explore cloud computing service models: IaaS, PaaS, and SaaS, and compare them with traditional on-premises setups while understanding pay-as-you-go resource provisioning through a cloud provider.
Explore infrastructure as a service (iaas), a cloud model that lets you provision on-demand compute, storage, and network resources via a third-party provider such as Linode. Enjoy scalable resources, managed hardware, data redundancy, and secure, api-driven deployment across geographic regions with pay-as-you-go pricing.
Discover platform as a service (PaaS), a cloud model where providers manage infrastructure and software, enabling scalable, collaborative DevOps, rapid deployment, API development, data analytics, and IoT solutions.
Explore software as a service (SaaS) as cloud-hosted, subscription-based applications delivered through web, desktop, or mobile platforms, with vendor-managed infrastructure and data security.
Explore the differences between iaas, paas, and saas, from on-premises control and costs to vendor-managed infrastructure, and view market trends and growth projections.
Set up a Linode account by signing up, confirming your email, entering billing and payment details, and accepting the master services agreement to access the cloud manager.
Explore the Linode cloud manager dashboard to manage virtual instances (nodes), volumes (block storage), and object storage, while using the marketplace to deploy components and navigate billing and support.
Enable two-factor authentication on your Linode account to protect login with knowledge and possession factors, using Google Authenticator, QR code, and a scratch code.
Deploy your first lan node by selecting a ubuntu image, Newark data center, and the nano 1gb plan. Set a strong root password and proceed to provisioning.
Explore the Linode instance dashboard for the test VM, reviewing analytics, networks, storage, IP addresses, SSH access, lish connectivity, volumes, configurations, backups, activity, and settings.
Learn to securely connect to a remote instance and administer it via the command line, including updating the OS, managing software and files, monitoring performance and configuring firewalls.
Understand password vulnerabilities to brute force and adopt SSH key authentication for secure access with OpenSSH. Learn how private and public keys form a key pair for logins and transfers.
Generate a 4096-bit ssh key pair on Windows. Save the public key to the server, configure authorized_keys, and log in with the private key via PuTTY.
Generate a 4096-bit ssh key pair on macOS or Linux, protect it with a passphrase, and use ssh-copy-id to enable ssh key authentication on your Linode instance.
Launch the Lish console from the Node Cloud Manager, log in with your credentials, and administer your instance with commands; always exit and close the console to terminate the session.
Learn how to add SSH public keys to your Linode account via the node cloud manager, enabling key-based access for future deployments and streamlined instance provisioning.
Explore the Linux kernel as the core interface between hardware and processes. Review distributions, bootloader, memory and process management, and compare Linux versus Windows.
Explore the Linux filesystem structure, including absolute and relative paths, the root directory, and common directories like /bin, /boot, /home, and /var, with security considerations.
Learn essential Linux maintenance commands on an Ubuntu server, including apt update, apt upgrade, apt dist upgrade, and package management with repositories to keep systems secure and up to date.
Navigate the Linux file system structure and practice directory commands (cd, pwd, ls), switch between root and system root, explore var, and create and save a text file with nano.
Learn to manage linux directories using mkdir, mv, cp, and rm; copy recursively with cp -r, and navigate with cd and ls while observing colorized output.
configure an Ubuntu server by setting a hostname, updating time zone and clock settings, editing /etc/hosts, and syncing the RTC and system time with time date ctl.
Understand the root account's high privileges and risks, why Ubuntu uses non-root accounts with group permissions, and how the pseudo group and wheel group govern access via sudo and su.
Create a non-root user named Bob and add him to the pseudo group to grant super user privileges. Verify Bob's group membership and prepare for SSH key authentication.
Secure the Bob user with SSH key pair authentication, creating Bob's SSH directory, generating 4096-bit keys, configuring authorized_keys, and enabling sudo access for administrative tasks.
Learn to harden your virtual server by disabling root login and password authentication, enforcing ssh key authentication only, and verifying the changes with careful testing.
Explore how web servers host and deliver web content to users over the internet, using hardware and software and HTTP for client-server communication, DNS mapping, and URLs.
Evaluate why hosting providers offer reliable web hosting over a home computer, detailing internet/upload speeds, power, backups, static IP, DNS, security, scalability, and liability concerns.
Compare NGINX and Apache to understand their strengths for static vs dynamic content, reverse proxy use, and load balancing, including NGINX’s asynchronous event-driven model.
Learn how databases and database management systems organize, store, and retrieve data, and distinguish relational SQL from NoSQL databases for web applications.
Compare SQL relational databases with NoSQL, detailing tables, primary keys, and relationships, plus NoSQL categories such as key-value, document (JSON), wide column, and graph.
Compare relational and non relational databases, and examine ACID transactions in SQL and the CAP theorem in distributed systems.
Explore the CAP theorem for NoSQL databases, highlighting horizontal scaling across distributed systems and the tradeoffs between consistency, availability, and partition tolerance, and contrast with ACID in SQL.
Compare SQL and NoSQL databases by outlining the acid principle and cap theorem, and scale up versus scale out. Highlight data structures and key examples like MongoDB and Redis.
Identify key terms in software stacks, including lamp and mean, and understand Linux, Apache, Engine X, Node.js, React, Angular, MongoDB, NoSQL, and the TypeScript versus JavaScript distinction.
Distinguish libraries and frameworks by their control of code flow, with libraries offering reusable functions like React JS, and frameworks like Angular JS and Express JS guiding the architecture.
Distinguish client side and server side scripting languages, noting runtime interpretation; explain HTML, CSS, and JavaScript on the client and PHP, Python, Node.js, Ruby, and Perl on the server.
install and configure a lamp stack on ubuntu via the command line, including apache, mariadb, and php, with secure mariadb setup and testing via the default apache page.
Install the lamp stack quickly with a one-click app from the Linode marketplace during server deployment, then verify the setup via the server's IP in a browser.
Log into the server, verify the Apache web root at /var/www/html, create an info.php to display PHP configuration, test it in the browser, and delete the file for security.
Learn how to connect PHP to MariaDB by creating a database, a dedicated user, and a sample table, then insert and query data to verify access.
Create a PHP script in the web root with nano to connect to MariaDB and output all records from the name list table via a browser.
Explore setting up a graphical desktop on a remote Linode or Digital Ocean instance using the Glitch web console or X2Go, installing Xfce, and accessing a visual file system.
Learn foundational server security principles for hosting web apps, including firewall configuration, network monitoring, and mitigations for DDoS, directory traversal, and brute-force attacks on Apache.
Protect your virtual web server with a firewall that filters data packets, checks against threat databases, and governs http on port 80 and ssh on port 422.
Learn how to secure a virtual server with a network firewall by creating inbound rules in the cloud console, blocking HTTP traffic on port 80, and saving changes.
Learn to secure a server by changing the ssh port from 22 to a custom port (9555) and restricting access to trusted IPs using a network firewall.
Configure a strict inbound firewall policy for your virtual web server, dropping default traffic and enabling HTTP, HTTPS, DNS, SQL, and ICMP rules.
Configure a hosted firewall on your Ubuntu server using UFW, setting default deny, allowing HTTP, HTTPS, DNS ports, securing SSH on a custom port, and restricting access by IP.
Learn to scale a web server on Ubuntu by vertical and horizontal scaling, adding nodes in a cluster, and using a load balancer with health checks to distribute requests.
Demonstrate vertical scaling by powering off the server, resizing nano 1 gb to 4 gb ram, 2 cpu, 50 gb storage with disk resize, then power on; next: horizontal scaling.
Learn to scale horizontally with an application load balancer, clone and configure private networks, set up a node balancer, perform health checks, and verify traffic distribution across two nodes.
Learn how to swap the public IP of production VM and test VM using the node cloud IP transfer feature, and verify with Apache index pages and host file updates.
Discover how to back up virtual server instances using disk images and snapshots, compare manual image creation with automated backups, and leverage the backups service for scalable protection.
Learn to create a custom image with the image manager, verify disk utilization stays under six gigabytes, deploy new nodes from that image, and edit, rebuild, or upload images.
Enable the Linode backup service for a chosen instance, review the cost and rotation schedule, and learn manual and automated snapshots, volume backups, and cloning.
Terminate existing instances, delete unused volumes and custom and recovery images to prevent charges, then close the account if you will not use it.
Master cloud computing fundamentals by deploying virtual servers, securing setups with non-root accounts and SSH and software firewalls, and installing web stacks via remote CLI for robust web apps.
This course offers an in-depth, hands-on overview of setting up and configuring a production web server, using Linode or Digital Ocean. Virtual Cloud Servers have become the industry standard for hosting web applications of all sizes and complexity. This includes small static web pages, to dynamic, database driven web sites that handle thousands of simultaneous processes. Regardless of the project, virtual servers offer a solution that provides web developers a scalable infrastructure that can easily adapt to a changing environment.
The course starts with an overview of the registration process on Linode. From there, students quickly jump into deploying and configuring a server using the latest Ubuntu LTS distribution. Students will become familiar with the Linode admin interface, and start executing basic commands using the web based remote access console. We then explore remote access administration using more complex tools such as PuTTY for Windows, and Terminal for MAC.
Students will install and configure LAMP Stack (Linux, Apache, MySQL, PhpMyAdmin) on the Ubuntu server. We show students how to secure the server through SSH Authentication, directory permissions, and disable root user access.
The course explores remote visual desktop configuration using TightVNC & RealVNC.
Once students have a firm handle on server configuration on Linode, we take a look at another major cloud provider – Digital Ocean. This section of the course provides an overview of the Digital Ocean Admin panel where students will deploy and configure a “Droplet”. We will explore some of the unique features Digital Ocean offers, such as Floating IP’s and Space storage.
Students learn to backup, resize, and configure DNS Zone files on both cloud hosting providers.