Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How modular of an install do we provide? #637

Closed
dannylamb opened this issue May 23, 2017 · 5 comments
Closed

How modular of an install do we provide? #637

dannylamb opened this issue May 23, 2017 · 5 comments

Comments

@dannylamb
Copy link
Contributor

dannylamb commented May 23, 2017

Part of #635

This can be a pretty big rabbit hole, so I want to create a definitive scope for the first phase of development of a scripted install provided by the foundation. This will be driven by the deployment configurations we want to support. Those two things are the outcome I want from the ticket. What deployment setups do we support and what are the packages we need to make those happen?

So let's start with 'What deployment setups do we support?"

I'm thinking an all-in-one install and then a reasonably broken apart stack. Looking for guidance on what is reasonable to break out. Here's what my gut is telling me:

  1. Drupal
  2. Fedora
  3. Microservices
  4. Karaf with Alpaca and API-X
  5. Blazegraph
  6. Solr
  7. MySQL
  8. Activemq
  9. Canteloupe

Thoughts?

@whikloj
Copy link
Member

whikloj commented May 23, 2017

Don't forget Cantaloupe which can go with Fedora or separate... probably separate is better to allow you to have your preservation layer completely separate from your display layer.

@dannylamb
Copy link
Contributor Author

@whikloj Editing into original post

@bryjbrown
Copy link
Member

bryjbrown commented May 24, 2017

Since one of the major goals of CLAW is scalability, it would make sense for each microservice (or any individual part of the stack that may need to grow/shrink dynamically) to be its own thing. That way you could spin up more Tesseracts or Imagemagicks as needed without each the overhead of anything else that isn't needed being spun up with it.

I write this with Docker containers in mind, but could probably apply the same logic to Ansible too.

@ajs6f
Copy link

ajs6f commented May 26, 2017

There was some discussion about this on https://github.com/Islandora-CLAW/CLAW/wiki/May-24%2C-2017 and my suggestion then was that we could start by putting everything that can go in one kind of container (i.e. servlet container, httpd/PHP, Karaf) into one of that kind and put each container into a Docker of its own. Then as we discover which pieces need scaling out by practice, we can break them out into their own Dockers.

That would start us out with something like three Dockers:

  1. Apache httpd (or other webserver) with PHP gear containing Drupal and Crayfish Microservices and the SQL database supporting them
  2. Karaf containing Alpaca, API-X and ActiveMQ
  3. Tomcat or other servlet container containing Fedora, Canteloupe, Blazegraph and Solr

That's almost surely not as fine-grained as we might eventually want to be, but my hope in putting forward the suggestion is that we can start more coarse-grained than we know we will be and figure out with experience how to subdivide.

Anyway, just a suggestion...

@dannylamb
Copy link
Contributor Author

Closing this. We'll deal with it during sprint/planning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants