Introduction

../_images/wordcloud_intro.png

Overview

This work reflects nearly two decades of experience of mine in the fields of operations, software development, DevOps, and site reliability engineering. It is intended to function as a high-level overview of numerous technologies and design methodologies used in modern software engineering, and to also provide examples and exercises to help the reader better understand the underlying material.

Ultimately, I hope that this material, combined with the examples and code listings provided, will help the audience gain a better understanding of Cloud Native computing, with particular emphasis on how it applies to DevOps and day-to-day development tasks. Ideally, this should allow individuals to more easily apply these concepts to their own projects, further contributing to the body of knowledge (and size of the talent pool) in the field of cloud computing.

The work concludes with hands-on exercises and a project involving creating an on-premise cluster using low-cost computing equipment (i.e. Raspberry Pi hobby kits), with the intent of further helping the reader gain familiarity and confidence in provisioning their own clusters (either bare-metal setups like the Raspberry Pi based project, or with virtual machines or third-party hosted infrastructure).

Donations and Ethics Disclaimer

This work was carried out entirely by myself, in the form of independent learning and research carried out in personal time. At no time have I received any manner of compensation or donation (either in the form of currency or donated equipment, licenses, etc.).

Additionally, it is worth noting that while I volunteer regularly with the CNCF, this work (including the use of the term “Cloud Native” in the title) in no way whatsoever implies that this work is associated with (or officially endorsed by) the CNCF. That being said, members of the open source community have been courteous and encouraging in my writing of this book, and I have been permitted to post notifications about the material in said book in the #mentoring CNCF Slack channel on occasion, provided that the book remains freely accessible for use by the audience, and no deliberate vendoring or advertising is present.

Finally, the author acknowledges that specific implementations of various tools/technologies are mentioned throughout this book, including FOSS technologies associated with commercial entities (i.e. that provide tiered support options or non-FOSS plugins for their FOSS-based offerings). I have elected to use these tools in various examples due to their ease-of-use, and have made a deliberate effort to ensure that all examples use freely available tools, and opt for the use of FOSS technologies whenever possible and/or practical. Mention of a specific vendor is only done in very specific cases where it would help the reader learn more about the tool (i.e. learn who the maintainers are), are kept to a minimum, and in no way reflect an endorsement or advertisement by the author (myself).

Why PronK8S

The original version of this document focused mainly on the example project involving Raspberry Pi units, and was a reference to an animal known as a springbok, known for pronking/stotting to move rapidly. I decided that this could be a much larger and broader document than what I had originally planned.

../_images/pronk.png

Fig. 1 PronK8S: spring into action with K8S!

Dedication

To my wife, Lynn, and our wonderful sons. Thank you for putting up with the absurdly loud mechanical keyboards working at all hours of the day and resonating throughout the house.

License

This book, including any/all copies of it, including those hosted via GitHub, remain the exclusive property of the author, Matthew Giassa, and are copyright (C) 2017 Matthew Giassa.

Individual code listings found within the book are permitted to be copied for re-use and modification, even for commercial use. The intent is to allow the contents of the book, including the code listing and examples, to be freely available for use by the audience (even commercial use), while preventing the duplicating or modification of the book itself by external parties, and to avoid cases of mis-attribution and/or plagiarism.

Additionally, if one wishes to quote large amounts of text (i.e. more than 2 contiguous paragraphs of material, but no more than 4), this is permitted provided that that material is block-quoted and adequate attribution/citation (along with a link to the original source material) is included in the relevant works making use of said quotes. Entire chapters or larger portions (i.e. 5 contiguous paragraphs or more) may not be duplicated without the advance explicit written permission of the author, Matthew Giassa.