Sunday, December 13, 2015

Book Review for "Learning OpenStack" by Packt Publishing

Book review for "Learning OpenStack" by Packt Publishing

I'm going to jump right to the conclusion for those in a hurry: If you are new to OpenStack and seek a book that lays out very clearly how to get up and running, this book is for you.  It's clear, concise and informative.  The components of OpenStack are briefly, but adequately described.  It's a good book.

If you haven't heard of OpenStack before:  OpenStack is an open-source software platform for cloud-computing, mostly deployed as an infrastructure-as-a-service (IaaS).  It's backed by many major industry players.  This book is aimed at the entry-level OpenStack user.

The contents, roughly:

Chapter 1 describes why an orchestrator is necessary in a good cloud environment.  It compares OpenStack services to AWS equivalents, lists dependencies between components, and outlines a 4 node sample.  It also lists the various components of OpenStack and lists what they do.  As you'll see, these components are then covered in detail in the chapters that immediately rollow.

Chapter 2 covers Keystone, the Authentication and Authorization component.

Chapter 3 - Data storage with Swift, Glance and Cinder

Chapter 4 - Nova cloud fabric controller

Chapter 5 - Networking with Neutron

Chapter 6 - The OpenShift Portal

Chapter 7 - Using Openstack.  This includes adding users, making a project, mapping users to roles, adding a network and adding vms.  It provides an outline of how everything works (which services are called, for which purpose) as OpenStack operates.

Chapter 8 - Building on the cloud with Heat and Ceilometer.  Heat is an orchestration engine, it can be scripted.  Ceilometer is a metering system that collects usage statistics, it can be used for billing.

Chapter 9 - Titled "Looking ahead", it compares OpenStack offerings from different vendors, lists pros and cons of each.

There is an appendix, it compares different release versions of OpenStack.  Installation and Configuration tips for different versions.

The book is adequately illustrated.  Diagrams are simple and convey good information about the major components of OpenStack.

The book provides very plain step-by-step instructions on how to install and configure OpenStack, without being too dry. 

All things considered, I'd call this book a very good resource for those learning to use OpenStack.

The book can be found here.

Happy Cloud computing!

Monday, November 16, 2015

Book Review for "Hybrid Cloud Management with Red Hat CloudForms"

'CloudForms' is Red Hat's tooling for cloud management.  The product provides simple and intuitive web UIs for setting up a hybrid cloud and running it. 

A hybrid cloud is made up of public and private components.  This book explains the various components you will need to work with, and how they are manipulated through the UI.  Examples:  'Cloud Providers' would include Amazon EC2 and OpenStack.  A 'Virtualization Provider' would be VMWare.  These concepts are explained, and you are given instructions how to set up and maintain your cloud environment.

The book takes you from installation, through configuration, and into maintenance of the environment.  You are shown how to provision machine instances from the framework you have configured.  You are given instructions on how machine lifecycles can be managed through hooks, and how automation can be introduced. 

Cloud Forms provides Policies, Events and Actions as a means of maintaining the working environment, these are explained.  You are given tips on monitoring your cloud.  There is a chapter on optimization of your hybrid cloud, and lastly you are informed about the APIs (REST and SOAP) provided by Cloud Forms.

Overall, this book is clear and informative.  I wish it had a little more conceptual information about some of the described constructs, but this is a small nit.  There are plenty of screen shots, the book makes it clear how you are to accomplish various tasks.  The layout is well-organized, the chapters are presented in a logical order.

What's the verdict?  If you have reasonable linux administration skills and you wish to begin configuring a hybrid cloud, this book will be a good place to start

The book can be found here.

Happy Cloud Hopping!

Thursday, March 12, 2015

Book Review for "Mastering Apache Maven 3"

There's been a 'build tool' war in the Java community for many years.  On one side are fans of Ant, the original Java script-and-build toolkit.  On the other side are users of Maven, a newer kit with an emphasis on dependency management and a predefined lifecycle.  The battle has been waged fiercely for quite a while.

It looks to me as if the Maven side has taken the upper hand.  I try to be pragmatic about such things, but must admit that I have had some difficult times with Maven.  For simple projects (based on examples from the internet, called archetypes) it's a great tool.  But Maven is a two-edged sword:  For every simple archetype I've benefited from, I've had a more complicated project that caused me some problem that required hours of research to solve or at least the rebuilding of my local repository.  Maven can be somewhat mysterious at inopportune times.

Maven also has a giant appetite for artifacts it pulls from the internet.  Pull any Maven-based open source project onto your machine some time and kick off a build cycle.  If it's any kind of project at all, you'll be horrified by the number or things Maven fetches from the internet.  (Ant most likely would have referred to a /lib directory that had everything cached for you.  But there are pros and cons to this.) 

Given this situation, I was delighted to lay hands on a copy of "Mastering Apache Maven 3" so I could learn more about this build monster.  I was not disappointed.

The book covers a lot of ground.  You are given knowledge of how the build cycle works and definitions for all the involved terminology ("Mojo", "plugin", "phase", "lifecycle", "assembly", etc.)  Different chapters are devoted to some of the things I always thought would be cool to understand:  Writing plugins, associating them with a given part of the build cycle, writing my own archetype, setting up a Nexus repository, etc. It turns out Maven is really a framework for running arbitrary code plugins-- cool!  Pretty much every question I had about Maven is at least touched upon in this book.  The author gives us decent examples of not only how to configure Maven, but also how to extend it.  I thought this was excellent.

If the book has a shortcoming, it would be that it's a little low on illustrations.   Reading page after page about a build tool (with accompanying configuration XML!) can be tedious.  Just a few stick drawings or sequence diagrams would have gone a long way towards helping the reader get immediate context about what is being discussed. That's about the only harsh criticism I have for this book.  For the most part, it's a very good book and will no doubt be one I'll reach for on occasion as I battle Maven in my day-to-day duties.

To summarize:
  • Who would I recommend this book for?  
    • Any enterprise Java developer.  
  • Is it a great book?  
    • It's not a page turner, but it's likely to be a treasured resource.  
  • Will it stay relevant for long?  
    • Given the length of the Ant/Maven battle, I'd guess a very long time.  
I consider this book a welcome addition to my tech library.

The book can be found here

Happy Building!