Books Away

Tags

, , , , , , , ,

So aside from a horrible couple of weeks with everyone being ill and manic work loads.  Its been busy time with the books.

The final chapter review for a new Packt book on Apache Camel (Mastering Apache Camel) went back. So I’d expect the book to coming out soon.  I’d suggest this is a companion text to the exceedingly good Apache Camel Developer’s Cookbook (which I’ve blogged about previously here). The new book approaches Apache Camel more from a pure development platform mentality rather than from the integrator approach. If you’re familiar with Camel basics or want to focus on realising good pattern based integration then start with the Cookbook.  If you’re new to Camel and/or being asked to write custom Components or End Points then start with Mastering Apache Camel but go on to the  Cookbook as it should show best practise Camel integration will be applied. The Mastering Apache Camel doesn’t address advanced things such as SEDA which the Cookbook definitely does.  The Mastering book does an excellent job of covering things like Unit testing (in part because the Camel capability has developed).

 

 

As one book wraps up, another starts, with a 2nd Edition of Java EE Development with Eclipse which I expect will bring the book upto date with the latest capabilities of Eclipse and take in the JEE updates upto JEE v7; we’ll see where this takes us.

My Praise for Cloud Patterns Book

Tags

, , , , ,

This book continues the very high standard we have come to expect from ServiceTech Press. The book provides well explained vendor agnostic patterns to the challenges of providing or using cloud solutions from PaaS to SaaS. The book is not only a great patterns reference, but also a worth reading from cover to cover as the patterns are thought provoking, drawing out points that you should consider and ask of a potential vendor if you’re adopting a cloud solution.

Phil Wilkins, Enterprise Integration Architect

 

 

 

 

 

Useful Links:

Ansible Book Review Part 4

Tags

, , , , , , , , , , , , , ,

This the final part of the detailed look at Packt book, Learning Ansible. As the book says in the opening to chapter 6 we’re into the back straight, into the final mile. The first of  two final  chapters look at provisioning of platforms on Amazon AWS, DigitalOcean and the use of the very hip and cool Docker plus updating your inventory of systems given that we have dynamically introduced new ones.  The approach is illustrated by not only instantiating servers but delivering a configured Hadoop cluster. As with everything else we’ve seen in Ansible there isn’t a standardised approach to all IaaS platforms as that restricts you the lowest common denominator which is contrary to Ansible goals described early on. But deploying the Hadoop elements on the two cloud IaaS providers is common.  Although the chapter is pretty short, I did have to read through this more carefully, as the book leverages a lot of demonstrated features from previous chapters (configuration arrays etc) which meant seeing the key element of the interaction with AWS was harder. It does mean if you tried diving into this chapter straight away, although not impossible does require a bit more investment from the reader to see all the value points. That said it is great to see through the use of the various features how easy to setup the provisioning in the cloud is, and the inventory update. Perhaps the win would have been to just so the simple provision and then the clever approach.

Chapter 7 focuses on Deployment. When I read this, I was a little nonplussed, hadn’t we been reading about this in the previous 6 chapters. But when you look at the definition provided:

“To position (troops) in readiness for combat, as along a front or line.”
Excerpt From: “Learning Ansible.” Packt Publishing. 

You can start to see the true target of what we’re really thinking about, which is the process of going from software build to production readiness. So having  gone through the software packaging activities you need to orchestrate the deployment across potentially multiple servers across a server farm. This orchestration piece is really just pulling together everything that has been explained before but also share some Ansible best practise. Then finally an examination of the Ansible approach for the nodes to pull deployments and updates.

The final piece of the book is an Appendix which looks at the work to bring Ansible to the Windows platform, Ansible Galaxy and Ansible Tower.  Ansible Galaxy is a repository of roles build by the Ansible community. Ansible Tower provides a web front end to the Ansible server. The Tower product is the commercial side of the Ansible company – and effectively sales here fund the full time Ansible development effort.

