Textbooks on computer networking theory abound, as do practitioner guides to the setup and administration of web servers and other Internet services. However, books that combine the two are less common. This text is an attempt to fill that niche. The authors seek to combine computer science (CS) and information technology aspects of the subject. They do this by presenting computer networking theory along with practical information on configuring web servers and cloud services, building on traditional CS. The result is a useful volume that covers a great deal of territory in its subject domain.
The focus is almost equally divided between a traditional CS course approach to networks and an information technology approach. Network programming aspects are usually omitted. This book is not a substitute for a traditional CS text in computer networks. It explains the internal workings of the relevant technologies and software services, but it is neither code oriented nor theory focused. What it does do is explain the concepts of networking from different perspectives (fundamental principles, hardware, protocols, software, and services), often in quite a bit of detail. These explanations are followed by examples or a case study--ranging from setting up a local area network in the introductory chapter on networking basics, to configuring and securing web servers, caching servers, and Amazon Web Services (AWS) cloud services (each of which is discussed in an expository chapter followed by a “case study” chapter).
This text is primarily intended to support a one- or two-semester sequence of academic coursework in web infrastructure, and should work for advanced undergraduate or early graduate-level courses in that area. The later chapters may also be useful supplementary reading for a more traditional CS course in computer networking. Practitioners involved in installing, administering, and configuring web servers and cloud services should also find it of value. Prior academic training or exposure to networking principles or programming would help readers who are using this book outside an academic setting (or otherwise without an instructor) to get the most out of it. Proper understanding and retention would probably require the capability to work with examples of servers or otherwise get hands-on experience while reading this book, but the software is easily accessible (and cloud services allow learner or trial accounts), so that should not be hard to arrange even for readers who are not students. (Cloud computing is still evolving, and the reader should be prepared for new concepts and differences in current cloud services compared to chapters 11 and 12.)
The coverage of the subject domain is sufficiently broad as well as sufficiently detailed, given its intended purpose and declared scope (a discussion of application servers should have been included). Review questions, exercises, and discussion questions are provided. A website with additional resources is mentioned--apparently there is a link on the publisher’s site, but I was unable to locate it. The exposition is generally clear, but given the nature of the material, close and careful attention is often necessary, especially for the more advanced material. When I commenced this review I was a little disappointed at not being able to find the additional resources, and also at some loosely worded definitions and explanations, but having finished this book I can say that its merits and utility definitely outweigh its faults, which are minor.