Building Cloud Native Applications
Overview
Cloud is taking over the software world. This new computing paradigm is everywhere now. Whether you like it or not, the next application you will be working on is very likely to be deployed into a cloud environment.
The new generation of cloud-first applications requires us to rethink how we architect our applications. Cloud Native is a set of new application design principles. These principles have been formed with the cloud in mind to help architects deliver applications that take advantage of cloud capabilities including dynamic provisioning and elastic scalability.
Outline
Day one is an introduction to the motivation behind Cloud Native, basic Cloud Native concepts and modern cloud architecture. You will learn what Cloud Native is and why you should apply its principles to your architecture. You will also understand how to design your application in a microservices manner and how to make it easier to manage by following the rules of the 12 Factor Application.
Once you have designed your application, you need to deploy it efficiently into a cloud environment. Day two focuses more on the infrastructure needed to run Cloud Native applications at scale. You will learn about Infrastructure As Code and immutable infrastructure. After this day you will have an understanding of building modern cloud infrastructure.
Day three is a deep dive into scaling techniques used in Cloud Native. After this day you will have better understanding of the technologies and tools that can be used to handle increasing traffic volume of your Cloud Native system.
Day four is dedicated to polishing up your Cloud Native skills portfolio. You will learn how serverless can be used to optimize your cloud bill, how to make your applications more reliable and how to simplify communication between the components of your Cloud Native system. And last but not least you will understand what are the best security practices for Cloud Native applications.
Course Outline
Day 1:
-
Why Cloud Native?
-
The Components of a Cloud Native Application
-
12 Factor Applications
-
Microservices
Day 2:
-
Infrastructure As Code
-
Immutable Deployments
Day 3:
-
Scaling Cloud Systems
-
Orchestration
Day 4:
-
Serverless
-
Communication patterns
-
Cloud Security
Prerequisites
Essential:
-
General knowledge of software architecture
-
Experience with server-side software development
Useful:
-
Understanding of cloud computing concepts
-
DevOps experience
-
Learning Outcomes