Course 835:
Cloud-Native Development

(3 or 4 days)

 

Course Description

This hands-on course provides students with the knowledge and experience to start architecting and building cloud-native applications that are cost-effective, automated, scalable, and resilient. Students learn how to use modern DevOps tools, design applications using microservice architectures, and deploy containerized applications to cloud platforms. During the course activities, attendees design and develop a case study application using cloud-native best practices.

Learning Objectives

This course teaches participants the following skills:

  • Design, architect, build, and deploy cloud-native applications
  • Choose the right services for public, private, and hybrid cloud deployments
  • Program applications using cloud-native best practices
  • Optimize cloud resources by leveraging microservice architectures
  • Containerize applications using Docker
  • Orchestrate container deployment using Kubernetes
  • Simplify microservice deployments using PaaS and serverless environments
  • Leverage cloud-based data storage services 
  • Automate builds and deployments using modern DevOps tools

Who Should Attend

This class is intended for the following:

  • Software architects who are designing applications for the cloud
  • Developers working on modern, cloud-based microservice applications
  • IT and DevOps professionals who want to leverage modern automation tools

Prerequisites

To get the most out of this course, participants should have:

  • Basic understanding of cloud computing
  • Some experience administering and/or deploying applications to Linux or Windows 
  • Experience programming web applications or services
  • Basic understanding of data storage 

Activities

The course uses a challenge lab approach where the attendees are provided with a case study. During the course, they complete a development project to implement the case study using the cloud-native topics discussed.

The course also includes optional tutorials/hands-on labs to provide attendees with an opportunity to get hands-on experience, in a cloud provider of their choice, with the topics covered if needed.


Course Outline

1. Cloud Computing Overview

  • Cloud Deployment Models
    • Public Cloud
    • Private Cloud
    • Community Cloud
    • Hybrid Cloud
    • Multi-Cloud
  • Cloud Platforms
    • AWS
    • Google Cloud
    • Azure
    • OpenStack
  • Cloud Service Models
    • IaaS
    • PaaS
    • SaaS
    • Managed/Serverless Services
    • IT Ops, SysOps, DevOps, Low Ops, No Ops
    • Activity: Planning the Case Study Architecture

2. Cloud-Native Development

  • What Is Cloud-Native?
  • Traditional Development vs. Cloud-Native
  • Agile Practices
    • Feature-Driven Development
    • Value-Driven Development
    • Agile Teams
    • Writing User Stories
    • Activity: Analyzing the Case Study Requirements
  • Automation and DevOps
    • Infrastructure as Code (IaC)
    • Continuous Integration and Continuous Delivery (CI/CD)

3. Microservices

  • Introduction to Microservices
    • Monolithic vs. Microservice Applications
    • Recognizing Microservice Boundaries
    • Stateful vs. Stateless Services
    • Managing Databases
    • Activity: Architecting Microservice Applications
  • Twelve-Factor Apps
    • The Twelve Factors
    • Implementing Twelve-Factor Apps
  • Microservice Architecture
    • Designing Loosely-Coupled Services
    • Communicating Between Microservices
    • REST
    • gRPC
    • OpenAPI 
    • Activity: Running the Case Study

4. Application Lifecycle Management

  • Package Management
    • Managing Application Dependencies
    • Maven and Gradle
    • Pip
    • NPM
    • NuGet
  • Source Control
    • Git
    • Basic Git Commands
    • GitHub
    • Version Control with Git on the Cloud
    • Activity: Using Git with the Case Study
    • Version Control and Collaboration
    • Branching and Merging Strategies
    • Activity: Branching and Collaboration

5. Docker

  • Understanding Docker
    • Containers
    • Advantages of Containers
    • Images
  • Using Docker
    • Basic Docker Commands
    • Building Docker Images
    • Dockerfile
    • Starting Containers
    • Stopping Containers
    • Deleting Containers and Images
    • Activity: Containerizing the Case Study
  • Deploying Docker Containers
    • Container Registries
    • Push and Pull
    • Activity: Managing Docker Containers in a Container Registry

6. Kubernetes

  • Kubernetes Clusters
    • Kubernetes Architecture
    • EKS
    • GKE
    • AKS
    • OpenShift
    • Minikube
  • Kubernetes
    • Basic Kubernetes Commands
    • Pods
    • Deployments
    • Services
    • Autoscalers
    • Health Checkers
    • Liveness and Readiness Probes
    • Configuration
    • Activity: Deploying the Case Study Services to Kubernetes
  • Kubernetes Security
    • Role-Based Access Control
    • Encryption
    • Secrets
  • Helm
    • Helm Charts
    • Helm Repos
    • Activity: Using Helm

7. DevOps Automation (CI/CD)

  • Automation and DevOps
    • Automated Testing
    • Source and Version Control
    • Automated Builds
    • Infrastructure as Code
    • Continuous Integration
    • Continuous Deployment
  • CI/CD Pipelines
    • Cloud-Based (Azure, AWS, Google Cloud) CI/CD Tools
    • Jenkins, Spinnaker, Terraform
    • GitHub Actions
    • Activity: Building a CI Pipeline

8. Platform as a Service and Serverless

  • Automated Platforms
    • Azure App Service
    • Elastic Beanstalk
    • App Engine
  • Serverless Platforms
    • Serverless/NoOps Computing
    • Azure Functions
    • AWS Lambda Functions
    • Google Cloud Functions and Cloud Run
    • Other Serverless Services
    • Demo: Deploying an Application Using PaaS/Serverless

9. Cloud Data Services

  • Storing Binary Data
    • Azure BLOB
    • S3
    • Cloud Storage
  • Relational Data Services
    • Azure Databases
    • AWS RDS
    • Google Cloud SQL and Cloud Spanner
  • NoSQL Data Services
    • Cosmos DB
    • DynamoDB
    • Firestore
    • Bigtable
  • Caching
    • Redis
    • ElastiCache
    • Memorystore
  • Activity: Adding a Database to the Case Study

Please Contact Your ROI Representative to Discuss Course Tailoring!