Which approach will allow the company to set up a self-service mechanism for the data scientists to launch Jupyter notebooks in its AWS accounts with theLEAST amount of operational overhead?
Create a serverless front end using a static Amazon S3 website to allow the data scientists to request a Jupyter notebook instance by filling out a form. Use Amazon API Gateway to receive requests from the S3 website and trigger a central AWS Lambda function to make an API call to Amazon SageMaker that will launch a notebook instance with a preconfigured KMS key for the data scientists. Then call back to the front-end website to display the URL to the notebook instance.
Create an AWS CloudFormation template to launch a Jupyter notebook instance using the AWS::SageMaker::NotebookInstance resource type with a preconfigured KMS key. Add a user-friendly name to the CloudFormation template. Display the URL to the notebook using the Outputs section. Distribute the CloudFormation template to the data scientists using a shared Amazon S3 bucket.
Create an AWS CloudFormation template to launch a Jupyter notebook instance using the AWS::SageMaker::NotebookInstance resource type with a preconfigured KMS key. Simplify the parameter names, such as the instance size, by mapping them to Small, Large, and X-Large using the Mappings section in CloudFormation. Display the URL to the notebook using the Outputs section, then upload the template into an AWS Service Catalog product in the data scientist’s portfolio, and share it with the data scientist’s IAM role.
Create an AWS CLI script that the data scientists can run locally. Provide step-by-step instructions about the parameters to be provided while executing the AWS CLI script to launch a Jupyter notebook with a preconfigured KMS key. Distribute the CLI script to the data scientists using a shared Amazon S3 bucket.
Explanations:
While this approach automates the creation of notebook instances, it requires custom development of a front end, API Gateway, and Lambda function, which introduces additional complexity and operational overhead.
This option simplifies notebook creation but lacks governance and control mechanisms, which may lead to operational overhead as the CloudFormation template is directly accessible. It also lacks an easy self-service mechanism for the data scientists.
AWS Service Catalog provides a self-service, user-friendly interface that lets data scientists launch notebooks with a preconfigured KMS key easily and securely. It simplifies governance, access management, and minimizes operational overhead.
Requiring data scientists to run an AWS CLI script adds complexity, as they need to understand the AWS CLI and manually execute the script with various parameters, leading to higher operational overhead.