Skip to content

Comment on Snowflake Serverparent

Comments

I did the same thing. What's nice about the Phoenix approach is that you start with a known state (base Ubuntu install or whatever) and end with a known state (running your setup) and completely ignore all other possible states. A tool like chef or puppet has to have a lot of complexity around examine a node, determine what state it's in and figure out how to get it to the desired state.

I also use boto in my fabfile, so that I can run a single command to launch an EC2 instance, install & configure software on it, save an AMI and terminate the instance. It's a like having a Makefile that compiles machine images:

    > fab build:<role> <region>
I wouldn't go as far as Fowler's "disable the shell" idea, but it doesn't take much discipline to do all significant changes by building new AMIs.

I don't believe in AMIs.

You mean you don't believe in making your own AMIs? I don't see how you could run an instance without an AMI.

I mean I don't believe in AMIs. You seem to think I'm an Amazon customer.

No. I'm an Amazon customer.

If you prefer some other IaaS, fine. The point is that fabric can drive both the virtualization API and the actual set up of servers over SSH. I have a fake region called "dev" that runs the build against a vmware image on my local machine. It could work with Softlayer or Joyent or Rackspace or CloudFoundry or whatever.

Fabric and an IaaS provider is a really nice way to implement the PheonixServer pattern.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.