Service Workbench installation components
Serverless framework and projects
Service Workbench on AWS is a serverless environment that is deployed using an event-driven API framework. Its components are spread across AWS Lambda instances, static webpages using Amazon CloudFront, and Amazon S3. It can use Amazon Cognito for authentication. Service Workbench relies on AWS Service Catalog to host and manage AWS CloudFormation templates that define the Workspaces. Service Workbench contains five serverless projects. You can find these components under the <service_workbench>/main/solution
directory.
Component | Installation Directory | What does it contain? |
---|---|---|
Infrastructure | solution/infrastructure/ | The following AWS resources are created as part of this component deployment:
|
Backend | solution/backend/ | After the environment has been deployed, the backend component creates and configures the following AWS resources: S3 bucket
|
Amazon DynamoDB | Backend SDC creates DynamoDB tables | Stores information concerning user authentication, AWS accounts, workflows, access tokens, study data etc. This component is also responsible for deploying the following Lambda functions/services:
|
Edge Lambda | main/solution/edge-lambda | An inline JavaScript interceptor function that adds security headers to the CloudFront output response. This function is declared inline because the code requires API Gateway URL for the backend API operations. |
Machine images | solution/machine-images/ | Deploys spot instances using machine images for EC2 and Amazon EMR templates. |
Prepare master accounts | main/solution/prepare-master-acc | Creates a master IAM role for organization access. |
Post deployment | solution/post-deployment/ | Creates an IAM role for the post deployment function with policies granting permission to S3 buckets, DynamoDB tables, KMS encryption key, CloudFront, and Lambda functions. |
User interface | solution/ui/ | Contains code used to create and support the UI functionality of the application. |
Continuous integration/continuous delivery
Service Workbench includes the continuous integration/continuous delivery feature:
cicd/cicd-pipeline/serverless.yml
cicd/cicd-source/serverless.yml