So to summarise …

The Learning Ansible book explains from first principles to the very rich capabilities of building packaging software, instantiating cloud servers or containers through to configuring systems and deploying applications into new environments; and then capturing instantiated system details into the Ansible inventory. How Ansible compares with the more established solutions in this space in the form of Puppet and Chef is discussed, and the pros and cons of the different tools. All the way through, the books has been written in an easy engaging manner. You might even say wonderfully written. The examples are very good with the possible exception of 2 cases (just merely good in my opinion), the examples are supported with very clear explanations that demonstrate the power of the Ansible product. Even if you choose not to use Ansible, this book does an excellent job of showing the value of not resorting to the ‘black art’ of system build and configuration and suggesting good ways to realising automation of this kind of activity, in many place undoubtedly thought provoking

Prior Review Parts:

Pheonix servers

“The end result is that, while designing your infrastructure, you want to make sure that you can bring up and bring down machines on demand and not allow certain machines to assume mammoth importance.”

Excerpt From: “Learning Ansible.” Packt Publishing. iBooks. 

This material may be protected by copyright.

New eBook offer from Oracle Press

Tags

, , , , , ,

Oracle Press are offering the Quick Start Guide to Oracle Query Tuning for free at the moment – register for the book at http://books.mcgraw-hill.com/ebookdownloads/solarwinds/ 

Learning Ansible Review Part 3

Tags

, , , , , , , , , ,

Chapters 4 & 5 of Packt’s Learning Ansible continue to build out strategies needed for enterprise class deployment and configuration management, for example error handling, rollback and reporting in chapter 4.  As chapter, the amount of new Ansible capabilities being introduced is not as substantive as prior chapters, and emphasis is more only what could be described as best practise. For example creating Playbooks that have the means to be invoked to re-establish a prior state if the the execution of the current playbook was to throw up an error.  The callback explanation does need a bit more understanding of how Python works as implementing a callback involves a little bit of Python coding, but the points into which you can hook actions is very rich.

From knowing how to trap callbacks it becomes possible to initiate notifications when events occur in playbooks which is where this chapter moves onto with monitoring and alerting. This really focuses on has my playbook executed as expected and reporting back through means such as email, nagios and graphite.  The examples with email and nagios miss a trick, although the text says you can incorporate output from tasks – it isn’t illustrated; yet if something falters you’d want to see the task output.

Chapter 5 goes into how you might write your own custom modules and test them. Ansible will support any language that is available in your target environment, although Python is the recommended language given its general availability and is the language used to write Ansible, and Ansible modules can be leveraged to shorten the effort in creating custom modules. The chapter then walks through examples using Python, Bash shell scripting and Ruby. A lot of the work appears to be centred on extracting the appropriate parameters to allow the module to run with. The final part of the chapter looks at testing with the Python Nose library.

Solid chapters, and perhaps a little shorter than the first few, but importantly continuing to be well written although perhaps a couple of small missed opportunities to be great chapters.

Prior chapter reviews:

Cloud Design Patterns

Tags

, , , , , , , ,

The book reviewing opportunities are coming thick & fast. In addition to currently providing review feedback on a forthcoming book on Apache Camel to be published by Packt (previous blog entry),  I’ve been fortunate to get the opportunity to review another book in development as part of the Thomas Erl Technical Series, this time on Cloud Design Patterns.  From what I’ve seen before, the books is unsurprisingly going to have a similar style to the other patterns books in the series.  It is also living upto the same high standard of insight.  You can see some information from the website that will be supporting the book at http://www.cloudpatterns.org/ and the from the publisher at http://servicetechbooks.com/cloudpatterns.

In looking at some background to one of the patterns, it was also interesting to note that despite Oracle now having focused a lot of its massive resources at cloud offerings, has no apparent involvement with the Cloud Security Alliance, even though most of the other businesses that Oracle could consider to be potential competitors or are premier partners are associated with it (CSA Corporate Membership).

