1. Home
  2. Training Library
  3. Amazon Web Services
  4. Courses
  5. Foundations for Solutions Architect Associate on AWS

AWS Batch

Contents

keyboard_tab
Introduction
1
Overview
PREVIEW1m 23s
2
Terminology
PREVIEW12m 34s
Services at a Glance
play-arrow
Start course
Overview
DifficultyBeginner
Duration3h 8m
Students9423

Description

The ‘Foundations for Solutions Architect–Associate on AWS’ course is designed to walk you through the AWS compute, storage, and service offerings you need to be familiar with for the AWS Solutions Architect–Associate exam. This course provides you with snapshots of each service, and covering just what you need to know, gives you a good, high-level starting point for exam preparation. It includes coverage of:

Compute
Amazon Elastic Cloud Compute (EC2)
Amazon EC2 Container Service (ECS)
AWS Lambda
Amazon Lightsail
Amazon Batch

Storage and Database
Amazon Simple Storage Service (S3)
Amazon Elastic Block Store (EBS)
Amazon Relational Database Service (RDS)
Amazon Glacier
Amazon DynamoDB
Amazon Elasticache
Amazon Redshift
Amazon Elastic MapReduce (EMR)

Services
Amazon Simple Queue Service (SQS)
Amazon Simple Notification Service (SNS)
Amazon Simple Workflow Service (SWF)
Amazon Simple Email Service (SES)
Amazon CloudSearch
Amazon API Gateway
Amazon AppStream
Amazon WorkSpaces
Amazon Data Pipeline
Amazon Kinesis
Amazon OpsWorks
Amazon CloudFormation

Course Objectives

  • Review AWS services relevant to the Solutions Architect–Associate exam
  • Illustrate how each service can be used in an AWS based solution

Intended Audience

This course is for anyone preparing for the Solutions Architect–Associate for AWS certification exam. We assume you have some existing knowledge and familiarity with AWS, and are specifically looking to get ready to take the certification exam.

Pre-Requisites

If you are new to cloud computing I recommend you do our introduction to cloud computing courses first. These courses will give you a basic introduction to the Cloud and with Amazon Web Services. We have two courses that I recommend - What is Cloud Computing?  and  technical Fundamentals for AWS

The What is Cloud Computing? lecture is part of the Introduction to Cloud Computing learning path. I recommend doing this learning path if you want a good basic understanding of why you might consider using AWS Cloud Services. If you feel comfortable with Cloud, but would like to learn more about Amazon Web Services, then recommend completing the technical Fundamentals for AWS course to build your knowledge about Amazon Web Services and the value the services bring to customers. 

If you have any questions or concerns about where to start please email us at support@cloudacademy.com so we can help you with your personal learning path. 

Ok so on to our certification learning path! 

Solution Architect Associate for AWS Learning Path 

This Course Includes:

  • 7 video lectures
  • Snapshots of 24 key AWS services

What You'll Learn

Lecture Group What you'll learn
Compute Fundamentals Amazon Elastic Cloud Compute (EC2)
Amazon EC2 Container Service (ECS)
AWS Lambda
Storage Fundamentals

Amazon Simple Storage Service (S3)
Amazon Elastic Block Store (EBS)
Amazon Relational Database Service (RDS)
Amazon Glacier
Amazon DynamoDB
Amazon Elasticache
Amazon Redshift
Amazon Elastic MapReduce (EMR)

Services at a Glance

Amazon Simple Queue Service (SQS)
Amazon Simple Notification Service (SNS)
Amazon Simple Workflow Service (SWF)
Amazon Simple Email Service (SES)
Amazon CloudSearch
Amazon API Gateway
Amazon AppStream
Amazon WorkSpaces
Amazon Data Pipeline
Amazon Cognito
Amazon Kinesis
Amazon OpsWorks
Amazon CloudFormation

 

If you have thoughts or suggestions for this course, please contact Cloud Academy at support@cloudacademy.com.

Transcript

Hello and welcome to this lecture where I will provide a high level overview of AWS Batch.

As the name suggests, this service is used to manage and run batch computing workloads within AWS. Before we go any further I just want to quickly clarify what batch computing is.

