1. Created and maintained by: Bikash Debnath
  2. Deploy ML
    1. Docker
      1. Server (Daemon)
      2. CLI (Client)
        1. 1. Check whether docker is installed 2. command docker run hello-world goes to Daemon(server) and pulls the hello-world image 3. From that image a container is then created 4. Docker file is used to create a Docker image 5. Let's see what's in Docker File
          1. Docker File
          2. Docker File Detals RUN COPY EXPOSE Now we need to convert it into a Docker Image which is an executable package We can use Docker volume for persistent data Docker Compose can be used to handle multiple containers
          3. Container Once container is created you can run commands inside the container for eg. Docker Exec -it containerid bash docker container ps -a command will give all container running or stopped
          4. Where to store these images? So that it can be shared with others and outside of local machines (Amazon S3) repository is an option. However a better option is Image Registry
      3. Image Registry
        1. Amazon Elastic Container Registry (ECR) (Benefit of managing security using Amazon IAM, plus durability and scalability.
  3. Math behind ML Concepts
  4. Statistics Required for ML
  5. Host application (Amazon Elastic Compute Cloud EC2)
  6. Amazon Elastic Beanstalk makes provisioning and configuration easier to deploy apps to Amazon EC2. Beanstalk service is used for deploying and scaling web applications and services. It automatically helps with auto scaling, capacity provisioning and load balancing
  7. AWS Cloud9 takes cares of your development environement, Python, Java, PHP etc are all installed
  8. Docker Cloud9 & CLI
    1. Docker Help (Management commands & Commands) Important Docker Commands 1. docker --help 2. docker info 3. docker images (it truncates the image name) 4. docker images --help 5. docker images --no-trunc 6. docker build --tag scare_me . (. means current directory) (How docker build knew which Dockerfile to run) 7. docker run -ti scare_me bin/sh (This command (-ti) runs a container and creates a terminal within the container) 8. exit (exits the container) 9. Docker ps to check running containers 10. Docker Exec command can be used to run a command within the container
  9. Docker with ECR
    1. A. Authorize cloud9 docker CLI with AWS CLI B. Before I can push an image to AWS, I need to create an ECR repository
    2. Container Management A. Amazon ECS is used to run and manage Containers B. How can you run and manage containers without worrying about set up and configurations C. AWS Fargate can help (it is a serverless compute engine and hosting option)
  10. Building Applications on AWS A. API driven B. Amazon API gateway C. Serverless API hosting D. AWS Lambda for serverless compute