Chapter 1 Your Journey to Production with AWS
1.1 The Result
My goal is to teach Data Scientists how to develop, deploy, and maintain
shiny applications on AWS. I do this in my course through an Application Library that contains a number of deployed
shiny applications that Data Scientists create and Organization’s use to make business decisions.
Here is an example of the Application Library that is hosted on AWS that we build in the Shiny Developer with AWS course.
The Application Library is:
- For Business Use - How your organization interacts with the
shinyapplications that you build and deploy
- For Personal Use - Great for showcasing a portfolio of data science projects to potential employers or as a consulting portfolio
1.2 The Goal
The goal of this book is to detail the “Last Mile” - A set of tasks required to deploy Full Stack
Shiny Applications into Production. Traditionally these tasks were performed by Developer Operations (DevOps). To meet accelerating demands of the business, these “Last Mile” tasks are ones that Data Scientists can do and must do to fast-track the organization’s ability to produce, deliver, and use data-driven applications with low-to-moderate usage.
1.3 The Plan
My job is to help you (the Data Scientists or Data Analyst) deploy
shiny applications into an enterprise environment - one where your peers, coworkers, managers, and executives have access to some or all of the applications that you and your data science team builds.
To this end, I detail application hosting and maintainence strategies and technologies in this book to accomplish an enterprise-grade Software Deployment Workflow. These strategies are designed for both individual data scientists and data science/dev-ops teams that want to quickly deploy applications.
You will learn how to set up hosting for the
Shiny Applications using:
- Part 1 - AWS - A popular web services platform that includes EC2 Elastic Compute Servers
- Part 2 - Docker & Docker Hub - A virtual environment technology designed to run software applications
- Part 3 - Git & GitHub - A software version control technology designed for managing and maintaining the code repositories for software applications
- Part 4 - Shiny Server - An open source web server for Shiny Applications
- Part 5 - Networking & Security - You gain exposure to NGINX, webserver that enables HTTPS encryption, and Docker Compose, a multi-container orchestration technology
- Part 6 - Custom Shiny Configurations - For deploying meta-apps (i.e. the Application Library that navigates your
1.4 Replication Requirements
To fully replicate the materials in the book, you will need to take the Shiny Developer with AWS Course to develop:
- The Full Stack Stock Analyzer application with
- The Application Library containing full-text search and app tagging capabilities.
I do not teach
shiny development in this book. Only application deployment.
1.4.1 Stock Analyzer
A full-stack web application that uses
MongoDB for storing and managing user data (roles, passwords, and settings). The application enables users to store information on their favorites stocks using the
tidyquant API. The application is built with
Shiny and hosted on EC2. Make this app.
1.4.2 Application Library
A meta-application that is stored at the base URL to help users navigate to applications. The Application Library includes functionality for Full Text Search and selecting applications by Tags, making it easy to find the apps your users need. Make this app.
1.4.3 Building and Deploying Enterprise-Grade Apps
Take the Shiny Developer with AWS Course to learn how to:
- Create the Stock Analyzer - A full stack data science application
- Create the Application Library - A meta application for navigating multiple shiny applications
Bootstrapfor Front End Web Development
- Integrate a
MongoDBNoSQL Backend Database used for storing user information
- Integrate Dynamic UI for Controlling User Interface
- Implementing Authentication
- Managing Application Users
- Build a REST API for Connecting Your Applications and Databases
- Use the MongoDB Atlas Cloud Service
1.5 Where this Book Picks Up
This book covers that last mile: Production. You will learn proven strategies for deploying enterprise
shiny applications. This guide follows the “Part 4 - Production with AWS” portion of my Shiny Developer with AWS Course.