Ask Your Question
0

example of project build containing distinct application with corelation

asked 2017-01-15 16:56:30 -0500

sat999 gravatar image

Hello There, I am relatively new.. but I can write manifests and assign distinct nodes to distinct manifests etc. some simple jobs as of now.

I have an assignment to build "NEW Environment" of my project (constituting multi-tire apps/ multi-vm) with 10+ different applications (web server, weblogic app server, oracle ldap, messaging server, batch scripts, servicemix, jboss and few others ) hosted on distinct 8 VM's + "Pre-existing Oracle RAC-DB on which I need to create schemas for new env".

Since there is co-relation between apps. and inter-communications involved, I need to time the manifests kick-off in serial order across seperate VM's.. based on relative success of prior manifests on other VM's.

Can someone please advise me what puppet assets should I be exploring for this kind of ask?

Thanks in advance.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2017-01-16 12:44:00 -0500

DarylW gravatar image

updated 2017-01-16 12:47:40 -0500

Puppet Enterprise has a solution for complex, application orchestration explained at https://puppet.com/product/capabiliti...

In the land of Opensource Puppet, you should generally try to allow everything to get stood up on it's own. There are two kinds of dependencies I can think of

  1. This other server must be up before I can continue my run (https://github.com/voxpupuli/puppet-h...)

  2. This other server has information that I need to configure ( Exported resources combined with puppetdb https://docs.puppet.com/puppet/3.5/la... )

I first heard about puppet-healthcheck while watching the puppetconf2015 talk . There is also a similar resource implemented in the elasticsearch module's connection validator resource.

One major caveat about that... If you have multiple applications depending on each other with checks like that, you can create dependency cycles that deadlock. It would probably be better to create manifest runs that would 'fail' if a needed service isn't up, and you would either see that as a puppet run failure, or you would rely on your monitoring/log aggregation tooling to see that individual services are not healthy.

I don't have any direct experience with exported resources, so I'll leave that to the docs or if anyone else wants to chime in.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2017-01-15 15:05:34 -0500

Seen: 25 times

Last updated: Jan 16