SummaryCoreOS in Action is a clear tutorial for deploying container-based systems on CoreOS Container Linux.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyTraditional Linux server distributions include every component required for anything you might be hosting, most of which you don't need if you've containerized your apps and services. CoreOS Container Linux is a bare-bones distro with only the essential bits needed to run containers like Docker. Container Linux is a fast, secure base layer for any container-centric distributed application, including microservices. And say goodbye to patch scheduling; when Container Linux needs an update, you just hot-swap the whole OS.About the BookCoreOS in Action is a clear tutorial for deploying container-based systems on CoreOS Container Linux. Inside, you'll follow along with examples that teach you to set up CoreOS on both private and cloud systems, and to practice common sense monitoring and upgrade techniques with real code. You'll also explore important container-aware application designs, including microservices, web, and Big Data examples with real-world use cases to put your learning into perspective.SummaryHandling scaling and failures gracefullyContainer-driven application designsCloud, on-premises, and hybrid deploymentSmart logging and backup practicesAbout the ReaderWritten for readers familiar with Linux and the basics of Docker.About the AuthorMatt Bailey is currently a technical lead at ZeniMax. He has worked in higher education and with scientific computing, medical, and networking technology companies, as well as a few startups. You can find him online via Table of ContentsPART 1 - GETTING TO KNOW COREOSIntroduction to the CoreOS familyGetting started on your workstationExpecting fault tolerance in CoreOSPART 2 - APPLICATION ARCHITECTURECoreOS in productionApplication architecture and workflowWeb stack application exampleBig Data stackPART 3 - COREOS IN PRODUCTIONCoreOS on AWSBringing it deploymentSystem administration
I feel bad giving this book a low rating, because it doesn't entirely deserve it. It's an unfortunate product of trying to write a book about an emerging technology, at the same time it's evolving. Very shortly after this books release the CoreOS team moved away from fleetctl to Kubernetes based management. Making a large part of this book out of date basically on arrival.
That could even be forgiven (you can always run the older "stable" build), but the main reason I've marked this so low is the examples are bad, if not outright wrong.
What I really want in a book about emerging tech is something that brings clarity to the noise generated by opinion posts, outdated blog tutorials, and all that. I expect a physically printed book to be a cut above all that.
So here's the object example of my issue: one of the first meat-and-potatoes chapters goes through getting a cluster running with Vagrant. The introduction to Vagrant is brief, but in not really here for that, so not a big deal. It skips how you would get setup on Linux past the usual "use your package manager", and honestly, I'm used to it, not going to knock that. It takes a while before I'm running between some local Ruby environment issues and Linux specific config issues; but fleetctl isn't working in my cluster.
I start re-reading the section paying extreme attention. I can't find what I'm doing wrong. So now I look at the readme for the project this chapter has me using, "maybe something's changed". The readme suggests pretty different steps. So I try it's way, no dice. I lose more hours this way. Eventually I realize there's a link to the CoreOS doc page, which shows yet a third way to get this running. There's no agreement on how to get this working, and they're all wrong to boot. Not one of these guides has it right.
The short version is, I expect a book I pay for to be above all this. I still couldn't get the readme or doc pages version to work, but they got me closer than this book, and I didn't pay money for them. Based on the form for this book on Manning's website, a second version is already in the works.
The second edition could do a lot better; unfortunately the first edition feels rushed, under reviewed, and poorly edited.
The book lost its purpose almost the time it was released.
Having CoreOS fleet being deprecated a month before the book was released is definitely a huge blow to the book. 1 year later - fleet is removed from any dependency channels and is totally obsolete.
I've *wasted* 2-3 hours trying to get a working environment with the coreos-vagrant github project, rkt and fleet. In the end I had a working environment without fleet cause everything was a nightmare to setup.
So I proceeded to finish the book end-to-end with all the examples and I can say that it was still pointless to me. To people already familiar with software engineering (in general), devops (in general), etcd, Docker, systemd and Linux the book serves no value.
The only thing that interested me in the CoreOS stack was rkt, fleet and Tectonic. Unfortunately Tectonic and rkt are not of importance to the book. I understand the turn of events that resulted in fleet becoming dead, but in my opinion Manning publishing and the author, Matt Bailey, should've taken the hit and scrapped all the samples with fleet and instead migrated to Tectonic/Kubernetes equivalents.
The applications and samples are heavily focused on Docker, migrating them to Kubernetes manifests and introducing Tectonic would've saved the book.
In the end, I learnt nothing from this book. In the struggles to get a working environment for the book, I learnt a bit more about CoreOS, rkt, Container Linux config transpiler (ct) and fleet. Either way I am fairly certain I can't really trust in these tools in the near future to be used in a production environment under my supervision.
It's one of these books that don't attack the reader with too much theory or tons of syntax. Instead to guides you through quite practical (honestly) examples & how they are (supposed to be) implemented. In theory it's all ok (especially as, like I said, sample scenarios aren't too trivial), but even if the idea was superb, execution (somehow) has failed.
Clearly devil is in the details & author has failed with emphasizing key topics or concepts - I had a feeling of (rather dull) reading through config samples that in general were rather easy to follow, but failed to build a reliable image of full CoreOS capabilities. I don't know whether I know 20% of CoreOS specifics or 80% of it. I know basics about sidekicks, but do I really know any sort of holistic concept behind them? Would I tinker out where to use them exactly & where not to? Not really. This book is good for nodding - "OK, it makes sense; OK, I can imagine this syntax causing this effect", but is not really enough to start working with CoreOS on your own.
The reason I approached this book was to have an overview of CoreOS, this book goes beyond that which is great for someone that wants to apply CoreOS.
It is examples oriented as the title suggests and the author seems to have a good overall view, it's a subject that you only seem to absorb the content if you practice.
It should have been a good introduction book on the subject for me. At the end, I must admit that I miss affinity for all matters about "system". Therefore, this book miss the target for me. It doesn't mean it's a but one, but not one for me. Ma note de lecture en Français ici