Course Title: Implement cloud infrastructure with code

Part B: Course Detail

Teaching Period: Term1 2024

Course Code: INTE5052C

Course Title: Implement cloud infrastructure with code

Important Information:

Please note that this course may have compulsory in-person attendance requirements for some teaching activities. 

To participate in any RMIT course in-person activities or assessment, you will need to comply with RMIT vaccination requirements which are applicable during the duration of the course. This RMIT requirement includes being vaccinated against COVID-19 or holding a valid medical exemption. 

Please read this RMIT Enrolment Procedure as it has important information regarding COVID vaccination and your study at RMIT: https://policies.rmit.edu.au/document/view.php?id=209

Please read the Student website for additional requirements of in-person attendance: https://www.rmit.edu.au/covid/coming-to-campus 

 

Please check your Canvas course shell closer to when the course starts to see if this course requires mandatory in-person attendance. The delivery method of the course might have to change quickly in response to changes in the local state/national directive regarding in-person course attendance. 

School: 520T Future Technologies

Campus: City Campus

Program: C5402 - Diploma of Information Technology

Course Contact: Tanya Unterberger

Course Contact Phone: +61399254448

Course Contact Email: tanya.unterberger@rmit.edu.au


Name and Contact Details of All Other Relevant Staff

Nominal Hours: 80

Regardless of the mode of delivery, represent a guide to the relative teaching time and student effort required to successfully achieve a particular competency/module. This may include not only scheduled classes or workplace visits but also the amount of effort required to undertake, evaluate and complete all assessment requirements, including any non-classroom activities.

Pre-requisites and Co-requisites

NIL

Course Description

In this course you will gain the the skills and knowledge required to create and implement cloud infrastructure as code using cloud platform templates. This includes creating templates, then using the templates to create and update cloud infrastructure.


National Codes, Titles, Elements and Performance Criteria

National Element Code & Title:

ICTCLD505 Implement cloud infrastructure with code

Element:

1. Prepare to update cloud infrastructure as code

Performance Criteria:

1.1 Identify and review benefits of infrastructure as code according to business needs 1.2 Determine ways automation leverages cloud platforms according to business needs 1.3 Determine and assess potential issues and errors when implementing infrastructure as code 1.4 Evaluate and select infrastructure as code service compatible with selected cloud platform and business requirements

Element:

2. Deploy cloud infrastructure as code templates

Performance Criteria:

2.1 Learn template syntax of selected cloud infrastructure as code service 2.2 Review pre-defined templates and determine what resources they create and any dependencies 2.3 Utilise the cloud infrastructure as code service tools to deploy, update and delete resources using predefined templates as required 2.4 Confirm deployments of cloud resources and configure resources using cloud platform console or command line tools 2.5 Remove deployed resources using cloud infrastructure as code tools and delete templates as required 2.6 Test and troubleshoot template errors as required

Element:

3. Develop and update infrastructure as code templates

Performance Criteria:

3.1 Learn template syntax of selected cloud infrastructure as code service 3.2 Create and deploy template to provision a set of related cloud resources according to business needs 3.3 Update and redeploy template to modify previously deployed resources and add new resources 3.4 Confirm deployment of cloud resources and configure resources using the cloud platform console or command line tools 3.5 Parameterise and deploy template to reuse configuration with a modified resource configuration 3.6 Remove deployed resources using cloud infrastructure as code tools and delete templates as required 3.7 Test and troubleshoot template errors

Element:

4. Finalise cloud infrastructure as code

Performance Criteria:

4.1 Create user documentation including cloud infrastructure as code templates 4.2 Obtain final sign off from required personnel


Learning Outcomes


On successful completion of this course you will have developed and applied the skills and knowledge required to demonstrate competency in the above elements. 


Details of Learning Activities

This may include self-paced and collaborative classroom activities such as:  

  • Class exercises
  • Challenges
  • Problem solving
  • Project work
  • Quizzes  

We expect you to participate and contribute in all scheduled learning activities as each week builds on the next. 


Teaching Schedule

WeekDateTopic Learning activitiesAssessment Remarks
Week 1 12-18 February Introduction to Infrastructure as Code - IaC

Introduction to the course

How to use AWS Canvas

How to complete lab exercises

Pathway to certification

Understanding IaC concepts and options,  AWS stacks, CLI, SDK, CloudFormation

Downloading required software – PUTTY, Visual Studio Code or similar

Assessment 1 overview
Week 2 19-25 February Introduction to JSON 

Understanding JSON

JSON syntax

JSON datatypes

JSON arrays

JSON objects

JSON validation 

 
Week 3 26 February - 3 March Introduction to YAML

Understanding YAML

YAML syntax

YAML datatypes

YAML arrays

YAML objects

YAML validation 

Converting YAML to JSON

 
Week 4 4-10 March AWS Identity and Access Management 

What is IAM?

Understanding how IAM works

Roles and permissions

Best practices

Administering IAM

IAM and CloudFormation

 
Week 5 11-17 March Introduction to Computing in AWS - EC2

Amazon EC2 Virtualizaion

Security Groups and Profiles

EC2 Autoscaling

Securing EC2 instances

Creating EC2 instances

 
Week 6 18-24 March Introduction to Networking and Storage

Amazon VPC Components

VPC connectivity options

VPC templates

S3 buckets

Elastic Block Store

Templates for S3

 
Week 7 25-31 March Introduction to CloudFormation

Benefits of infrastructure as code according to the business’ needs

How automation leverages cloud platforms according to business’ needs

Techniques, methods and industry standard metrics used

Potential issues and errors when implementing infrastructure as code

Cloud automation tools

Provisioning infrastructure layers

Securing infrastructure deployment, storing sensitive data

 
29 March - 7 April Mid-semester break  
Week 8 8-14 April Template anatomy 

