Course 835:
Cloud-Native Development

(3 days)

Course Description

This hands-on course will provide students the knowledge and experience to start architecting and building cloud-native applications that are cost-effective, automated, scalable, and resilient. Students will learn how to use modern DevOps tools, design applications using microservice architectures, and deploy containerized applications to cloud platforms.

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 includes optional tutorials/hands-on labs to provide attendees with a chance to get hands-on experience with the topics covered if needed. 

The course uses a challenge lab approach where the attendees are provided with a case study. During the course, they complete a development project in AWS or Google Cloud to implement the case study using the Cloud-Native topics discussed.


Course Outline

1. Cloud Computing Overview

  • Cloud Deployment Models
    • Public Clouds
    • Private Clouds
    • Hybrid Clouds
  • Cloud Platforms
    • AWS
    • Activity: Using AWS
    • Google Cloud
    • Activity: Using Google Cloud
    • Azure
    • OpenStack
  • Cloud Service Models
    • IaaS
    • Activity: Creating a Virtual Machine
    • PaaS
    • SaaS
    • FaaS
    • DBaaS
    • Activity: Creating a Managed Database

2. Cloud-Native Development

  • Agile Practices
    • Feature-Driven Development
    • Value-Driven Development
    • Agile Teams
    • Activity: Analyzing the Case Study
  • Automation and DevOps
    • Automated Testing
    • Source and Version Control
    • Automated Builds
    • Infrastructure as Code
    • Continuous Integration 
    • Continuous Deployment

3. Microservices

  • Introduction to Microservices
    • Monolithic vs. Microservice Applications
    • Recognizing Microservice Boundaries
    • Stateful vs.Stateless Services
    • Managing Databases
  • 12-Factor Apps
    • Activity: Architecting Microservice Applications
  • Microservice Architecture
    • Communicating Between Microservices
    • REST
    • gRPC
    • OpenAPI 
    • Activity: Designing APIs 

4. Application Lifecycle Management

  • Source Control
    • Git
    • Basic Git Commands
    • Version Control
    • Branching and Merging Strategies
    • Activity: Using Git
  • Package Management
    • Managing Application Dependencies
    • Maven and Gradle
    • Pip
    • NPM
    • NuGet
    • Activity: Managing Packages

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: Building Docker Containers
  • Deploying Docker Containers
    • Container Registries
    • Push and Pull
    • Swarm
    • Activity: Deploying Docker Containers

6. Kubernetes

  • Kubernetes Clusters
    • Kubernetes Architecture
    • EKS
    • GKE
    • AKS
    • OpenShift
    • Activity: Creating Kubernetes Clusters
  • Kubernetes
    • Basic Kubernetes Commands
    • Pods
    • Deployments
    • Services
    • Autoscalers
    • Health Checkers
    • Liveness and Readiness Probes
    • Configuration
    • Activity: Deploying Applications with Kubernetes
  • Kubernetes Security
    • Role-Based Access Control
    • Encryption
    • Secrets

7. Platform as a Service

  • Automated Platforms
    • Elastic Beanstalk
    • App Engine
    • Cloud Run
    • Activity: Deploying Application using PaaS
  • Serverless Platforms
    • AWS Lambda
    • Cloud Functions
    • Activity: Leveraging Serverless Environments

8. Cloud Data Services

  • Storing Binary Data
    • S3
    • Cloud Storage
  • Relational Data Services
    • RDS
    • Cloud SQL
    • Spanner
  • NoSQL Data Services
    • DynamoDB
    • Firestore
    • Bigtable
  • Caching
    • Redis
    • ElastiCache
    • Memorystore
    • Activity: Using Data Services

9. DevOps Automation (CI/CD)

  • Automated Builds
    • CI/CD Pipelines
    • Git Hooks
    • Cloud Build Tools
    • Activity: Automating Builds
  • Code Quality Tools
    • SonarQube
    • Selenium
  • Jenkins
    • Activity: Building a CI/CD Pipeline with Jenkins

 

Please Contact Your ROI Representative to Discuss Course Tailoring!