Design, develop, deploy, manage and secure applications and solutions on public, private or hybrid cloud platforms. This course will introduce you to 12-factor apps and microservices, concepts that emerged to help organizations work better and faster in a cloud-native manner. You’ll then learn about serverless computing—how it works, what value it brings, and what are specific serverless technologies. You’ll get hands-on with IBM Cloud Functions, a serverless platform on IBM Cloud that lets you develop serverless apps with ease. Finally, you will learn to build and deploy applications using container images on the code engine.
Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.
The emergence of cloud computing has brought about a lot of changes to modern software development. Rather than large annual releases on physical mediums like CDs, modern software is increasingly released on the cloud, provided cost reduction, decreased time to market, and increased agility. These changes allow organizations to keep pace with their competitors and bring new innovations to market in ways that previously would have been unthinkable.
Rather than building large applications, known as monoliths, that perform all the functionality, microservices break down larger applications into smaller pieces that are independently maintainable and scalable, providing a host of benefits. This architecture is used at the largest software organizations in the world, because it provides cost benefits, team autonomy, and so many other advantages.
By the end of this course, you will:
- Have a solid foundation for microservices and serverless
- Deploy microservices on the cloud
- Integrate microservices with serverless compute
The course contains several hands-on labs which allow you to apply the content you learn.
The prerequisites for this course include basic computer and cloud literacy as well as an understanding of core cloud concepts. In addition, understanding of the command line and how to use shell commands will greatly benefit you during this course.
This course is part of the following programs:
- Full Stack Application Development MicroBachelors
- DevOps and Software Engineering Professional Certificate
- Full Stack Developer Professional Certificate.
What you'll learn
- Identify the twelve factors and describe how they map to the software delivery lifecycle
- Create and test Swagger documentation for REST API endpoints
- Create and test a serverless function
- Build and deploy applications using container images on the code engine
Syllabus
Welcome
Reading: Welcome to Microservices and Serverless
Reading: General Information
Reading: Learning Objectives and Syllabus
Reading: Grading Scheme
Video: Course Introduction
Module 1: Introduction to MicroServices
Reading: Module Introduction and Learning Objectives
Video: Twelve-Factor App Methodology
Video: What are Microservices?
Video: Comparison of Monolith vs SOA vs Microservices
Video: Microservices Patterns
Reading: Microservices Anti-Patterns
Hands-on Activity: Modernize JPetStore with Microservices
Reading: Summary and Highlights
Practice Quiz: Introduction to Microservices
Graded Quiz: Introduction to Microservices
Reading: Module 1 Glossary - Introduction to Microservices
Module 2: Web API Essentials: REST API and GraphQL
Reading: Module Introduction and Learning Objectives
Video: What is REST
Video: Introduction to API Gateway
Video: Creating REST APIs
Hands-on Lab: Creating a HELLO WORLD REST API with Python & Flask
Video: Making API Requests using cURL and Postman
Hands-on Lab: CRUD Operations with Python
Video: Documenting and Testing REST API Swagger
Hands-on Lab: Documenting and Testing REST API Swagger
Hands-on Lab: Optional - Querying with GraphQL
Reading: Summary and Highlights
Reading: Module 2 Glossary - Web API Essentials REST
Practice Quiz: Web API Essentials - REST API and GraphQL
Graded Quiz: Web API Essentials - REST API and GraphQL (10 Questions)
Module 3: Serverless Overview
Reading: Module Introduction and Learning Objectives
Video: Introduction to Serverless Computing
Video: Serverless Pros and Cons
Video: Introduction to the FaaS Model
Video: The Serverless Framework
Video: Serverless Reference Architecture and Use Cases
Video: Popular Serverless Platforms
Reading: AWS Lambda
Hands-on Lab: Optional - Signing up for an AWS Account
Hands-on Lab: Optional - Creating an AWS Lambda
Reading: Summary and Highlights
Reading: Module 3 Glossary - Serverless Overview
Practice Quiz: Serverless Overview
Graded Quiz: Serverless Overview (10 Questions)
Module 4: Create and Deploy Microservices using Serverless
Reading: Module Introduction and Learning Objectives
Video: IBM Cloud Code Engine
Video: Project, Application, Build, and Jobs
Hands-on Lab: Deploying your first application on Code Engine
Video: Building Container Images for Microservices
Video: Deploying and Running Applications
Hands-on Lab: Deploying your first Docker image on Code Engine
Video: Updating Deployed Applications
Hands-on Lab: Deploy, Update, and Scale Microservices using Serverless
Reading: Summary and Highlights
Graded Quiz: Create and Deploy Microservices (10 Questions)
Reading: Module 4 Glossary - Create and Deploy Microservices
Practice Quiz: Create and Deploy Microservices
Final Assignment:
Final Project Overview and Grading Criteria
Final Project: Serverless Web Application and API
Peer-Graded Final Assignment: Serverless Web Application and API
Module 5: [Optional] OpenShift Essentials/Working with OpenShift and Istio
Reading: Module Introduction
Video: OpenShift Recap
Video: Service Mesh and Istio
Video: Microservices with OpenShift
Video: Red Hat Marketplace
Hands-on Lab: OpenShift
Reading: Summary and Highlights
Practice Quiz
Practice Quiz: OpenShift Essentials/Working with OpenShift and Istio