Gave my Brooklyn training session to about 8 Waratek staff, from both development and QA backgrounds. Covered a wide range of topics, starting with a basic introduction to Brooklyn concepts and components, then moved up to policies and blueprints. Also included some waratek specific instruction on using the 'exotic' WaratekInfrastrcture
entity and the associated WaratekLocation
that is created dynamically.
We used YAML to create blueprints almost exclusively, rather than forcing people to write (or edit) Java code. Everyone deployed their applications to AWS EC2 (in Dublin, of course!) locations, rather than 'localhost', using a temporary IAM credential set I created. This all helped to reduce the number of problems with laptop setup significantly although there were still various idiosyncratic configuration issues to deal with. Many thanks to @ahgittin and @sjcorbett for their helpful suggestions here.
Of course, when I explained that the version of the code we were using had recently been changed to try and prevent a particular issue from occurring, it immediately happened on one of the installations. The 'Curse of Demonstrations' is inescapable...! Also, as pointed out, we need to be careful when using our account at a cloud provider when many people are accessing its API at the same time.
More documentation on individual entities and their configuration options (and the same for policies and locations) was requested. Also a YAML 'Quick Reference' or cheat-sheet would be helpful.
- Need to tidy and generalise the notes and resources I used
- A few minor issues raised that need fixing or investigation
Overall everything was very well received, and I got some useful feedback that should be incorporated in any future courses. I would definitely be happy to do this again, either to a bigger audience or at a conference or similar.
- More debugging of issues with Brooklyn and Waratek JMX handling
- Both
-javaagent
setup and blocking RMI calls with frozen JMX beans - Plenty of support from the Waratek engineers on these
- Continued work on affinity rules for locations
- Allow affinity rules to be configured for any location
- Added support to locations for
NodePlacementStrategy
to be used during 'obtain()' calls
I have also been thinking about Docker exotic location implementation for discussion with Aled et al on Friday, to be used in next Docker blog post.
andrew kennedy ? software engineer : https://github.com/grkvlt/ ;