Attributes of an AWS CloudFormation template

Template parameters

How software development cycle relates to AWS CloudFormation template development

Basic steps for building and deploying a CloudFormation project

 
Week 9 15-21 April Automation with CloudFormation Lab - Automation with CloudFormation

Knowledge Quiz 1 is due

In class activities to assist with assessment preparation

Week 10 22-28 April

Demonstrations

User testing

Testing workshop and demonstrations

Assessment 1 submission

Mandatory class attendance

Testing workshop and demonstrations

Week 11 29 April - 5 May Configuring the AWS CLI

AWS CLI basics

Configuring AWS CLI

AWS CLI and CloudFormation

Assessment 2 overview

Solution technical requirements

Week 12 6-12 May Troubleshoot CloudFormation Lab - Troubleshoot CloudFormation  
Week 13 13-19 May Version control, CI/CD pipes

Git, CodeCommit, CodePipeline

Lab - Automating Infrastructure Deployment

 
Week 14 20-26 May Preparation for Assessment 2 Lab - Automating Infrastructure Deployment (cont.)

Knowledge Quiz2 is due

In class activities to assist with assessment preparation

Week 15 27 May - 2 June In class - Project Demonstrations Testing workshop and demonstrations

Assessment 2 submission

Mandatory class attendance

Testing workshop and project demonstrations

Week 16-17 3-9 June  Re-submit if required  Re-submit if required

 


Learning Resources

Prescribed Texts


References


Other Resources

You will need laptop with charger for each class

  • Windows laptops we do recommend an i5 or better machine with a minimum 4 GB of RAM.
  • Macs you will need 8 GB of RAM to run a virtual machine

You may also refer to various media, websites, textbooks and e-books as indicated in Canvas such as

  • PUTTY for Windows users
  • An IDE for JSON or YAML files, for example, Visual Studio Code


Overview of Assessment

Assessment for this course is ongoing throughout the semester. Your knowledge and understanding of course content is assessed through participation in class exercises, oral/written presentations and through the application of learned skills and insights. Full assessment briefs will be provided and can be found on CANVAS.


Assessment Tasks

Summary and Purpose of Assessment Task 1

This is the first of two (2) assessment tasks that you must satisfactorily complete in order to be deemed competent for this unit.

The purpose of this practical assessment is to assess your ability to deploy and edit cloud infrastructure as code templates.

Summary and Purpose of Assessment Task 2

This is the second of two (2) assessment tasks that you must satisfactorily complete in order to be deemed competent for this unit.

The purpose of this practical assessment is to assess your ability to create and implement cloud infrastructure as code using cloud platform templates.

Feedback

Feedback will be provided throughout the semester in class and/or online discussions.  You are encouraged to ask and answer questions during class time and online sessions so that you can obtain feedback on your understanding of the concepts and issues being discussed. Finally, you can email or arrange an appointment with your teacher to gain more feedback on your progress.

You should take note of all feedback received and use this information to improve your learning outcomes and final performance in the course.  


Assessment Matrix

Element

Performance criteria

Assessment

Task 1: Practical

 

 Assessment

Task 2: Practical

1. Prepare to update cloud infrastructure as code

1.1 Identify and review benefits of infrastructure as code according to business needs

 

X

 

1.2 Determine ways automation leverages cloud platforms according to business needs

 

X

 

1.3 Determine and assess potential issues and errors when implementing infrastructure as code

 

X

 

1.4 Evaluate and select infrastructure as code service compatible with selected cloud platform and business requirements

 

X

 

2. Deploy cloud infrastructure as code templates

2.1 Learn template syntax of selected cloud infrastructure as code service

 

X

X

2.2 Review pre-defined templates and determine what resources they create and any dependencies

 

X

 

2.3 Utilise the cloud infrastructure as code service tools to deploy, update and delete resources using predefined templates as required

 

X

 

2.4 Confirm deployments of cloud resources and configure resources using cloud platform console or command line tools

 

X

X

2.5 Remove deployed resources using cloud infrastructure as code tools and delete templates as required

 

X

 

2.6 Test and troubleshoot template errors as required

 

 

 

 

X

X

3. Develop and update infrastructure as code templates

3.1 Learn template syntax of selected cloud infrastructure as code service

 

X

X

3.2 Create and deploy template to provision a set of related cloud resources according to business needs

 

 

X

3.3 Update and redeploy template to modify previously deployed resources and add new resources

 

 

X

3.4 Confirm deployment of cloud resources and configure resources using the cloud platform console or command line tools

 

 

X

3.5 Parameterise and deploy template to reuse configuration with a modified resource configuration

 

 

X

3.6 Remove deployed resources using cloud infrastructure as code tools and delete templates as required

 

X

 

3.7 Test and troubleshoot template errors

 

 

X

4. Finalise cloud infrastructure as code

 

4.1 Create user documentation including cloud infrastructure as code templates

 

 

X

4.2 Obtain final sign off from required personnel

 

 

X

Other Information

GENERAL SUBMISSION INFORMATION

Ensure that you submit assessments on or before the due date. 
Always retain a copy of your assessment tasks.

For submissions you have to read, understand and agree to the content and expectations of the Assessment declaration.

Late Submission Procedures

  • You are required to submit assessment items and/or ensure performance-based assessment is completed by the due dates.
    Submit your assessment by the due date as any further submission will close unless extension or special consideration is granted
  • Apply for an extension of ONE WEEK
  • You will be given ONE more opportunity to RESUBMIT the ASSESSMENT TASK
    • This will be open in week 16
    • No further re-submission will be available
    • A satisfactory result for all assessments will result in a CA - Competency Achieved for this course.
    • An unsatisfactory result for any assessment will result in a NYC - Not Yet Competent for this course

Course Overview: Access Course Overview