The course is part of these learning pathsSee 1 more
Azure is Microsoft’s Cloud Computing platform. It is an amalgamation of services for creating, deploying and managing applications that run in Microsoft’s secure worldwide data centers. The set of services can make virtually any software solution possible, from large retail targeting a global audience to CPU-intensive, scientific data calculations, to simple data backups. Almost any software that can be imagined can be written to take advantage of Azure services and can run in the Microsoft Cloud.
In this course, we will review the categories of services available in Azure today, then select some of the more commonly used services for a closer look. We will wrap up with a conceptual overview of how we can combine many Azure services to build a more ambitious solution. By the end of the course, you should have a general appreciation for the breadth of available services and start to see how they can be composed to create more powerful business solutions.
This course is for developers, operations engineers, and other IT professionals. Viewers should have a basic understanding of the cloud and cloud terminology.
The Learning Objectives for the course are:
● Learn what categories of Azure services exist and what problems they address.
● Learn the most common Azure services and how to use them now.
● Learn how you can combine Azure services.
Welcome and Introduction: These brief lectures will introduce you to the instructor and let you know what you'll be covering.
Azure Services: A description of how to build your first service.
Service Catagories: Overview of the 14 categories of Azure Services
Services Drill Down: A look at Websites, SQL Database, and Storage
Managing Services: This lesson includes a Security Center demo and a Command Line Interface demo.
Putting it Together: Tying all that you've learned into some real-life examples.
Conclusion: A wrap-up of what you've learned.
So, far, we've discussed lots of Azure services. Some at a high level, and some through demos. Of course, there are other services we didn't introduce. And you can bet that after this course is released, Microsoft will add more services to the platform. That's just how it goes in the cloud.
As a final exercise, let's tie everything together with an example. Let's look at how we might combine Azure services to solve a problem more complex than the trivial bookstore web application that we've already seen. Imagine our fictional bookstore business is successful. It's grown beyond only selling print books. Now we support downloading digital books, and we stream audio and video. We have big data and data analytics. How would we use Azure to implement all these core business features? Let's have a look.
We used an Azure website to support the trivial bookstore website shown earlier. Since that technology is very flexible and scales quite well. We'll stay with that for our main website. To send updates directly to our native applications on IOS and Android, we'll use the notifications feature from Azure mobile services. We need to support a large number of users and plan to grow quickly. So our engineering team has decided on a microservices architecture built using Azure service fabric.
There are many supported approaches, for example, another option would have been Docker containers on Linux DMs managed using Kubernetes. Our website mobile apps and some partner apps, all make API calls to arrest API. We use Azure API management to handle rate limiting and other API related concerns. We'll need to store user data, so our microservices use a variety of Azure services to store and provide this data, including SQL and no-SQL databases. In particular, as shown in the diagram, we'll use an Azure SQL database to store user data, such as purchase history.
We'll also want to provide a smooth streaming experience, for our audio and video. Regardless of our users bandwidth capabilities, we would want to support users all over the world. For this we use blob storage to store downloadable files, and we use the Azure content delivery network, or CDN, to make them available throughout the world. The Azure CDN will cache them in a local region. And make the cache version available to subsequent callers from that local region, speeding up access. In addition, we use Azure's built-in streaming media services to give the best encoding experience possible to users regardless of their device choice.
We want to personalize our apps by providing recommendations. For this we'll periodically move users purchase history and related data from our SQL database to a SQL database warehouse, making use of the Azure scheduler to do this at a slow time for our site. We'll use Azure Machine Learning to take that purchase history and automatically generate recommendations for individual users based on trends seen from other users.
These recommendations will be offered to users next time they log in. Further, we want to make sure the business is aware of our user's purchasing and reading behaviors. So we'll use that same SQL date warehouse and pump relevant data through Power Bi and generate reports for our analysts. Perhaps, they'll see that our users really like books about Azure. And we need to find more titles for them.
Through all this we need to provide secure logins and account management for both our internal and app users. We'll take advantage of Azure Active Directory for internal users, and Azure Active Directory B-C to allow for Facebook and Twitter and other social logins for our app users. So far you might imagine that everything in this diagram is running in a single Azure data center region, such as Germany.
This could be supporting the marketplace in Europe. However, after we've completed our service for this market, we may want to support it all over the world. And we want to do it efficiently for those users. One way to do that is to deploy parts of it where the customers are, for example, we can deploy instances in Asia, Europe, and North America. Azure SQL database has its own geo-replication capabilities. So we can add read replicas in Asia and North America, leaving the primary in Europe. Azure storage reads can be fronted by the CDN, which is also global. Now enter Traffic Manager, we can also deploy Azure websites to Asia and North America, in addition to Europe, and insert the Azure Traffic Manager in front of the website DNS name, so that a user in Europe will be routed to the instance in Europe, while the user in North America will be routed to the instance in North America, and so forth.
And so for the user's point of view, it is much more efficient than routing all global users to a single instance, say in Europe. Hopefully, you can see more clearly how Azure provides a full range of services to operate such a business. And does it in such a way that gives us lots of flexibility. This should give you a basic idea of how the Azure services can be combined to grow from a basic application to a sophisticated one. And see how we can further extend it into a scalable global application.
Azure Portal and General platform info
MySQL on Linux VM
About the Author
Bill Wilder is a hands-on architect currently focused on building cloud-native solutions on the Microsoft Azure cloud platform. Bill is CTO at Finomial which provides SaaS solutions to the global hedge fund industry from the cloud, co-founded Development Partners Software in 1999, and has broad industry experience with companies of all sizes – from modest startups to giant enterprises. Bill has been leading the Boston Azure group since founding it in 2009, has been recognized as a Microsoft MVP for Azure since 2010, and is author of Cloud Architecture Patterns (O’Reilly Media, 2012). He speaks frequently at community events, and occasionally at conferences, usually on topics relating to cloud, cybersecurity, and software architecture.