0% found this document useful (0 votes)
14 views15 pages

Cloud+Developer+Nanodegree+Program+Syllabus

The Cloud Developer Nanodegree program equips learners with skills in cloud development and deployment using AWS, focusing on building cloud-native applications and migrating legacy systems. The program includes hands-on projects and covers key topics such as microservices, Kubernetes, and serverless technologies. Graduates will be able to develop secure cloud applications and are expected to have intermediate knowledge of JavaScript and familiarity with Git and Linux command line basics.

Uploaded by

hussein alamutu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views15 pages

Cloud+Developer+Nanodegree+Program+Syllabus

The Cloud Developer Nanodegree program equips learners with skills in cloud development and deployment using AWS, focusing on building cloud-native applications and migrating legacy systems. The program includes hands-on projects and covers key topics such as microservices, Kubernetes, and serverless technologies. Graduates will be able to develop secure cloud applications and are expected to have intermediate knowledge of JavaScript and familiarity with Git and Linux command line basics.

Uploaded by

hussein alamutu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

INDIVIDUAL LEARNERS

SCHOOL OF CLOUD COMPUTING

Cloud Developer
Nanodegree Program Syllabus
Overview
The Cloud Developer Nanodegree program is designed for learners to understand the fundamentals of cloud development
and deployment with AWS. Then, using these newfound skills, build different apps leveraging microservices, Kubernetes
clusters, and serverless application technology. Cloud developers design and develop secure cloud applications, services, and
products. This can include everything from backend, frontend, web application, fullstack, and cloud application deployment.
Learners will develop cloud-native applications or migrate legacy applications to cloud. This role is a great fit for traditional
software engineers and developers who want to build applications on cloud technologies.

Learning Objectives

A graduate of this program will be able to:

• Build a static website using AWS.

• Develop and deploy cloud-native fullstack applications on AWS.

• Refactor monolithic apps to microservices and scale using Kubernetes.

• Develop and deploy a serverless application using AWS Lambda.

Cloud Developer 2
Program information

Estimated Time Skill Level

4 months at 10hrs/week* Intermediate

Prerequisites

A well-prepared learner should have intermediate knowledge of JavaScript and familiarity with object-oriented programming.
Learners should also be familiar with the use of Git and Github and know the Linux command line basics.

Required Hardware/Software

Learners need access to the internet and a 64-bit computer.

*The length of this program is an estimation of total hours the average student may take to complete all required
coursework, including lecture and project time. If you spend about 5-10 hours per week working through the program, you
should finish within the time provided. Actual hours may vary.

Cloud Developer 3
Course 1

Cloud Foundations
The cloud has become a key enabler for innovation with beneficial features like high availability, unlimited capacity, and
on-demand scalability and elasticity. Learn the fundamentals of cloud computing while being introduced to compute power,
security, storage, networking, messaging, and management services in the cloud. While learning the fundamentals, students
will explore tools and services offered by Amazon Web Services (AWS) through interactive hands-on exercises. By the end of
the course, learners will have deployed their first website to AWS.

Course Project

Deploy a Static Website on AWS


The cloud is perfect for hosting static websites that only include HTML, CSS, and JavaScript files that require
no server-side processing. Deploy a static website to AWS. Create a S3 bucket, configure the bucket for
website hosting, and secure it using IAM policies. Upload the website files to the bucket and speed up
content delivery using AWS’s content distribution network service, CloudFront. Access the website in a
browser using the unique S3 endpoint.

• Learn the basics of cloud computing including cloud deployment models,


Lesson 1
benefits, and popular options.
Cloud Overview • Explore services provided by Amazon Web Services (AWS).

Cloud Developer 4
• Learn why we need servers, compute power, and security.
Lesson 2
• Explore AWS compute services like Elastic Cloud Compute (EC2), Virtual Private
Cloud (VPC), Lambda for serverless framework, and Elastic Beanstalk in action.
Foundational &
Compute Services • Launch a secure EC2 instance, create and execute a Lambda, and deploy an
application to Elastic Beanstalk.

• Learn why we need storage and content delivery in the cloud.

Lesson 3 • Learn storage services like S3, DynamoDB, Relational Database Service (RDS),
and CloudFront.
Storage & Content Delivery
• Create a DynamoDB table, launch a MySQL database instance, and create a
CloudFront distribution.

• Learn the importance of security in the cloud.


Lesson 4
• See Identity & Access Management (IAM) in action.
Security
• Secure applications using IAM users, groups, and policies.

• Learn the basics of networking and elasticity in the cloud.


Lesson 5
• Examine services like Route 53, EC2 Auto Scaling, and Elastic Load Balancing.
Networking & Elasticity
• Add an auto scaling policy to one’s EC2 instance.

• Learn the basics of messaging and containers in the cloud.


