Here it comes again...

On Mon, Jan 19, 2015 at 10:14PM, Valentin Kulichenko wrote:
> > A possible way to support it would be to create a shell script which will
> > SCP the new configuration and JARs into the Ignite EC2 instances. Each
> > Ignite EC2 instance should have a Puppet recipe which will monitor that
> > either the configuration or JAR files changed and will (re)start the
> Ignite
> > process with new settings.
> 
> I don't understand this part. Why do we need Puppet? As far as I
> understand, this script can kill old Ignite processes, upload updated
> configuration, JARs, etc and start Ignite again. Am I missing something?

Puppet (or Chef, in Brane example earlier) is a state machine unlike a script
in any programming language, including shell or, sadly, Python. This is old
story of imperative vs declarative programming. Puppet let you declare desired
states and its state machine will guarantee the state will be reached in the
absence of terminal errors. You can simply declare that "service X needs to be
restarted upon a change in configuration C". In say bash you'll have to
literally write down a set of instructions to check the content of the C and
compare with previous snapshot of it; then write down how to restart the
service; and so on ad infinitum. Times variation for every supported platform.

> For me it looks like everything can be implemented in one script. It can be
> a shell script, of course, but using specialized scripting tool like Fabric
> is a good way to simplify the life.

Yes, everything can be implemented in one script. Or a Python program. I won't
call it a simple life though ;)

Cos

> On Mon, Jan 19, 2015 at 12:28 PM, Dmitriy Setrakyan <[email protected]>
> wrote:
> 
> > On Mon, Jan 19, 2015 at 2:04 AM, Sergi Vladykin <[email protected]>
> > wrote:
> >
> > > >
> > > > I understand that Fabric would be used on the user side, not on the EC2
> > > > side.
> > >
> > >
> > > What do you mean?
> > >
> > >
> > > > Can someone explain what advantage does Fabric give over regular SCP
> > > > call?
> > > >
> > >
> > > I'm sure almost everything can be coded as bash scripts now but the
> > > question is complexity. I believe everyone agrees that bash scripting is
> > > hell. Fabric gives better programming language and simple framework which
> > > allows to handle errors, check existanse of remote files, parallel
> > > operations on multiple hosts, etc. Cost of development and support of the
> > > tool will be lower.
> > >
> >
> > I was actually thinking that Puppet script on every individual instance
> > will check for all required artifacts and files before Ingite startup.
> >
> >
> > > Sergi
> > >
> >

Attachment: signature.asc
Description: Digital signature

Reply via email to