13 ms·
Building Microservices: Free Ebook from O’Reilly and NGINX
- lukasm 12y agoDirect link http://nginx.com/wp-content/uploads/2015/01/Building_Microservices_Nginx.pdf http://nginx.com/wp-content/uploads/2015/01/Building_Microse...
- josteink 12y agoI'm pretty sure the idea behind publishing this free book was gathering leads and potential customer-data for future marketing. You know, if it's free, you're the product and all that yadda yadda. By posting the direct DL link here, you are discouraging similar free offers in the future. If I were you and I appreciated free offers, I would consider editing my post.
- lukasm 12y agoThen they should sent the pdf not give a link to it, for me it says "share it". I have given O'Reilly my email before, but the content is absolute crap. They are spamming me even though I have cancel the subscription 3 times, hence direct link may bring them more marketing value than bunch of spam-only emails with fake names and phones numbers.
- hackerboos 12y agoUnlikely to garner much favour declaring 'Free Ebook from O’Reilly and NGINX' and giving away only 3 chapters...
- valevk 12y agoI think that's why they put the "NGINX ad page" into that ebook.
- driverdan 12y ago> I'm pretty sure the idea behind publishing this free book was gathering leads and potential customer-data for future marketing. This is exactly why the direct link should be shared. I'd bet that most HN users aren't interested in "future marketing."
- josteink 12y agoNote: Requires registration and is PDF only. Not mobi or epub. Still free though. I snatched a copy.
- tomchristie 12y agoNote that the full copy is now available to purchase in both ebook and hardcopy: http://shop.oreilly.com/product/0636920033158.do http://shop.oreilly.com/product/0636920033158.do (No side-interest here, just found it confusing that the page mentioned "hardcopy expected to be published in May")
- justincormack 12y agoIndeed, my copy just arrived.
- rianjs 12y agoFor what it's worth, this is the first three chapters, not the full e-book. It's in the fine print.
- Tepix 12y agoChapters 1, 4 and 11.
- dorfsmay 12y agoI know it's narrow minded, but I was bummed that I had paid full price for the epub. Making a couple of chapters available for free is a great way to promote a good book, let the material talk for itself!
- chaghalibaghali 12y agoIt would be good if the mods (or submitter) could change the title to reflect this, I think that a few people might be upvoting before they actually try to download the book and realise that it's not the full version.
- deleted 12y ago[deleted]
- free2rhyme214 12y agoThe title is misleading. Super lame.
- definiv 12y agoSo inbound.
- DanielBMarkham 12y agoRelated: I'm recording myself code up a new microservices hobby application. I'm doing the whole thing, from selecting a domain name to services orchestration (much later, of course). The technology stack is F#, Mono, .NET, ubuntu, AWS, BASH, Apache. We're talking about architecture, design, user stories, TDD, philosophical differences between traditional OO coding and FP coding and more. It's all free. If you're interested in more microservices stuff, here's the link to the first one. Fair warning, though: this isn't professionally produced or slick. It's just some schmuck (me) programming. http://vimeo.com/120136738 http://vimeo.com/120136738
- CWuestefeld 12y agoI'm looking forward to this. We're about to embark on a (probably) .Net-based microservices project, although we'll probably use C# rather than F#. One thing I've found is that infrastructure stuff abounds for Java-based projects, doing much work for the message bus, metrics, and logging. But I find much less available for .Net, particularly for the latter two. Maybe you'll find some stuff that'll help me.
- DanielBMarkham 12y agoBeing old and cantankerous, my feeling is that we've tooled up about 400 times more than we need for microservices and the cloud -- a good programmer could/should be able to construct and maintain most small-to-medium-sized projects without a lot of third-party tools. As an Agile coach, what I find interesting is conveying the philosophy of the work. I am nowhere near being a code ninja any more, but the way you think about writing the application is the most important part of doing the work. But who knows? We'll see. EDIT: To be a little clearer, message bus? You sure you need a full-bore bus? Make it work with simple files. Take a look at your volume. If you code it correctly from the start, adding on new stuff is easy. If you start with lots of frameworks and such, you can get caught up in complexities that are orthogonal to your mission. One of the beauties of going full functional is that it makes you focus on whether the dang thing is working or not. In an OO environment, many times you get lost in the "wiring" of the construction, making sure you implement the correct interfaces, paying attention to Demeter's Law and the rest. The end of the week comes and all you've got is forty thousand lines of code and 7 new dlls in your build.
- amelius 12y agoOne of the main problems with breaking up a system into many independent (micro?)systems is that you can't easily combine two or more systems into a logical transaction. Or, in other words, it becomes increasingly more difficult to do things atomically to the complete system. Is this problem covered?
- msluyter 12y agoA concrete example we've faced. A certain operation requires writing data to N flaky services. You successfully write to N-1 of them, but the Nth fails. Now what do you do? If these N things were just database writes to the same DB, transactions would save you, as you could just rollback. Without that, the answer has to be handled in code -- do you reverse the previous changes (if possible) by sending delete events, or leave the system in some sort of half-baked state and rectify things later via some other process? (I'm interested in hearing of other options...)
- MichaelGG 12y agoOn my phone so boo cite. Look up Amazon apologetic computing. They also have a presentation describing their general distributed approach. The main thing is that you have a bunch of components that you expect to fail. If they don't get confirmation, they send another message to the next component. Then, there's a stateless, unambiguous way to determine which message "wins" in case of conflict. For instance, an order submits two shipping requests for the same order. They use, for instance, the highest message ID (a GUID) to avoid duplicate processing. It's all very neat, though I'm doing a bad job explaining. Search for Amazon architectural presentations and hopefully you can find it. It may have been on James Hamilton's blog, maybe.
- snowwolf 12y agoYou are basically describing the consensus problem [1] and one of the most popular algorithms used to solve is the paxos algorithm [2] [1] - http://en.wikipedia.org/wiki/Consensus_%28computer_science%29 http://en.wikipedia.org/wiki/Consensus_%28computer_science%2... [2]- http://en.wikipedia.org/wiki/Paxos_(computer_science) http://en.wikipedia.org/wiki/Paxos_(computer_science)
- fermigier 12y agoBait and switch. http://en.wikipedia.org/wiki/Bait-and-switch http://en.wikipedia.org/wiki/Bait-and-switch