Skip to content

Instantly share code, notes, and snippets.

View grkvlt's full-sized avatar
💭
🐧

Andrew Donald KENNEDY grkvlt

💭
🐧
View GitHub Profile
@grkvlt
grkvlt / guava.md
Created March 17, 2013 19:42
Guava Features

Guava Features

Iterables

Iterables.rotate(Iterable<T> iterable, int n)

Iterables.getRandom(Iterable<T> iterable)

@grkvlt
grkvlt / proposal.md
Last active December 15, 2015 06:59
JAX London 2013 Workshop Proposal

Deploy, Manage and Scale Big Data with Brooklyn

Flavoured with big data and devops, this workshop will demonstrate easy, reliable and repeatable deployments of complex tools in the cloud.

If you want to ‘fast-forward’ through the setup of modern application infrastructure to the bit where stuff gets done, or you need more than just a traditional three-tier web app, this workshop is for you.

Brooklyn is an automation tool for managing applications in the cloud. The workshop will include an introduction to Brooklyn, deployment and scaling of a classic web application, use of various NoSQL database clusters, and single-click deployment of cloud Hadoop.

By the end of the workshop attendees will have designed and deployed their own big data system on cloud infrastructure, and be better equipped to tackle upcoming big data challenges.

@grkvlt
grkvlt / 0.5.0-rc.2-announce.md
Last active December 16, 2015 17:09
0.5.0-rc.2 Release Candidate Available Announcement

0.5.0-rc.2 Release Candidate Available

The integration testing has completed successfully, and pending some minor updates I think that we are ready for the 0.5.0 release of Brooklyn. I have build and deployed a new release candidate, version 0.5.0-rc.2, which contains all the bug-fixes and changes that are going to be in the final release.

Barring any show-stopper issues, the code is now frozen and no more code pull requests will be accepted for the 0.5 branch.

TODO

The documentation has been updated to reflect the latest changes, and @jdtoy has put in some excellent work getting this into shape. There are still some small changes to be pushed for the final 0.5.0 documentation, but this will not affect release testing of the code.

@grkvlt
grkvlt / review.md
Last active December 17, 2015 04:08
Multi-Cloud Scenarios for the Future Internet Workshop

Multi-Cloud Scenarios for the Future Internet

On Tuesday Alex and I attended a workshop called Multi-Cloud Scenarios for the Future Internet organised by James Ahtes at Cloud4SOA. Camp and Cloudsoft excluded, the focus of the presentations was on managing interoperability between different clouds.

Here's a summary of the projects we heard about:

Projects

OCCI

@grkvlt
grkvlt / testing.md
Last active December 17, 2015 05:58
Brooklyn Acceptance Testing

Brooklyn Acceptance Testing

I think that we have problems with our testing processes for Brooklyn. The integration tests are very brittle, and we only have weak acceptance criteria. We are trying to improve this with things like the Jenkins cloud setup, and the incremental fixes to the test suites, but there is still a lot more that can be done.

Test Environments

Brooklyn cannot be tested in isolation, it requires deployment to a test environment, ranging from a single machine to multiple cloud providers. This complexity is one of the challenges when trying to reliably and repeatably test complex software. One way of reducing the complexity is to restrict the number or scope of the environments used, but this does not adequately reflect the real world, where we cannot control the configuration used by a customer. So, to achieve a suitable level of confidence in the software, we must test against many different types and configurations of target system. The more permutations

@grkvlt
grkvlt / jmxrmi.md
Created June 13, 2013 19:02
JMX and RMI

Java Management Extensions

I think it is worthwhile providing some information about JMX, since it is very heavily used by all of our Java based entities in Brooklyn. JMX uses the RMI protocol to communicate, this is called JRMP and is implemented by the javax.management.remote.rmi.RMIConnector in the JVM.

Protocol Annoyances

There are a couple of problems with the RMI protocol as used by default in JMX.

  1. It sends the remote address as data inside its protocol messages, causing problems for machines behind NAT or using split DNS.
  2. The random port allocation for RMI means incorrect firewall configurations are generated.
@grkvlt
grkvlt / rebind.md
Last active December 18, 2015 11:39
Message from Derek Palma to brooklyn-dev mailing list about Brooklyn management context and resilience

This my first time on this list. First my complements to the Brooklyn team, this project solves some complex problems with some very concisely written Java. However, I'd like to get an authoritative answer from the source regarding some questions that have come up for us.

I'm able to partially answer some of your points, since these are features I am interested in working on further in the next release of Brooklyn. Hopefully others can chime in and correct me...

Say I instantiate an app deployed across multiple locations and I lose the JVM with the ManagementContext (I am assuming this is the root access point to get access to the rest of the components), is there away to start another ManagementContext on another node. I.e. is this a supported feature in the existing code/design or not?

This is called 'rebind' and is a feature we have currently, and are working on improving for the next release of Brooklyn. The intent is to support exactly the circumstances you describe. (I think Aled worked on the cu

@grkvlt
grkvlt / nowtv.md
Created July 30, 2013 23:50
Now TV Box

Now TV Box

FYI. [1]

Sky has today launched Now TV, its budget set top box that offers free catch up TV, as well as optional sport and movie add ons, for just £9.99. There is no subscription fee and the box can connect to

@grkvlt
grkvlt / brooklyn.sh
Created August 14, 2013 13:29
Shell environment to install a Brooklyn/AMP software entity
#!/bin/bash
### requirements
# multi operating-system
# - linux (various, centos/rhel, ubuntu in pareticular)
# - osx
# bash 4.x
# helpful error messages
# fail fast and fail safe
#