Can CHEF be used for a mutli-server, Enterprise base deployment?

418
4
Jump to solution
02-23-2019 02:48 PM
LanceCole
MVP Regular Contributor

We are getting ready to move our Enterprise test environment to production and at the time we set up the test environment you could not use CHEF to deploy to multi-servers for the base instalation.  Many current ESRI videos reference the ability to do this but I can only find examples for a single server, base deployment with add-on additional GIS servers.  Has anyone performed a mutli-server deployment using CHEF for the base deployment?

Our deployment will be along the lines of the following on our Intranet:

IIS-01 - IIS, Web Adapters and Portal

GIS-01 - ArcGIS Server

GIS-02 - 2nd ArcGIS Server

GIS-03 - Image Server

GDS-01 - Data Store

GFS-01 - File Server

SQL-01 - Enterprise Geodatabase

0 Kudos
1 Solution

Accepted Solutions
BillBott
Occasional Contributor

Totally doable, all it would be is slicing and dicing of recipes to install the desired component on the target system. This is pretty common in fact, the only single-machine chef deployments I've done have been for development/testing purposes.

Can get a little dicey keeping track of what parameters go with that recipe and so on. I would recommend using only the parameters required for the specific recipes you use for each target. Chef recipes and what parameters they use (and their default values) here: arcgis‐enterprise Cookbook Recipes  and IS here esri‐iis Cookbook Recipes 

For example, on your "IIS-01" machine your Chef script/recipe might resemble this 

"run_list":[
   "recipe[arcgis-enterprise::system]",
   "recipe[esri-iis]",
   "recipe[arcgis-enterprise::portal]",
   "recipe[arcgis-enterprise::portal_wa]"
]

Hope that helps!

View solution in original post

4 Replies
LanceCole
MVP Regular Contributor

Additional info: I did find the link below with some additional details pertaining to modifying the CHEF recipies for single system deployment.  So it does appear this is a possibility. I do have a request in to my ESRI rep and support engineer.  Have not put in a support ticket yet.

http://proceedings.esri.com/library/userconf/proc17/tech-workshops/tw_679-456.pdf

0 Kudos
BillBott
Occasional Contributor

Totally doable, all it would be is slicing and dicing of recipes to install the desired component on the target system. This is pretty common in fact, the only single-machine chef deployments I've done have been for development/testing purposes.

Can get a little dicey keeping track of what parameters go with that recipe and so on. I would recommend using only the parameters required for the specific recipes you use for each target. Chef recipes and what parameters they use (and their default values) here: arcgis‐enterprise Cookbook Recipes  and IS here esri‐iis Cookbook Recipes 

For example, on your "IIS-01" machine your Chef script/recipe might resemble this 

"run_list":[
   "recipe[arcgis-enterprise::system]",
   "recipe[esri-iis]",
   "recipe[arcgis-enterprise::portal]",
   "recipe[arcgis-enterprise::portal_wa]"
]

Hope that helps!

View solution in original post

LanceCole
MVP Regular Contributor

I am still working through the mountain of information out there pertaining to CHEF and its related Cookbook Recipes for ESRI products as well as others.  Ran into one issue that I may not be able to get around.  CHEF self-hosted server only is available on Linux based OS platforms.  For our test environment this is not an issue but for production IT will only allow windows based systems and approved applications.  Production also is running in an isolated environment, so no internet for a web based configuration from CHEF hosted servers.  Any other suggestions for running CHEF in a windows only environment?

0 Kudos
BillBott
Occasional Contributor

Hi Lance - yes, there is quite a bit out there and all may not apply to you, depending on your requirements.

Yes, Chef Server is UNIX only and limited to 5 machines before you have to start writing checks. However, you may not need it - I've never used it and have done hundreds of enterprise installations with free unlimited use of the Chef client. Chef Server does look pretty slick though. Unfortuantely, if you have been watching the videos all you will likely see is demos of Chef Server...

Chef Server is best for...

  • Setting up and tearing down dozens of ArcGIS Enterprise installations routinely
  • Organizations that have a sustainable supply of resources (people, equipment) to install, configure and maintain Chef Server, recipes
  • Organizations familiar with automated installation tools, like Ansible Ansible is Simple IT Automation )

Chef Client is best for...

  • Automating semi-frequent, but not routine installations of ArcGIS Enterprise
  • Deploying N-tier system architectures 
  • Personnel with some scripting experience  (even a DOS batch script counts)
  • People who have better things to do than click through installers. 🙂

 My advice would be to kick the tires on the Chef Client on a machine. Head over to the wiki on github and go through the Deploy a full stack ArcGIS Enterprise on a single machine · Esri/arcgis-cookbook Wiki · GitHub  tutorial. Follow the directions, although I can see there is an error there about the version of Chef Client they support on the very first step  (it is https://downloads.chef.io/chef/stable/13.9.4  )

Good luck!

0 Kudos