Cloud-Native Development
Contact us to book this courseCloud Computing
On-Site, Virtual
3-4 days
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
- 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
- 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)
- 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
- 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
- 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
- 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
- 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
- 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
- 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