Prasie for Cloud Native Data Center Networking
Cloud Native Data Center Networking is a must-read book for anyone deploying and automating a modern spine-and-leaf, agile data center fabric. The books focus on automation and simplification is the future of networking.
Donald Sharp, FRRouting Maintainer
Great read for any network engineer who wants to apply cloud native concepts to todays enterprise networks, but isnt sure where to start. The book has something for all levels of expertise, from high level architecture discussions to hands-on implementation examples you can follow.
Anthony Miloslavsky, Network Engineer
Dinesh Dutt is the greatest evangelist for data center networks andnetwork device disaggregation. The clarity of his thinking and hiscapability to explain hard concepts with simple words never stops toamaze me.
Silvano Gai, former University Professor and Fellow
Cloud Native Data Center Networking
by Dinesh G. Dutt
Copyright 2020 Dinesh G. Dutt. All rights reserved.
Printed in the United States of America.
Published by OReilly Media, Inc. , 1005 Gravenstein Highway North, Sebastopol, CA 95472.
OReilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://oreilly.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or corporate@oreilly.com .
- Development Editor: Andy Oram
- Acquisitions Editor: John Devins
- Production Editor: Katherine Tozer
- Copyeditor: Octal Publishing, LLC
- Proofreader: Sonia Saruba
- Indexer: WordCo Indexing Services, Inc.
- Interior Designer: David Futato
- Cover Designer: Karen Montgomery
- Illustrator: Rebecca Demarest
- November 2019: First Edition
Revision History for the First Edition
- 2019-11-19: First Release
See http://oreilly.com/catalog/errata.csp?isbn=9781492045601 for release details.
The OReilly logo is a registered trademark of OReilly Media, Inc. Cloud Native Data Center Networking, the cover image, and related trade dress are trademarks of OReilly Media, Inc.
The views expressed in this work are those of the author, and do not represent the publishers views. While the publisher and the author have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellectual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights.
978-1-492-04560-1
[LSI]
This book is dedicated to all who make networkingthe network designers and architects who plan the systems, the engineers, and the operators who bring them into being. And especially to the open source networking community: may the fire never stop.
Preface
Clouds come floating into my life, no longer to carry rain or usher storm, but to add color to my sunset sky.
Rabindranath Tagore, Stray Birds
Cloud native data center networking. Thats quite a mouthful to chew if youre a reader. Or to bite off if youre the writer. Lets unpack the easy pieces first.
This is a book about building a robust, scalable network infrastructure for data centers. So if youre a network architect or network operator looking to understand, build, or validate your thinking about data centers, this book is for you. If youre a data center operator responsible for not just the network, but also compute and storage, and youre looking to get up to speed on the current thinking in network design of data centers, this book is for you. And if youre a network developer looking to find information thats scattered or is oral knowledge only, this book is for you.
More precisely, this book is about the design of a specific kind of data center network, the cloud native kind. If you search online for cloud native, youll find that its typically associated with a specific kind of application designmicroservicesand on a specific operating systemLinuxand that it relies on a lot of open source code. But those are means. The ends are about building robust, agile, scalable applications that allow the business to keep pace in a fast-moving world. When applied to networks, it means building a network that matches the applications and business needs in a way that is robust, flexible, scalable, and efficient to operate.
I picked the term cloud native to focus on the same ends in creating a network. You might not be building a network that scales to the the size of Amazon or Google, but I assume that you want to build a network that has these characteristics: affordable, high capacity, easy to manage, agile, and reliable. Thats a lot of adjectives, but I hope to touch upon all of these areas before were done.
And this book is not just for people deploying microservices-based applications. As hip as that is along with Kubernetes, building a reliable and predictable network is something everybody aspires to, whether youre doing containers or virtual machines or using bare-metal servers.
I do not pursue or want to push any vendors agenda, whether or not I worked for them in the past. If you see examples or text that reflects a vendor, it is only because of my familiarity with the vendor or tool rather than an endorsement. Biases always creep in, and Im willing to be called out so that I can correct them. That said, Ill readily admit up front that Im an advocate of open source tools, because I believe we can build better systems that way.
Audience
As stated earlier, I write mostly for network architects and network operators, but also application developers writing networked applications.I assume that you know what TCP/IP is and what sockets are; I presume not much more. This book attempts to straddle theory, the application of theory to the data center, and practice. As such, the focus is not just on presenting technical information as a text book might, but always within the context of its application in designing a data center. The book does not cover aspects of the data center that have nothing to do with networking such as physical location selection, power and cooling choices, physical layout, and so on.
How This Book Is Organized
The book is broken into three sections:
Architecture
The first two chapters cover questions of architecture. The story begins with what led to the need for a new architecture and the description of the new network architecture.
Technology
The next nine chapters cover various pieces of technology and how together they add flesh and blood to the skeleton that is provided by the architecture. We consider the choices, the protocols, and the design that uses the architecture to create a living network.
Practice
The remaining chapters cover the practice of using the technologies described on the architecture. They largely cover the configuration and validation of networks, including applying the ethos of less but better to how network configurations are done.
Another focus of the chapters is my hope to unite the disparate fields of compute and networking, to bring the two teams together, in the hopes of making data center engineers and architects renaissance men and women whose knowledge is broad and deep because they can discern the wheat from the chaff. With the advent of network disaggregation, Linux as an operating system (OS) with powerful networking capabilities, applications that are more distributed than ever, and high-quality open source routing suites, the artificial separation between the network and the compute need no longer apply. You can engineer newer solutions that fit more elegantly together and function efficiently.