Linux Web Operations LiveLessons

Linux Web Operations LiveLessons

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 6h 25m | 2.13 GB

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.

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.

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

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.

Table of Contents

01 Linux Web Operations LiveLessons – Introduction
02 Learning objectives
03 1.1 Envision the components of a web application
04 1.2 Walk through a simple example application
05 1.3 Design the application environment
06 1.4 Host the example application on cloud infrastructure
07 1.5 Query APIs using curl, resty and jq
08 1.6 Intercept HTTP traffic with Charles web proxy
09 Learning objectives
10 2.1 Choose appropriate database software
11 2.2 Connect the example application to MySQL
12 2.3 Backup and restore a MySQL database
13 2.4 Replicate a MySQL database
14 2.5 Query a redis key-value store
15 Learning objectives
16 3.1 Host websites using Apache
17 3.2 Control HTTP with Nginx
18 3.3 Level up Nginx with Lua
19 3.4 Load balance web traffic
20 3.5 Debug HTTP problems
21 Learning objectives
22 4.1 Understand DNS records and their uses
23 4.2 Configure a BIND DNS master
24 4.3 Configure a BIND DNS slave
25 4.4 Confine BIND to a chroot jail
26 4.5 Update DNS dynamically
27 Learning objectives
28 5.1 Design a monitoring solution
29 5.2 Collect metrics using collectd
30 5.3 Graph all the things with Graphite
31 5.4 Alert about errors and problems using Nagios
32 Learning objectives
33 6.1 Understand configuration management in context
34 6.2 Write an Ansible playbook
35 6.3 Control hosts by role with Ansible
36 Learning objectives
37 7.1 Conceptualize cryptography
38 7.2 Open tunnels and copy files using SSH
39 7.3 Use the OpenSSL CLI
40 7.4 Sign messages and encrypt data with GPG
41 Learning objectives
42 8.1 Grok containers
43 8.2 Run a container using Docker
44 8.3 Automate Docker using Dockerfiles
45 8.4 Contain the example application
46 Linux Web Operations LiveLessons – Summary