Hands-on experiment building microservices and cloud native applications
View project on GitHub

Advanced KubecCtl

We've been heads down figuring out how to take the work we did for Game On! on Kubernetes, and make it even simpler for users to get started. So our resident techno-wizards have come up with a pile of scripts to help orchestrate the deploy onto K8S, and do some of the config and setup and boring backgroundy stuff that's required to get a polyglot microservice app up and running in your cluster.

Moving GameOn to Kubernetes

Game On! and Kubernetes Here at Game On! central, we've been considering how to run on Kubernetes for quite some time, and during a pause in the recent Holiday Season, we had a chance to add Kubernetes support allowing you to run the core services locally. This work partly builds on an earlier attempt to bring Game On! to Kubernetes back in May last year. We learnt a few lessons from that attempt, and like to think this attempt is a little cleaner.

Climbing inside your code: A unique look at the game

Long long ago, in a land far far away (also known as QCon San Francisco, 2016), I met John Voorhees and Avik Das from Primitive, a small startup building VR tools that allow you to visualize your code in an immersive way. We were also talking about Game On!, because we're about helping you experiment with new technologies and concepts in a differently immersive way. They scanned and built a visualization of the core game services, and brought it to JavaOne!

Lagom gets in the game at JavaOne 2017

JavaOne was a month ago! No way! Time sure flies. Our lab with Lightbend was an excellent adventure, complete with the exciting, heart-pounding, last-minute rush to get the materials working end to end. I don't know about you, but that last minute hacking stuff is why I love what I do. I enjoyed working with the Lightbenders; they're a great team, with solid ideas around how to build reactive applications. What we demonstrated in the lab barely scratched the surface of what you can do with their framework.

Devops Days in Raleigh

Venu Beyagudem, Jarek Gawor, Ranjan Kumar, and I (Heather Saunders) brought Game On! for its debut at DevOps Days in Raleigh, NC in early September. DevOps days is a series of conferences across the world that covers topics of software development, IT infrastructure, and of course the DevOps principals that connect them and make them tick. Topics for speeches range from monitoring tool selection, to organizational culture. If you’re interested in seeing if DevOps days is coming near you, check out https://www.

Spring Room!

We have a new sample room written in Java with the Spring framework: sample-room-spring the room up and running This post is a brief overview of the creation process. Jumpstart with code gen Using this guide, we made a Spring microservice starter that could be deployed to Bluemix with just a few commands: {% highlight shell_session %} $ bx dev create ? Select a pattern: Web App Mobile App Backend for Frontend Microservice MFP Enter a number> 4 ?

Simplified Docker Compose for local development

We now have a special branch in the gameon repository that contains a snapshot of a smooth end-to-end local development flow with docker-compose. 1 2 3 > git clone > cd gameon > ./ up TA-DA!! Yes, yes. Kubernetes is next, we promise. But with this revision of the Docker Compose path, we dropped a lot of complexity (bye, Amalgam8!) and created a simplified path for getting started.

Headed to JavaOne 2017!

That's right, Game On! is going back to JavaOne this year! Frenetic activity has ensued (wow, does this feel familiar), as we prepare for the conference. If you're a frequent visitor, there may be some bumps as we clean things up! Both a Hands-on Lab and a general session feature the game. Be sure to put them on your schedule! Introduction to Reactive Systems [HOL7896] In this two-hour workshop, IBM and Lightbend are teaming up to introduce you to developing reactive microservices on Kubernetes.

We have a Scala Room!

What follows is the stream-of-conciousness and research that lead up to our newest sample room!


Day 0

So for me 2017/18 is going to include adventures in polyglot.

This will include but will not be only restricted to Kotlin,Prolog, Erlang, Racket, Haskell, Closure, Scala

Day 1

Decide on tooling.

Learn to stop hating and love regexes

scala> sample
res69: String =
    "username": "username",
    "userId": "<userId>",
    "version": 1|2

scala> pattern
res70: scala.util.matching.Regex = (?s)(\w+),([^,]*),(.*)

scala> val pattern(target,id,payload) = sample
target: String = roomHello
id: String = <roomId>
payload: String =
    "username": "username",
    "userId": "<userId>",
    "version": 1|2

Room on a chip

Game On! is a fun little text adventure written using a Microservice architecture. It's also extensible, allowing users to write their own ‘Rooms’ (locations within the text adventure world), that run as Microservices, in the cloud, on their own systems, etc.

I've played with Arduino's and Raspberry Pi's, and similar for quite some time. I tried having an Arduino read data from a Floppy Drive, which was fun, and ultimately led to a crazy floppy disk autoloader. From there, I ended up moving on from Arduino to the Maple, then from there to a Teensy 3.0, and most recently, a rather fun little collection of boards based around a Chip known as the ESP8266

esp8266 board

There are some nice things about one of the ESP8266 boards I had (Witty Cloud / GizWits):

  • you program it using the Arduino API,
  • it has built in WiFi, 4MB of flash to store your code, 64k of instruction ram, and 96k of data ram to play with.
  • it runs at 80mhz or so
  • it has an LED light that can change color
  • it has a light sensor

That's pretty impressive for something that costs around 5$ shipped.

When you know there are Arduino JSON libraries, and Arduino WebSocket libraries that can run on it, you start wondering: is it possible to host a Room for Game On on an ESP8266 ?

I had a spare moment at a weekend, so decided to find out! =)