O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 00:05:50
  2. Lesson 1: Where to Start
    1. Learning objectives 00:00:45
    2. 1.1 Envision the components of a web application 00:12:17
    3. 1.2 Walk through a simple example application 00:04:19
    4. 1.3 Design the application environment 00:15:50
    5. 1.4 Host the example application on cloud infrastructure 00:08:42
    6. 1.5 Query APIs using curl, resty and jq 00:09:22
    7. 1.6 Intercept HTTP traffic with Charles web proxy 00:06:12
  3. Lesson 2: Databases
    1. Learning objectives 00:00:34
    2. 2.1 Choose appropriate database software 00:13:04
    3. 2.2 Connect the example application to MySQL 00:15:48
    4. 2.3 Backup and restore a MySQL database 00:06:36
    5. 2.4 Replicate a MySQL database 00:08:49
    6. 2.5 Query a redis key-value store 00:07:45
  4. Lesson 3: Web Servers and Load Balancers
    1. Learning objectives 00:00:40
    2. 3.1 Host websites using Apache 00:13:07
    3. 3.2 Control HTTP with Nginx 00:09:36
    4. 3.3 Level up Nginx with Lua 00:08:58
    5. 3.4 Load balance web traffic 00:06:19
    6. 3.5 Debug HTTP problems 00:09:22
  5. Lesson 4: DNS
    1. Learning objectives 00:00:38
    2. 4.1 Understand DNS records and their uses 00:09:15
    3. 4.2 Configure a BIND DNS master 00:11:38
    4. 4.3 Configure a BIND DNS slave 00:09:54
    5. 4.4 Confine BIND to a chroot jail 00:07:17
    6. 4.5 Update DNS dynamically 00:10:32
  6. Lesson 5: Monitoring
    1. Learning objectives 00:00:31
    2. 5.1 Design a monitoring solution 00:12:55
    3. 5.2 Collect metrics using collectd 00:07:33
    4. 5.3 Graph all the things with Graphite 00:16:33
    5. 5.4 Alert about errors and problems using Nagios 00:16:01
  7. Lesson 6: Configuration Management
    1. Learning objectives 00:00:27
    2. 6.1 Understand configuration management in context 00:10:18
    3. 6.2 Write an Ansible playbook 00:14:06
    4. 6.3 Control hosts by role with Ansible 00:11:41
  8. Lesson 7: Cryptography
    1. Learning objectives 00:00:46
    2. 7.1 Conceptualize cryptography 00:09:06
    3. 7.2 Open tunnels and copy files using SSH 00:10:06
    4. 7.3 Use the OpenSSL CLI 00:18:45
    5. 7.4 Sign messages and encrypt data with GPG 00:06:35
  9. Lesson 8: Containers
    1. Learning objectives 00:00:26
    2. 8.1 Grok containers 00:11:57
    3. 8.2 Run a container using Docker 00:06:57
    4. 8.3 Automate Docker using Dockerfiles 00:09:14
    5. 8.4 Contain the example application 00:03:46
  10. Summary
    1. Linux Web Operations LiveLessons: Summary 00:04:11