Skip to content

Instantly share code, notes, and snippets.

@johnnyt
Last active January 2, 2016 12:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save johnnyt/8303951 to your computer and use it in GitHub Desktop.
Save johnnyt/8303951 to your computer and use it in GitHub Desktop.
Talk proposal for MountainWest Ruby Conf

MagLev - From Download To Deploy

MagLev is a Ruby implementation built on top of a mature VM which offers native object persistence. Working with these live objects is awesome - but this image-based development is very different than traditional file-based development. MagLev uses both which has broad reaching effects - from design to deployment.

In traditional applications, data and code are separate. Deployments involve pulling new code, updating or migrating the data-store, and restarting or reloading the application which creates a new runtime with this new code.

MagLev's transient objects behave in this same manner, but committed objects are always there. Migrating these live, persistent objects is quite different. Your ‘data’ migrations involve things like instance variables, method definitions and class hierarchies, rather than creating tables or updating column definitions.

In this talk we will walk through how to:

  • Set up a workstation for MagLev development
  • Develop a basic application using MagLev
  • Provision a Vagrant server with MagLev
  • Deploy the application to the Vagrant server
  • Modify the application - which requires a data migration
  • Deploy the new code
  • Migrate existing objects
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment