{"id":1443,"date":"2015-12-28T12:52:34","date_gmt":"2015-12-28T12:52:34","guid":{"rendered":"http:\/\/www.nikola-breznjak.com\/blog\/?p=1443"},"modified":"2015-12-28T13:07:56","modified_gmt":"2015-12-28T13:07:56","slug":"technical-review-of-the-deploying-node-js-book-by-sandro-pasquali","status":"publish","type":"post","link":"https:\/\/nikola-breznjak.com\/blog\/books\/programming\/technical-review-of-the-deploying-node-js-book-by-sandro-pasquali\/","title":{"rendered":"Technical review of the book Deploying Node.js by Sandro Pasquali"},"content":{"rendered":"<p>I was a technical reviewer for the book <a href=\"http:\/\/amzn.to\/1Yh0yNh\">Deploying Node.js<\/a>:<\/p>\n<p><a href=\"http:\/\/www.nikola-breznjak.com\/blog\/wp-content\/uploads\/2015\/12\/nodejsCover.jpg\" rel=\"lightbox[1443]\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2418\" src=\"http:\/\/www.nikola-breznjak.com\/blog\/wp-content\/uploads\/2015\/12\/nodejsCover.jpg\" alt=\"nodejsCover\" width=\"581\" height=\"695\" srcset=\"https:\/\/nikola-breznjak.com\/blog\/wp-content\/uploads\/2015\/12\/nodejsCover.jpg 581w, https:\/\/nikola-breznjak.com\/blog\/wp-content\/uploads\/2015\/12\/nodejsCover-251x300.jpg 251w\" sizes=\"auto, (max-width: 581px) 100vw, 581px\" \/><\/a><\/p>\n<p>This was done via <a href=\"https:\/\/www.packtpub.com\/web-development\/deploying-nodejs\">PacktPub<\/a>, and I must say that this was a great learning experience and I&#8217;m glad that I was able to help make this book better. From my experience with the project coordinator Mary Alex I have nothing but good words for them.<\/p>\n<p>Finally, my name in a print book \ud83d\ude42<\/p>\n<p><a href=\"http:\/\/www.nikola-breznjak.com\/blog\/wp-content\/uploads\/2015\/12\/nodejsRevieweres.jpg\" rel=\"lightbox[1443]\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2419\" src=\"http:\/\/www.nikola-breznjak.com\/blog\/wp-content\/uploads\/2015\/12\/nodejsRevieweres.jpg\" alt=\"nodejsRevieweres\" width=\"503\" height=\"595\" srcset=\"https:\/\/nikola-breznjak.com\/blog\/wp-content\/uploads\/2015\/12\/nodejsRevieweres.jpg 503w, https:\/\/nikola-breznjak.com\/blog\/wp-content\/uploads\/2015\/12\/nodejsRevieweres-254x300.jpg 254w\" sizes=\"auto, (max-width: 503px) 100vw, 503px\" \/><\/a><\/p>\n<p>This book covers a lot of ground like how to<\/p>\n<ul>\n<li>optimize your code for production<\/li>\n<li>use <a href=\"https:\/\/www.docker.com\/\">Docker <\/a>and <a href=\"https:\/\/www.vagrantup.com\/\">Vagrant<\/a><\/li>\n<li>deploy to Heroku, OpenShift and <a href=\"https:\/\/www.digitalocean.com\/?refcode=974c9bc93d77\">DigitalOcean<\/a><\/li>\n<li>use <a href=\"https:\/\/www.nginx.com\/resources\/wiki\/\">Nginx <\/a>for load balancing<\/li>\n<li>use <a href=\"http:\/\/redis.io\/\">Redis<\/a><\/li>\n<li>use <a href=\"http:\/\/gulpjs.com\/\">Gulp<\/a>, Browserify, npm, Mocha, Chai and Sinon<\/li>\n<li>manage deployments with Git, <a href=\"https:\/\/jenkins-ci.org\/\">Jenkins <\/a>and Ansible<\/li>\n<\/ul>\n<p>Here is the short summary of each chapter:<\/p>\n<ul>\n<li>Chapter 1, Appreciating Node\n<ul>\n<li>what is Node.js and where it excels<\/li>\n<\/ul>\n<\/li>\n<li>Chapter 2, Installing and Virtualizing Node Servers\n<ul>\n<li>teaches you how to create a basic Node.js application and deploy it to Heroku, OpenShift and DigitalOcean<\/li>\n<\/ul>\n<\/li>\n<li>Chapter 3, Scaling Node\n<ul>\n<li>shows vertical and horizontal scaling techniques among which how to use Nginx for load balancing<\/li>\n<\/ul>\n<\/li>\n<li>Chapter 4, Managing Memory and Space\n<ul>\n<li>shows the advantages of microservices<\/li>\n<li>shows how to use Redis<\/li>\n<\/ul>\n<\/li>\n<li>Chapter 5, Monitoring Applications\n<ul>\n<li>shows how to effectively monitor your\u00a0application once it has been deployed<\/li>\n<\/ul>\n<\/li>\n<li>Chapter 6, Building and Testing\n<ul>\n<li>explains how to create a build workflow for your application with full examples of using Gulp, Browserify, and\u00a0npm<\/li>\n<li>shows how to do testing with Mocha,\u00a0mocking with Sinon, and using PhantomJS for headless browser testing<\/li>\n<\/ul>\n<\/li>\n<li>Chapter 7, Deploying and Maintaining\n<ul>\n<li>shows how to\u00a0set up a virtualized development environment and manage deployments with Git, Jenkins and Ansible<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>As said, this book covers a lot of topics and, in my opinion, it is not suited for beginners in the field, but for those who have some experience with Node.js and other tools. However, it&#8217;s great that a simple introduction is given to all these topics so that one who is interested more in some particular section, can easily build upon the knowledge gained from the book. The author clearly shows how a Node.js app should be built, tested, monitored, deployed, scaled and maintained.<\/p>\n<p>This book was published in May this year, but I didn&#8217;t want to write the review before, so that it wouldn&#8217;t seem to be a biased one. Since then I worked as a technical reviewer on two of their Ionic products (one book and <a href=\"https:\/\/www.packtpub.com\/web-development\/beginning-ionic-hybrid-application-development-video\">one short video<\/a>), about which I&#8217;ll post when they&#8217;ll be officially published.<\/p>\n<p>Anyways, I hope this review will help nudge you in taking this book into consideration if you&#8217;re looking for how to deploy your Node.js applications.<\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"550\">\n<p lang=\"en\" dir=\"ltr\"><a href=\"https:\/\/twitter.com\/hashtag\/Technical?src=hash\">#Technical<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/review?src=hash\">#review<\/a> of the <a href=\"https:\/\/twitter.com\/hashtag\/book?src=hash\">#book<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/Deploying?src=hash\">#Deploying<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/Node?src=hash\">#Node<\/a>.js by Sandro Pasquali <a href=\"https:\/\/t.co\/EUi0shYmn6\">https:\/\/t.co\/EUi0shYmn6<\/a><\/p>\n<p>&mdash; Nikola Bre\u017enjak (@HitmanHR) <a href=\"https:\/\/twitter.com\/HitmanHR\/status\/681458472043569152\">December 28, 2015<\/a><\/p><\/blockquote>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was a technical reviewer for the book Deploying Node.js: This was done via PacktPub, and I must say that this was a great learning experience and I&#8217;m&hellip;<\/p>\n","protected":false},"author":1,"featured_media":2420,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[],"class_list":["post-1443","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programming"],"_links":{"self":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/posts\/1443","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/comments?post=1443"}],"version-history":[{"count":7,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/posts\/1443\/revisions"}],"predecessor-version":[{"id":2458,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/posts\/1443\/revisions\/2458"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/media\/2420"}],"wp:attachment":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/media?parent=1443"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/categories?post=1443"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/tags?post=1443"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}