building a learning lab solution using docker
TRANSCRIPT
![Page 1: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/1.jpg)
Building a Learning Lab Solution Using Docker
Presented by Aater Suleman
August 6th, 2015
Docker Austin Meetup
![Page 2: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/2.jpg)
Today’s PresenterAater Suleman, PhD Co-Founder & CEO at Flux7
Faculty, University of Texas at Austin
Flux7: Cloud and DevOps SolutionsCloud and Devops for web teams
Enterprise DevOps management
AWSCompetencies
Partners
![Page 3: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/3.jpg)
About Us
Headquarters in Austin, TX
30+ team members
Entire team is certified/accredited
Engineer run company with strong roots in system
architecture and design
Focused solely on AWS, IT automation, and DevOps
![Page 4: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/4.jpg)
Key Differentiators
R&D FocusRapid
EngagementsCustomer Focus
![Page 5: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/5.jpg)
Voted “Best AWS Consultant Partner”
“They are easy to work with, extremely agile and flexible, quick to respond and go over and beyond the required level of effort to make sure
every single activity is successful”Honorable mention: Cloud Technology PartnersThird shortlisted contestant: 2nd Watch
![Page 6: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/6.jpg)
Strategic Partnerships
Docker foundation partner
Flux7 is a recognized leader in Docker implementations
Only partner to present an enterprise solution (Classified Ventures) at DockerCon 2014, the inaugural annual Docker conference.
A video of the presentation can be seen here http://bit.ly/1A4bzVQ
AWS Advanced Consulting Partner
Close collaboration with AWS
Our model of helping enterprises to maintain their own IT, instead of using managed services, mirrors the goals of AWS leaders
![Page 7: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/7.jpg)
Goal
To Provide Hands On Corporate Training to 600 students on
software EDA tools at a top 5 EDA ISV
![Page 8: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/8.jpg)
![Page 9: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/9.jpg)
Technical Requirements
Secure environment
One workstation/student
Identical workstations
All workstations have training materials
Instructors have the ability to share new files during training
![Page 10: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/10.jpg)
Challenges
600+ workstations with:
24 GB memory
8 vCPUs
Prerequisite software (RHEL, ~100 packages)
Course material (3-5 GB)
![Page 11: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/11.jpg)
Options
Training laptops
Purchase 600 laptops
Image the laptops using PXE boot
Store and maintain the laptops for next session (6 months)
Virtual machines
Distribute VM images (30+ GB files)
Upgrade employee Laptops that didn’t meet the spec
![Page 12: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/12.jpg)
Solution (in a nutshell)
Virtual Workstations
Spin up 100s of instances in AWS
Prepare a Docker image with all the software and materials
Setup private Docker registry
Download and run docker containers on all the instances
![Page 13: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/13.jpg)
Solution Details
AWS architecture
Server detailsDocker
container setup
Automation/Orchestration
Access Dashboard
![Page 14: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/14.jpg)
Admin Subnet
Instructor Subnet
Student subnet
NATAPILicenseservers
HQ
HTTPs trafficIP range: US-west-2https://ip-ranges.amazonaws.com/ip-ranges.json
Internet Gateway
Virtual Private Gateway
S3
![Page 15: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/15.jpg)
Server
AWS m3.2xlarge instance
Amazon Linux running Docker daemon
cloud-init (user data) used to:
○ Set License environment variables○ Docker pull○ Docker run
![Page 16: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/16.jpg)
Docker Container Setup
RHEL 6.5
Dockerfile to yum install the packages
NX 3.5 installed for remote desktop access
![Page 17: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/17.jpg)
Automation
Create course○ Provide course name for tagging
Create instructor workstation○ Run a single EC2 instance for instructor to prepare the image
Save instructor workstation ○ Snapshot the Docker container the instructor is working on
![Page 18: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/18.jpg)
Automation (cont’d)
Create class workstations ○ Create containers for the entire class given a list of users
Start/Stop class workstations ○ Start/stop containers for the entire class
Start/Stop student workstation ○ Start/stop container of just one user in the class
![Page 19: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/19.jpg)
Access
NX files generated for each container
Users access the environment by downloading and running the NX file on their laptops
No need to run VMs, buy larger laptops, or pollute laptop with software not needed in the future
![Page 20: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/20.jpg)
Dashboard
Drupal-based Dashboard with Active Directory Integration
Role Class Instructor Student
AdminCreate class
Create/terminate class instances Assign instructors
Instructor Start/stop class instancesCreate instructor instance
Save instructor instanceStart/stop student instances
StudentStart/stop student instance
Download NX file to access workstation
![Page 21: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/21.jpg)
Tear Down
Terminate Class instances for all classes
Delete the Cloudformation Stack
![Page 22: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/22.jpg)
Revamp (6 months)
Create CloudFormation stack
Create IPSec tunnel
Restart Drupal server
![Page 23: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/23.jpg)
![Page 24: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/24.jpg)
IT Guys
Benefits
Saved the laptop upgrades
No effort invested in preparing machines
No maintenance in supporting variety of laptops
No requests from instructors and students to check setup
![Page 25: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/25.jpg)
Instructors
Benefits
Agility - could change the material till the last minute
Could improve it as many times as needed
Did not need to wait for IT to install software and test it
Did not have to rely on IT to create working images
Did not need support to start/stop workstations
![Page 26: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/26.jpg)
Benefits
Allowed to work on labs from office or home
Homogeneous, pre-tested environments
Students
Work on regular laptops
Could start/stop instances as desired
![Page 27: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/27.jpg)
Benefits
Significant cost savings
Autonomy
Automated workflow
Strong feedback on the solution from the Customer's
teams using it.
Training Department
![Page 28: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/28.jpg)
Challenge
FileSync from instructors to students
Student instances are in private subnet
All students try to download at nearly the same time
NAT becomes a choke point
Interim Solution:
Multiple NAT servers (m3.4xlarge to get 10G internet)
Now: S3 Endpoints in VPC
![Page 29: Building a Learning Lab Solution using Docker](https://reader033.vdocuments.mx/reader033/viewer/2022042702/55d36864bb61eb58228b45fa/html5/thumbnails/29.jpg)
Thank You!Twitter: @Flux7Labs
Website: www.flux7.com
Icons Src: iconfinder.com