Batch computing is primarily used in specialist use cases which require a vast amount of compute power across a cluster of compute resources to complete batch processing executing a series of jobs or tasks.

Outside of a cloud environment, it can be difficult to maintain and manage a batch computing system. It requires specific software and requires the ability to consume the resources required which can be costly. However, with AWS Batch many of these constraints, administration, activities and maintenance tasks, are removed. You can seamlessly create a cluster of compute resources which is highly scalable, taking advantage of the elasticity of AWS, coping with any level of batch processing whilst optimizing the distribution of the workloads.

All provisioning, monitoring, maintenance, and management of the clusters themselves is taken care of by AWS, meaning there is no software to install by you. There are effectively five components that make up the AWS Batch service which will help you to start using the service. These being:

  1. jobs. A job is classed as a unit of work that is to be run by AWS Batch. For example, this can be a Linux executable file, an application within an ECS Cluster or a shell script. The jobs themselves run on EC2 instances as a containerized application. Each job at any one time can be in a number of different states. For example, submitted, pending, running, failed, among others.
  2. Job definitions, these are specific parameters for the jobs themselves. They dictate how the job will run and with what configuration. Some example of these may be how many vCPUs to use for the container, which data volume should be used, which IAM Role should be used allowing access for AWS Batch to communicate with other AWS services, and which mount points to use.
  3. Job queues. Jobs that are scheduled are placed into a job queue until they are run. It is also possible to have multiple queues with different priorities if needed. One queue could be used for On-demand EC2 instances and another queue could be used for Spot Instances. Both On-demand and Spot instances are supported by AWS Batch, allowing to optimize cost and AWS Batch can even bid on your behalf for those Spot instances.
  4. Job scheduling. The job scheduling takes control of when a job should be run and from which computer environment. Typically it will operate on a first-in-first-out basis. It will look at the different job queues that you have configured, ensuring the higher priority queues are run first assuming all dependencies of that job have been met.
  5. Compute environments. These are the environments containing the compute resources to carry out the job. The environment can be defined as managed or unmanaged. A managed environment means that the service itself will handle provisioning, scaling and termination of your compute instances based on configuration premises that you would enter regarding instance type and purchase method such as On-demand or Spot instances. This environment is then created as an Amazon ECS Cluster. Unmanaged environments are provisioned, managed and maintained by you which gives greater customization, however, it requires greater administration and maintenance and also requires you to create the necessary Amazon ECS Cluster that the managed environment would have done on your behalf.

If you have a requirement to run multiple jobs in parallel using batch computing. For example, to analyze financial risk models, perform media transcoding, or engineering simulations then AWS Batch will be a perfect solution.

Before I finish this lecture I just want to quickly recap at a higher level the distinction between EC2 Container Service, AWS Elastic Beanstalk, AWS Lambda, and AWS Batch. As they all offer the ability to deploy code in applications for the use of compute resources. And so I think now is a good time to quickly reiterate the key distinction of these four services.

The EC2 Container Service, this service allows you to undock enabled applications packaged as containers across a cluster of EC2 instances without requiring you to manage a complex and administratively heavy cluster management system.

AWS Elastic Beanstalk. AWS Elastic Beanstalk is an AWS manage service that will take your uploaded web application code and automatically provision and deploy the appropriate and necessary resources within AWS to make the web application operational. These resources can include other AWS services and features such as EC2, auto-scaling, application health monitoring, and elastic load balancing.

AWS Lambda. AWS Lambda is a service that lets you run your own code in response to events in a scalable and highly available serverless environment.

AWS Batch, this service is used to managing and run batch computing workloads. Batch computing requires a vast amount of compute power across a cluster of compute resources by processing and executing a series of jobs or tasks.

That brings us to the end of this lecture. Coming up next I will introduce you to the Amazon Lightsail service.

About the Author

Students58048
Courses94
Learning paths36

Andrew is an AWS certified professional who is passionate about helping others learn how to use and gain benefit from AWS technologies. Andrew has worked for AWS and for AWS technology partners Ooyala and Adobe.  His favorite Amazon leadership principle is "Customer Obsession" as everything AWS starts with the customer. Passions around work are cycling and surfing, and having a laugh about the lessons learnt trying to launch two daughters and a few start ups.