Data Science - SageMaker

Introduction

Allowing users in the cloud to self-service and provision cloud resources on-demand is a powerful enabler for project teams but can be a concern from an operational risk perspective. However, if you can empower your developers to self-service, while enforcing guard rails and best practice, then the operational and security teams will also benefit. With enforced guard rails and best practice you can be confident that, while developers are creating resources they need, they are doing so in a manner that is inline with your policies and requirements.

In this lab you will setup a SageMaker Product to allow data scientists to consume a ready-made deployment. Saving them time in configuring and setting up the service and providing a standard way to consume it for your team or company.

Pre-requisites:

  1. An AWS account.

  2. Familiarity with AWS Service Catalog and Amazon SageMaker.

Step 1: Create a Portfolio and SageMaker Product

Note: you can use the following template to set these up for you automatically.

In this step, we will create: - A Portfolio for Data Science - A SageMaker Product - Associate the Product with the Portfolio

Create a Portfolio

  • Navigate to the Service Catalog Console
  • Click Create portfolio
  • Enter a Portfolio name, “Data Science Portfolio”
  • Enter an Owner, “SCAdmin”
  • Click Create
  • Click the name of your new Portfolio to view it

Create a Product

  • Select the Products tab in the Portfolio view
  • Click Upload new product
  • Enter a Product name, “Amazon SageMaker Environment”
  • Enter an Owner, “SCAdmin”
  • Under Version details, select Use a CloudFormation template
    • Specifiy this link
    • Enter a Version title, “v1.0”
  • Optionally fill in any of the other fields
  • Click Review
  • On the “Review product details” screen, click Create product

Step 2: Grant access to the Portfolio

As the administrator Service Catalog, you can now grant IAM Users, Groups or Roles access to this Portfolio and the Products contained within it. They can then provision, update and delete SageMaker notebooks on their own while leveraging the standard deployment pattern we enabled them on.

  • Click the Portfolio name in the Local tab
  • Select the Groups, roles and users tab
  • Click the Add groups, roles, users button
  • Select one or more IAM entity to grant them access

Step 3: Optionally, test out the SageMaker Product

Now, you will either use your current IAM User/Role or switch to one of those you added in the previous step to actually provision the SageMaker Product and test it out!

  • If required, switch to the IAM User or Role you added to the Portfolio on the previous step
  • Navigate to the Service Catalog End-User Console
  • You should now see the Amazon SageMaker Environment Product in the list of available Products, click it
  • On the next screen, click Launch Product
  • Provide a name for the Provisioned Product, for example MyFirstSageMaker
  • Click Next
  • For Parameters:
    • Notebook Instance Name: provide a name for your Notebook Instace (optional)
    • Instance Type: select an option for the Instance Type for your Notebook Instance
  • Click NEXT
  • On the TagOptions page, leave the default values and click NEXT
  • On the Notifications page, leave the default values and click NEXT
  • On the Review page click LAUNCH, this will kickoff the deployment process
  • Wait for the Status to change to Succeeded, you can click the refresh icon if you like. This may take a few minutes as your SageMaker Notebook is being launched and configured
  • Once the status has changed, you will notice a Outputs section has appeard with information regarding the provisioned SageMaker Instance
    • You can access it directly using the SageMakerNoteBookURL link
    • Or, navigate to the SageMaker Console and find the newly provisioned Notebook Instance

Summary

In this lab we created a SageMaker Product that allows a data scientist or any other user in our account to spin up a SageMaker Notebook Instance. The end-user benefit from have a quick and easy way of spinning these up, updating them and terminating, while you as the administrator can be sure they’re using the right pattern for deploying and consuming the service.

Congratulations, you’ve successffully completed the lab!