/scale-out-computing-on-aws

Scale-Out Computing on AWS is a solution that helps customers more easily deploy and operate a multiuser environment for computationally intensive workflows.

Primary LanguagePythonApache License 2.0Apache-2.0

Scale-Out Computing on AWS - HPC made easy 🌴

πŸ“– Documentation

πŸš€ How to install Scale-Out Computing on AWS

1-Click installer

⚠️1-Click installer is great for PoC or demos. For production workload, it’s recommended to go with "Custom Build" instead.

Custom Build

  1. Clone this git repository

    git clone https://github.com/awslabs/scale-out-computing-on-aws
  2. Run the following command to create your build (support Python2 and Python3):

    python source/manual_build.py
  3. Output will be created under source/dist/<build_id>

  4. Upload source/dist/<build_id> folder to your own S3 bucket

  5. Launch CloudFormation and use scale-out-computing-on-aws.template as base template

✏️ File Structure

Scale-Out Computing on AWS project consists in a collection of CloudFormation templates, Shell scripts and Python code.

.
β”œβ”€β”€ scale-out-computing-on-aws.template                 [ Soca Primary Template ]
β”œβ”€β”€ soca
β”‚   β”œβ”€β”€ cluster_analytics                               [ Scripts to ingest cluster/job data into ELK ]
β”‚   β”œβ”€β”€ cluster_hooks                                   [ Scheduler Hooks ]
β”‚   β”œβ”€β”€ cluster_logs_management                         [ Scripts to manage cluster log rotation ]
β”‚   β”œβ”€β”€ cluster_manager                                 [ Scripts to control Soca cluster ]
β”‚   └── cluster_web_ui                                  [ Web Interface ]
β”‚   └── cluster_node_bootstrap                          [ Script to configure compute nodes]
β”œβ”€β”€ scripts
β”‚   β”œβ”€β”€ config.cfg                                      [ List of all packages to install ]
β”‚   β”œβ”€β”€ Scheduler.sh                                    [ Configure Schedule Node ]
β”‚   └── SchedulerPostReboot.sh                          [ Post Reboot Scheduler Node actions ]
└── templates
    β”œβ”€β”€ Analytics.template                              [ Manage ELK stack for your cluster ]
    β”œβ”€β”€ ComputeNode.template                            [ Manage simulation nodes ]
    β”œβ”€β”€ Configuration.template                          [ Centralize cluster configuration ]
    β”œβ”€β”€ Network.template                                [ Manage VPC configuration ]
    β”œβ”€β”€ Scheduler.template                              [ Manage Scheduler host ]
    β”œβ”€β”€ Security.template                               [ Manage ACL, IAM and SGs ]
    β”œβ”€β”€ Storage.template                                [ Manage backend storage ]
    └── Viewer.template                                 [ Manage DCV sessions ]

Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.