martes, 9 de septiembre de 2014

Not far from Cabo Trafalgar 0.8

It's been long time since I announced version 0.4. That version was a simple game made in a simple way. I can't say it has evolved much as a game, but now it's in position of growing way more way faster.

Version 0.6, one year ago, I introduced Maven for easier configuration and compilation, also I tried to build up a Continuous Integration based on Jenkins. I didn't do bad, and I improved the realism of the movement of my only boat by a lot.
I've recently completed a couple of RYA sailing courses and validated that actually almost all my models and dynamics are about right :) About this time, I moved to git as well.

For Version 0.8, I bought an HP microserver (N54L) and 16GB of RAM, and took it really seriously.

  • Architecture:
    • Lots of vms for having my own infrastructure at home, based on Chef-Server, Xen and OpenSuse.
    • Dev environments, Jenkins, Artifactory, Ssh, Apache and Zabbix.
    • At the end, after some months of setting up, I'm really happy with the infrastructure that's helping me to develop independently, and all I've learned.
  • Continuous Integration / Continuous Delivery
    • You can take a look in ci.cabotrafalgar.mooo.com, it's not always up, I need to save energy and money!
    • All code is still open source and freely available, included the recipes, so Chef-Server is the responsible of carrying credentials.
    • Pipeline in place so the time between pushing of code and it's in production sanity tested is about 10 mins.
      • Build, component-test, deploy to dev, integration test, deploy to prod, sanity test. I'm quite proud of this.
      • All deployed by chef-server in local (hp microserver) and remote (rented remote vms).
    • Uniqueness of compilations and production versions.
    • Binaries and source in artifactory.
  • Product
    • LazyLogin
      • My own implementation for an easy and confortable autentication protocol, passwordless and without need of keeping sensitive information.
      • Made on Maven, Java, Spring, MySQL, Jetty, WSDL, CXF, Logback and another bunch of technologies I've learned recently.
    • RecordServer
      • With the intention of storing and sharing boat counterclock games, I've created this server that uses LazyLogin to authenticate users and provides ranking services.
      • Made on the previous plus WADL (WSDL for Rest), Couchdb, Ektorp... among others.
    • Cabo trafalgar
      • Now improved with Spring, modularized, implementation of screen flows and now using RecordServer and LazyLogin for more interactivity. Not ready for multiplayer games though.
I hope you like these changes, I've enjoyed getting this knowledge

Soon I'll have more news :)

Alberto