Lesson 6 • Explore services like Simple Notification Service (SNS), Simple Queue Service
(SQS), and Elastic Container Service (ECS).
Messaging & Containers
• Create cloud notifications using SNS.

• Learn why we need logging, auditing, and resource management in the cloud.
Lesson 7 • Understand services like CloudWatch, CloudTrail, CloudFormation, and the
AWS Command Line Interface (CLI).
AWS Management
• Explore the CLI.

Cloud Developer 5
Course 2

Full Stack Apps on AWS


Explore the foundational concepts of designing and deploying scalable, extendable, and maintainable full stack applications
using modern cloud architecture. All concepts are covered at a fundamental level and motivated with practical, real-world
programming exercises. Through the course, learners will have built and deployed a multi-service cloud stack. By the end of
this course, learners will understand key design decisions and useful tools to maintain their application.

Course Project

Udagram: Your Own Instagram on AWS


Develop a cloud-based application for uploading, listing, and filtering images. Use Node.js/Express, a
popular Javascript framework for networked application development. Implement a REST API to issue
commands using HTTP, store data in Amazon Web Services Relational Data Service (RDS) and S3, extend the
codebase with secure authentication signon features, and deploy to Amazon Web Services Elastic Beanstalk.
These are the hard skills one will need in any cloud developer role.

Lesson 1 • Learn key terminology and building blocks of a cloud system.

Cloud Basics • Understand design paradigm of modern cloud applications.

• Implement a process to write quality code, working alone or on teams.


Lesson 2
• Learn unit and integration testing, a better way to Git, and how to use
Set Up Best Practices packaged dependencies.

Cloud Developer 6
• Set up and start using a cloud-based relational database for storing user data
Lesson 3
using AWS RDS.
Storing Data in the Cloud • Implement a filestore for media like images using AWS S3.

• Consume cloud data services (database and filestore) within the server
Lesson 4
application.
Deploying to the Cloud • Deploy the application using AWS Elastic Beanstalk.

Lesson 5
• Learn common mistakes and modern techniques for dealing with security and
User Authentication new set of cloud authentication challenges.
& Security

• Cloud systems need to be maintained as dependencies are updated and there


Lesson 6
is more demand for one’s service.
Scaling & Fixing • Explore tools and process to minimize growing pains.

Course 3

Monolith to Microservices at Scale


Microservices are becoming the default mode of developing and deploying applications at scale. The microservices
architecture makes it easier to scale an application to a large system and is a great enabler for continuous integration and
delivery. Microservices architecture allows independent scaling, independent releases and deployments, and independent
development so that each service has its own codebase. In this course we will cover the best practices on how to develop and
deploy microservices. Students will learn topics such as different microservice architecture patterns, independent scaling,
resiliency, service replication, service registration and discovery. By the end of this course, learners should be able to design
and build an application using a microservice architecture.

Cloud Developer 7
Course Project

Refactor Monolith to Microservices & Deploy


In this project, learners will take an existing application named Udagram and refactor it into a microservice
architecture with lean services. They will build out a CI/CD process that automatically builds and deploys
Docker images to a Kubernetes cluster. The Kubernetes cluster will be configured to help solve common
challenges related to scale and security.

Lesson 1
• Learn different microservices architecture designs how to divide an application
Microservices Design into microservices.
Principles & Best Practices

Lesson 2 • Build and run your first container image using Docker.

Containers Using Docker • Debug container and store these images using container registry.

Lesson 3
• Understand CI/CD benefits and use Travis to build CI/CD pipeline.
Automating the Application • Integrate Github and CI/CD and automate testing with CI Learn.
Development Lifecycle

Lesson 4 • Learn the fundamentals of Kubernetes.

• Configure and launch an auto-scaling, self-healing Kubernetes cluster.


Orchestration with
Kubernetes • Deploy your microservices using Kubernetes cluster.

Cloud Developer 8
• Implement service registration and discovery.
Lesson 5
• Configure scaling and self-healing.

Best Practices & Design • Secure microservices.


Patterns for Kubernetes in
• Implement monitoring and logging for microservices deployment.
Production
• Improve resilience and availability into cloud applications.

Course 4

Develop & Deploy a Serverless App


Serverless technologies have become very popular recently because they can increase the speed of development and
drastically reduce the cost of running a cloud infrastructure. This course combines the theory of using serverless technologies
with the practice of developing a complex serverless application. Students will learn advanced serverless features such as
implementing WebSockets and stream processing and learn about serverless best practices throughout the course.

Course Project

Serverless Applications
Develop an Instagram-like serverless service for uploading, listing, and filtering images. Build serverless
REST APIs using API Gateway and AWS Lambda, a stack of serverless technologies on AWS. Store data in
AWS DynamoDB and S3, secure the application with authentication, and deploy it to Amazon Web Services
using Serverless framework.

Cloud Developer 9
Course Project

