role-iq-logo
Rock [Azure]
See all Azure roles

Microsoft Azure Developer: Creating a Detailed Design for Your Solution

Creating a design for your application is important. If you don’t, you might not end up with a complete application or it might not work as excepted. In this course, you’ll learn which topics go into creating a detailed design for your application.
Course info
Rating
(14)
Level
Advanced
Updated
Nov 6, 2018
Duration
3h 0m
Table of contents
Course Overview
Why Create a Detailed Design for Your Solution?
Designing for Accessibility
Designing for Localization and Globalization
Designing for Maintainability
Designing for Global Performance
Designing for Availability
Designing for Security
Designing for Deployment
Where to Go from Here?
Description
Course info
Rating
(14)
Level
Advanced
Updated
Nov 6, 2018
Duration
3h 0m
Description

At the core of creating an application is a thorough knowledge of designing an application. In this course, Microsoft Azure Developer: Creating a Detailed Design for Your Solution, you’ll learn how to create a detailed design for your application. First, you’ll discover why it is important to create a detailed design. Next, you’ll explore all the aspects that go into a design. Finally, you’ll see how to implement application requirements. When you’re finished with this course, you’ll have a foundational knowledge of how to create a detailed design for your application that will help you as you move forward to creating an application.

About the author
About the author

Barry is a software architect and developer with a passion for the cloud. He has worked for lots of companies throughout the last decade and is keen to share his knowledge with the community. He co-founded a usergroup focused on technology and soft-skills and currently teaches people about the benefits of the cloud.

More from the author
What's New in Visual Studio 2019
Beginner
58m
Apr 1, 2019
More courses by Barry Luijbregts
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone. My name is Barry Luijbregts, and welcome to my course, Microsoft Azure Developer: Creating and Implementing a Detailed Design for Your Solution. I am an independent software developer and architect with a passion for the cloud. Creating a detailed design for your application is important. If you don't, you might not end up with a complete application or it might not work as expected. In this course, you'll learn which topics go into creating a detailed design for your application. Some of the major topics that we will cover include why you should create the detailed design, designing for maintainability, for global performance, and designing for security. By the end of this course, you'll know how to design the crucial aspects of your application. Before beginning the course, you should have a basic level of understanding of software development in the Microsoft ecosystem. I hope you'll join me on this journey to learn about designing you application with the Microsoft Azure Developer: Creating and Implementing a Detailed Design for Your Solution course, here at Pluralsight.

Why Create a Detailed Design for Your Solution?
Welcome to this course about Creating and Implementing a Detailed Design. In this course, you'll learn what aspects go into a detailed design and how to go about designing and implementing them. All of the examples and demos in the course are based on Microsoft Azure, but you can apply the knowledge in this course to any technology. In this first module, we'll discuss what you'll learn in this course. Specifically, I will try and answer the question why should you create a detailed design? Before we get there, I will explain what a detailed design is, which leads up to why you would create one. Also in this module, I'll show you what to expect of this course and how you can follow along with the demos. I hope you enjoy this course and use it to design and build great things.

Designing for Accessibility
Let's start by talking about a commonly overlooked aspect of application design, accessibility. This is the practice of creating applications that are usable by all of your users regardless of their capabilities or how they use the application. In the module, we'll start by defining what accessibility really is. Next, we'll see how to discover possible accessibility requirements for your application, and how to design implementations for those requirements. Hopefully this module will inspire you to think about how to make your application as accessible as possible.

Designing for Localization and Globalization
In this module, you'll learn how to make your application work well in other regions of the world and serve users in different countries. To discover how to do that, we will first talk about what the terms globalization and localization are, and how they are different. Next, you'll see how to discover globalization and localization requirements for your application, and then we'll take a look at how to design implementations for those requirements. Let's take a look.

Designing for Maintainability
In this module, we'll talk about the ability to maintain your application. This is a rather abstract topic, so I'll try my best to make it resonate with you. We'll start off by discussing what application maintainability is, how to define it, and how to quantify it. Next, we'll take a look at some of the things that you can think about to discover application maintainability requirements. And I'll demonstrate how to design for these requirements. We'll also look at some demos to solidify your understanding of maintainability. In one of the demos, I extend the Azure Overview application by creating an Azure Logic App.

Designing for Global Performance
In this module, we'll discuss how to make your application performant. We will start off by talking about what application performance is, and what global performance is, and what the different types of scaling are. Then we will look at categories that you can use to discover performance requirements, and we will look at how to design an implementation for those requirements. We will also go through demos that make our application globally performant and that scale the application.

Designing for Availability
In this module, we'll learn about Availability, and how to design this into your application. We will start by discussing what application availability is and how the terms RTO and RPO relate to availability. Next, we look at what you need to think about to discover availability requirements and how to implement availability requirements. And finally, you'll get more context of how to implement availability requirements in the demo that shows how to use the Azure SQL Database geo-replication feature. Ready, let's dive in.

Designing for Security
In this module, we'll take a look at application security and how we can design for it. Application security is a big topic, but I'll try to crunch it down into the essential areas that you need to know about when you are designing for it. We will start by defining what application security is. Next, we'll see how to discover and implement security requirements. And we will see an implementation in action in the demo where we use Azure Key Vault and Azure Managed Service Identity to protect application secrets. Alright, let's dive in.

Designing for Deployment
This module is all about designing for deployment. It is important to be ready to deploy at any time, and it's not very hard to get to that state in most cases. We'll dive in by discussing what application deployment is and what is involved in it. Next, we'll look at how you can discover deployment requirements, and how you can design implementations for those requirements. Finally, we'll see in the demo how you can implement an example of a deployment requirement using Azure DevOps.

Where to Go from Here?
This is the last module of this course. I hope you've enjoyed it and found it useful. In this last module, we'll cover a couple of things. We'll start by summarizing all of the things that we've learned in this course. And finally, I'll show you some resources that I think can help you to move beyond this course.