Interested in a private company training? Request it here.
An architecture will look very different depending on what you're focusing on. Do you want it to be fast, reliable, or cheap? You can't have it all, but you can optimize for more than one thing. These considerations will drive decisions in all following topics.
By splitting up a monolith into bite-size microservices, you make your application a lot more suitable for the cloud. Although this is not a must, most systems will consist of various running applications that will need to communicate.
Scaling an application has many benefits: Your application becomes more reliable, faster and handle more throughput. There are many options on how to scale an application in the cloud. In this module, we'll take a look at key benefits and drawbacks of each one.
Backend developers are typically tied to their relational databases, while JavaScript developers often favor NoSQL. So, which one is better? Well, both can be great, but sometimes the unknown is unloved. In this module, we'll explore the key differences.
Choosing the wrong technology or a poor scaling strategy for data can result in significant expenses. In this module, we'll learn how to avoid such pitfalls.
Scaling is beneficial, but it can also become complex and costly. In this module, you will learn about various techniques to enhance performance without the need for scaling.
This module focuses on direct communication between applications. This means using things like REST or gRPC. We'll take a look at some patterns to improve resiliency and reduce complexity.
Asynchronous communication is much more reliable than synchronous communication. In this module, you'll learn which common problems it solves, some useful patterns and clarify some of the confusing terminology often used with this type of communication.
Understanding the different offerings for message brokers is key to creating good integration. You need to know how to handle heavy loads, large messages, and keep things affordable and secure.
Most likely, not all of your data will end up into a single normalized database. Chances that your data will be scattered all over the place are much higher. So, how do you keep things consistent? And what if something fails? Don't worry, my friend, this module will explain everything.
CRUD is the norm but has its limitations. This includes performance and consistency. By separating read and update operations, CQRS can overcome these limitations, including performance and consistency.
There are many concerns when communicating with the external world. Most of them relate to security, but the fact that protocols are usually restricted to HTTP can also be a problem.
Every developer knows about authentication and authorization. But there are other security concerns when deploying to the cloud.
The cloud is an excellent environment for building applications that are resilient, highly available, performant, and hopefully not too expensive. But how do you achieve those goals? In this training, we begin by examining potential problems that a cloud developer/architect may encounter. Then, we explore solutions using proven patterns. Finally, we delve into various technologies available in Azure to implement these patterns. The focus of this training is on concepts and patterns that apply to any cloud environment. We do not delve into the technical details of each Azure resource.
This advanced course is designed for individuals aspiring to become a cloud architects in Microsoft Azure. The goal is to develop cloud-native applications, with a focus on PaaS (Platform-as-a-Service) while also covering relevant infrastructure topics. Participants in this course should have a strong developer background and a good understanding of Azure. Should you want to learn to develop on Azure we have Developing & Deploying Web Apps on Microsoft Azure