Oracle Press – Free EBooks

Tags

, , , , ,

So Oracle Press have been celebrating 20 years of publications.  As part of that celebration they have over the year offered a number of eBooks for free.  The UKOCN site have pulled a list of these free books together along with relevant links for request the ebooks – go checkout http://www.ukocn.com/article/oracle-press-free-copies – if this link doesn’t work (UKOCN maybe preventing deep links) then go to http://www.ukocn.com/ and visit articles, and you should see an article called “ORACLE PRESS FREE COPIES!”. at the time of writing this post this is on the homepage of listed articles.

Learning Ansible Review Part 2

Tags

, , , , , , ,

Example Ansible playbook

So having had a significant introduction to Ansible and its capabilities, chapter 2 gets into developing Ansible Playbooks. To do this the book confronts development practises of environment creation and management scripts, or the tendency for ops teams not to apply development like rigour. It is refreshing to read things like ….

… seen these practices at close quarters, we firmly believe that these are more or less similar to voodoo practices that need to be done away with.

Excerpt From: “Learning Ansible.” Packt Publishing.

 

The book does there for dig into the basics of using Git, and illustrating it using the configuration files from an earlier example. The next step would be if you follow development practises to use a Continuous Integration (CI). The book is surprisingly brief on this subject, compared to say Git.

In a development lifecycle the next step is to test, which elegantly introduces Ansible and Vagrant for instantiating virtual machines that the Ansible playbook can be tested against.

This creates the environment by which several additional capabilities provided by Ansible can aide testing activities particularly the ability to tag activities and then run the Ansible script targeting the specifically tagged activities. The additional ability that allows Ansible Playbooks to be executed in a way that allows it only tell what would be changed, rather than perform the change.

The book takes you on from there to introducing how Serverspec could be used. Things for me gain a little too much velocity, perhaps it doesn’t help that I am not familiar with Ruby.

The final part of the chapter and we’re back on solid ground with options on configuring SCM solutions such as Git to support deployment and how Ansible can support the same playbook in different environments such production, preproduction where the playbook is the same but you will be working with different server ids and credentials.

Even if you weren’t to use Ansible there are some thought provoking and good principles for config management and system scripting here.

So by having completed the first two chapters all the principle of Ansible are covered along a range of guiding practises that reflect good development practises in the context of producing environment management. There are limits and the next chapters then go into how to build upon the basics for so it is easy to create  more advanced Playbooks for real world environments with capabilities like playbook iteration, including Playbooks within Playbooks and conditionals for example.

The chapter builds upon the simple examples used on the first chapters showing how the Playbooks can be made to be a lot smarter. For example rather than a task to install each individual application required you can build a table of configuration values and get the task to iterate through the set of RPMs and versions for example. The structures to iterate over can be multi dimensional so you can define some advanced configuration and keep the tasks simple. By building on the earlier examples it helps highlight the benefits of the feature being explained which really helps.

Other features explained here include handlers, so you can trigger one or more activities to be performed once the playbook tasks have completed – so restarting processes can be executed only when all tasks are completed for example.  Other development like features like including other Playbooks are introduced (inline with the idea of DRY – Don’t Repeat Yourself). This leads into using roles, where than identifying your target servers by name or IP you can bring everything together by assigning the server roles e.g. DBTier, AppTier etc. The final two elements are the approach to templating using the Python Jinga2 framework and most crucially given that you will be handling configuration data and passwords Security.

Another couple of well written chapters that embody both insight into Ansible but also hung on the good development ideas so even if you choose not to use Ansible, some of the thinking here could be applied or at-least used to formulate questions as to how the ideas might translate to chef or puppet for example.

Packt Book Promo to 5th March

Tags

, , , ,

Packt are running a promotion for those on their mailing list – a bit like the Christmas promotion, free ebook each day, until 5th March. Check it out here. So best sign up to the emails!