Linux Web Operations

Video description

Overview

Linux Web Operations LiveLessonsguides system administrators, developers, and other Linux professionals through the layers of technology underlying modern web applications. The videos discuss the relationship between web and application servers, load balancers, and databases and introduce configuration management, monitoring, containers, cryptography, and DNS.

 

Description

In Linux Web Operations LiveLessons, Ben Whaley covers the architecture underlying a modern web stack. Based upon a simple example Python web application hosted in the AWS cloud, each lesson begins with general principles and uses command line examples to reinforce the concepts. Since the web is composed of a huge array of languages and platforms, the tutorials teach the viewer how to think about designing web applications for scalability more than deeply understanding a single technology. The videos cover web, application, and database servers; DNS records and servers; exchanging confidential and authenticated messages using cryptography; Ansible for orchestration and configuration management; working with APIs; and running applications in Docker containers.

 

About the Instructor

Ben Whaleyis the coauthor of the UNIX and Linux System Administration Handbook, widely considered the de facto standard system administration text, and author of the highly regarded Linux System Administration LiveLessons. He has been running applications on the web for more than a decade and recently built the cloud-based back-end web systems for Apigee, a software-as-a-service API management platform, and for Anki, a robotics and artificial intelligence company. Ben is a consultant in the San Francisco Bay area.

 

Skill Level

  • Intermediate to Advanced

Learn How To

  • Design web applications for high availability
  • Interact with APIs and debug problems with HTTP
  • Configure Apache and Nginx web servers
  • Extend Nginx with Lua scripts
  • Configure master and slave DNS
  • Update DNS dynamically
  • Configure an HAProxy Load Balancer
  • Configure MySQL master/slave replication
  • Run applications in Docker containers
  • Configure applications automatically using Ansible
  • Use SSH, OpenSSL, and GPG to provide data integrity and confidentiality

Who Should Take This Course

Aimed at web developers, system administrators, site reliability engineers, and other technology professionals interested in learning how the modern web functions.

Course Requirements

  • 1-2 years experience using Linux
  • Experience with Amazon Web Services
  • Familiarity with networking protocols such as TCP/IP, DNS, and HTTP

Table of Contents

Lesson 1, "Web Applications," reviews the common layers in a web application software stack. The lesson covers the role of load balancers, web and application servers, databases, and the underlying systems environment. An example application on a hosted cloud environment is demonstrated using curl to interact with HTTP.

Lesson 2, "Databases," shows how to set up MySQL to serve as a persistence store for the example application. Viewers learn how to use a script to perform automatic backup to S3 cloud storage and configure replication. They also see how to access a redis key-value store from the command line.

Lesson 3, "Web Servers and Load Balancers," explores the Apache and nginx web servers and uses haproxy as a load balancer. Viewers learn about Lua as a powerful enhancement for nginx.

Lesson 4, "DNS," reviews DNS fundamentals covering the most common record types. Viewers learn how to configure a master/slave BIND server for the example.com domain and then restrict the daemon to a chroot jail. Finally, viewers see how to use TSIG to perform dynamic updates and secure zone transfers.

Lesson 5, "Monitoring," walks viewers through how to decide on the best approach to monitoring the example application. Then, viewers see how to install and configure collectd to gather data from hosts. Next, they see how to send the collected data to Graphite, a django application for storing and querying data. Finally, they see how to use Nagios to set up checks and alerts.

Lesson 6, "Configuration Management," discusses the purpose of configuration management and orchestration. Viewers learn about Ansible plays and playbooks and how to control hosts by role with Ansible.

Lesson 7, "Cryptography," covers what to consider about the various forms of cryptography before applying it while using OpenSSH. Viewers then see how to use the OpenSSL command line tools to create a certificate authority and an SSL certificate. They also learn how to use GPG to encrypt and sign files.

Lesson 8, "Containers," covers the concept of containers and how they fit in the application environment. The lesson focuses on running and building containers with Docker and Dockerfiles.

 

About LiveLessons Video Training

LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at: http://www.informit.com/livelessons

Table of contents

  1. Introduction
    1. Linux Web Operations LiveLessons: Introduction
  2. Lesson 1: Where to Start
    1. Learning objectives
    2. 1.1 Envision the components of a web application
    3. 1.2 Walk through a simple example application
    4. 1.3 Design the application environment
    5. 1.4 Host the example application on cloud infrastructure
    6. 1.5 Query APIs using curl, resty and jq
    7. 1.6 Intercept HTTP traffic with Charles web proxy
  3. Lesson 2: Databases
    1. Learning objectives
    2. 2.1 Choose appropriate database software
    3. 2.2 Connect the example application to MySQL
    4. 2.3 Backup and restore a MySQL database
    5. 2.4 Replicate a MySQL database
    6. 2.5 Query a redis key-value store
  4. Lesson 3: Web Servers and Load Balancers
    1. Learning objectives
    2. 3.1 Host websites using Apache
    3. 3.2 Control HTTP with Nginx
    4. 3.3 Level up Nginx with Lua
    5. 3.4 Load balance web traffic
    6. 3.5 Debug HTTP problems
  5. Lesson 4: DNS
    1. Learning objectives
    2. 4.1 Understand DNS records and their uses
    3. 4.2 Configure a BIND DNS master
    4. 4.3 Configure a BIND DNS slave
    5. 4.4 Confine BIND to a chroot jail
    6. 4.5 Update DNS dynamically
  6. Lesson 5: Monitoring
    1. Learning objectives
    2. 5.1 Design a monitoring solution
    3. 5.2 Collect metrics using collectd
    4. 5.3 Graph all the things with Graphite
    5. 5.4 Alert about errors and problems using Nagios
  7. Lesson 6: Configuration Management
    1. Learning objectives
    2. 6.1 Understand configuration management in context
    3. 6.2 Write an Ansible playbook
    4. 6.3 Control hosts by role with Ansible
  8. Lesson 7: Cryptography
    1. Learning objectives
    2. 7.1 Conceptualize cryptography
    3. 7.2 Open tunnels and copy files using SSH
    4. 7.3 Use the OpenSSL CLI
    5. 7.4 Sign messages and encrypt data with GPG
  9. Lesson 8: Containers
    1. Learning objectives
    2. 8.1 Grok containers
    3. 8.2 Run a container using Docker
    4. 8.3 Automate Docker using Dockerfiles
    5. 8.4 Contain the example application
  10. Summary
    1. Linux Web Operations LiveLessons: Summary

Product information

  • Title: Linux Web Operations
  • Author(s):
  • Release date: September 2014
  • Publisher(s): Pearson
  • ISBN: 013392775X