Capstone Project
The purpose of the cloud development capstone project is to give learners a chance to combine what
they’ve learned throughout the program. This project will be an important part of the portfolio that will
help learners achieve their cloud development-related career goals. Each project is unique to the learner.
Leaners will build an application on AWS based on predefined criteria. They will define the scope of the
project, come up feature list, and decide which AWS services to use to meet availability and performance
criteria.

Lesson 1 • Learn the main components of a serverless application.

Introduction to Serverless • Implement simple application using Function as a Service (FaaS).

Lesson 2 • Build a simple REST API using serverless technologies such as API Gateway,
AWS Lambda, and AWS DynamoDB and use it in React based web application.
REST APIs for Serverless

Lesson 3 • Build, package, and deploy serverless applications using Serverless framework.

Serverless Framework • Implement additional features using advanced DynamoDB features.

Lesson 4 • Improve our application using FaaS ability to execute custom logic when
particular events occur in the system.
Events Processing
with Serverless • Add WebSockets support and full-text search to the app.

Cloud Developer 10
• Implement authentication in a serverless application using popular serverless
Lesson 5 service Auth0 in the app API and client application.

Implementing Authentication • Learn to store secrets for our serverless application using AWS Secrets
Manager.

Lesson 6 • Learn how to test serverless applications, minimize risk of vendor lock-in,
create multiple stages of our API, and improve security and observability of our
Serverless Best Practices application.

Cloud Developer 11
Meet your instructors.

Kesha Williams
Software Engineering Manager at Chick-fil-A

Kesha has over 20 years experience in software development and is a software engineering
manager at Chick-fil-A, routinely leading innovation teams in proving out the use of cloud services
to solve complex business problems. She was recently named an Alexa Champion by Amazon.

Gabriel Ruttner
CTO at Ursa

Gabe is the CTO at Ursa and tech advisor for start-ups. Gabe has expertise in building cloud-based
machine learning and natural language processing services at early-stage tech companies. He holds
technical degrees from Cornell University and Stony Brook University.

Justin Lee
Engineer

Justin is an engineer specializing in designing modern data platforms and scalable systems. He
has been a consultant for Fortune 500 companies and has traveled the world to work with his
clients. He provides mentorship through Codementor and has a BS in computer science from
UCLA.

Ivan Mushketyk
Instructor

Ivan formerly worked at Amazon Web Services (AWS), where he built features for cloud services
such as CloudWatch, and his professional experience includes cloud, networking and blockchain.
Ivan is also a prolific open source contributor, blogger, and online instructor.

Cloud Developer 12
Udacity’s learning
experience

Hands-on Projects Quizzes


Open-ended, experiential projects are designed Auto-graded quizzes strengthen comprehension.
to reflect actual workplace challenges. They aren’t Learners can return to lessons at any time during
just multiple choice questions or step-by-step the course to refresh concepts.
guides, but instead require critical thinking.

Knowledge Custom Study Plans


Find answers to your questions with Knowledge, Create a personalized study plan that fits your
our proprietary wiki. Search questions asked by individual needs. Utilize this plan to keep track of
other students, connect with technical mentors, movement toward your overall goal.
and discover how to solve the challenges that
you encounter.

Workspaces Progress Tracker


See your code in action. Check the output and Take advantage of milestone reminders to stay
quality of your code by running it on interactive on schedule and complete your program.
workspaces that are integrated into the platform.

Cloud Developer 13
Our proven approach for building
job-ready digital skills.
Experienced Project Reviewers

Verify skills mastery.


• Personalized project feedback and critique includes line-by-line code review from
skilled practitioners with an average turnaround time of 1.1 hours.

• Project review cycle creates a feedback loop with multiple opportunities for
improvement—until the concept is mastered.

• Project reviewers leverage industry best practices and provide pro tips.

Technical Mentor Support

24/7 support unblocks learning.


• Learning accelerates as skilled mentors identify areas of achievement and potential
for growth.

• Unlimited access to mentors means help arrives when it’s needed most.

• 2 hr or less average question response time assures that skills development stays on track.

Personal Career Services

Empower job-readiness.
• Access to a Github portfolio review that can give you an edge by highlighting your
strengths, and demonstrating your value to employers.*

• Get help optimizing your LinkedIn and establishing your personal brand so your profile
ranks higher in searches by recruiters and hiring managers.

Mentor Network

Highly vetted for effectiveness.


• Mentors must complete a 5-step hiring process to join Udacity’s selective network.

• After passing an objective and situational assessment, mentors must demonstrate


communication and behavioral fit for a mentorship role.

• Mentors work across more than 30 different industries and often complete a Nanodegree
program themselves.

*Applies to select Nanodegree programs only.

Cloud Developer 14
Learn more at
www.udacity.com/online-learning-for-individuals →

12.22.22 | V1.0

You might also like