CHAPTER 1

image

Azure Architecture Overview

The computer industry is the only industry that is more fashion-driven than women’s fashion.

—Larry Ellison (Chairman, Oracle Corporation)

The cloud is a popular and trending term that everyone is using nowadays. Of course, the cloud that I mean has nothing to do with the weather, but with technology—cloud computing.

Today, almost everyone is using the cloud to describe a service delivered to or consumed by end users and information workers. The cloud is everywhere and it is being consumed by almost everyone on the planet—from the oldest computer geeks to the youngest tablet and game console users.

People may not even know that they are using a cloud service, but everyone who uses the Internet is using the cloud. If you have an e-mail account, then you are using the cloud. If your kids are playing video games online with their friends, then they are using the cloud. If your spouse is using iCloud, OneDrive, or any similar service to store pictures, videos, and other files, that’s through the cloud too. Despite these examples, ironically, there are people still resisting the idea of using the cloud, although they are using it on a daily basis.

The cloud, in fact, is one of the fastest growing technologies in the history of the computer industry. Every day you will find a new vendor delivering a different type of cloud service; and every time you log in to your cloud service portal, you will find a brand-new feature. Therefore, to cope with the massive explosion of features and always be in control (I’ll quote tire manufacturer Pirelli’s slogan: “Power is nothing without control”), we have to ensure that we are using the right tools in our arsenal to help us achieve this goal.

This book spotlights PowerShell as one of the most powerful tools that you must have in your toolbox. PowerShell is not just a scripting language, but also an automation engine that makes it easy to do a complex task in less time and with minimal effort. Moreover, PowerShell plays a major role as a platform in some of Microsoft Azure’s features. For example, the Azure automation engine is built on top of PowerShell’s workflow feature. Don’t worry—I will cover everything in more detail in the upcoming chapters.

In this chapter, and in the entire book, you will learn about the PowerShell module for Microsoft Azure and how to get it ready. Also, you will learn how to use the PowerShell modules and cmdlets to deploy, configure, manage, and automate Azure services.

What Is Microsoft Azure?

Microsoft Azure (formerly Windows Azure) is Microsoft’s cloud platform—you could say Microsoft’s implementation for cloud computing—that provides both Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). Azure is the platform to build, deploy, deliver, and manage robust, secure, and scalable applications and services, not only using Microsoft’s technologies, but other vendors’ tools, operating systems, and programming languages as well.

Because it is a hybrid platform, Azure allows you to tightly integrate your on-premises services with cloud-hosted solutions as if they are both in the same datacenter. Also, it is a scalable and economical platform that easily and quickly scales up or down your services and resources when it is needed—and without paying a lot of money. You only pay for what you use and consume.

Image Note  Azure is the only major cloud platform ranked by Gartner as an industry leader for both IaaS and PaaS.

Azure Regions

The Azure platform operates through a global network of Microsoft-managed datacenters in 17 regions (at the moment I am writing these words) around the world, with more datacenters in more regions to come soon. Microsoft has more than 1 million servers hosted in 100-plus datacenters within its cloud infrastructure portfolio. This massive infrastructure delivers 200-plus cloud services to more than 1 billion customers in 90 countries.

The global presence of Azure means a high availability of services (a 99.95% service level agreement (SLA)). It also allows you to build your disaster recovery (DR) site—geolocation-redundant replicas of your applications and services—with ease, low effort and resources, and in a cost-effective manner. Moreover, it will help you deliver world-class service performances with minimal latency by hosting at a location closest to your users’ base.

Figure 1-1 shows a regional map of Azure datacenters. Azure’s services availability varies from one region to another, so make sure to check the Microsoft Azure web site (http://azure.microsoft.com/en-us/regions/#services) for the most updated services availability list.

9781484206669_Fig01-01.jpg

Figure 1-1. Microsoft Azure regional locations

Table 1-1 lists the Azure regions and locations, so that you can easily identify the closest one to you and your users.

Table 1-1. Azure Regions and Locations

Region

Location

US Central

Iowa

US East

Virginia

US East 2

Virginia

US Gov Iowa

Iowa

US Gov Virginia

Virginia

US North Central

Illinois

US South Central

Texas

US West

California

Europe North

Ireland

Europe West

Netherlands

Asia Pacific East

Hong Kong

Asia Pacific Southeast

Singapore

Japan East

Saitama Prefecture

Japan West

Osaka Prefecture

Brazil South

Sao Paulo State

Australia East

New South Wales

Australia Southeast

Victoria

In Table 1-1 you will notice that there are two regions labeled US Gov; these regions are part of Azure Government. Azure Government is the cloud platform designed and built to address the security and compliance needs of the United States government and its solution providers. Also, it is physically isolated from other non-US government datacenters and operated by screened personnel.

Image Note  The Australia Regions are available only to customers with billing addresses in Australia and New Zealand.

Azure Content Delivery Network (CDN)

In addition to the global network of Microsoft datacenters, Azure has another global network of content delivery network (CDN) nodes. Basically, CDNs are a nodes—you can call them datacenters or servers—that are distributed globally to cache static content (such as images, videos, audios, etc.) to the closest geographical physical location of your end users.

Does it make any difference?! Yes, of course. A CDN is another way to deliver a better performance to your end users. I am pretty sure that you are now comparing CDNs to Azure regions and that you are wondering why you should use a CDN if you already have a service distributed geographically across different regions. I know, it’s a little bit confusing, but I’ll tell you the trick. Let’s use Microsoft’s web site as a real-life example. Microsoft has a dynamic web site that has a lot of files that users can download, including Windows, Office, and other products. There is no doubt that a technology giant like Microsoft has its web site hosted on different locations—and, of course, no need to say it is hosted on Azure.

With Windows 10 now available for download, can you imagine how many people have tried to access the Microsoft web site to download Windows 10? Yes, millions. You are totally right. By distributing the web site across different datacenters, users in Europe are able to download the file from datacenter locations in Ireland and the Netherlands—but wouldn’t it be faster for users in France to download it from a server in Paris, and for users in Spain to download it from a server in Madrid? Of course this would be faster and more reliable, which is the beauty of a CDN. CDNs are not a replacement for regions but something to compliment them.

Table 1-2 lists the Azure Content Delivery Network nodes and their locations so that you can easily decide where to enable a CDN endpoint for your cloud storage/service according to the location of the majority of end users.

Table 1-2. Azure CDN Node Locations

Node Region

Location

US East

Atlanta, Miami, New York, Washington DC, Philadelphia

US West

Los Angeles, San Jose, Seattle

US North Central

Chicago

US South Central

Dallas

Europe North

Copenhagen, Helsinki, Stockholm, Vienna, Warsaw

Europe West

Amsterdam, Frankfurt, Milan, London, Madrid, Paris

Asia Pacific East

Batam, Hong Kong, Jakarta, Kaohsiung, Singapore, Seoul

Asia Pacific Southeast

Melbourne, Sydney

Japan East

Tokyo

Japan West

Osaka

Image Note  You can keep track of Azure CDN point of presence (pop) locations at https://azure.microsoft.com/en-us/documentation/articles/cdn-pop-locations/

Azure Services: Back to Basics

Microsoft Azure has over 60 services—and every day a new service is being added. Every time you visit the Azure portal you will find something new. These services include infrastructure services (such as virtual machines, web sites, and mobile services), data services (such as SQL Database, HDInsight, and backup recovery), application services (such as media services, notification hubs, Active Directory, and Visual Studio Online), and network services (such as Virtual Network, ExpressRoute, and Traffic Manager). Figure 1-2 shows a sample diagram of Azure’s services.

9781484206669_Fig01-02.jpg

Figure 1-2. Microsoft Azure services architecture

In the next section I provide a nutshell overview of the Azure services covered in this book. To be more specific, you will look at the features that can be managed by Azure PowerShell.

Image Note  Keep track of the latest Azure services at http://azure.microsoft.com/en-us/services/.

Compute

The following are Azure services for hosting different workloads that require computing power (CPU and memory) in the back end to operate:

  • Virtual Machines: Azure offers on-demand virtual machine (VM) provisioning via a group of predefined VM images and different hardware specifications (CPU and memory). The VM images gallery contains Microsoft images such as Windows, SharePoint, and SQL Server, as well as non-Microsoft images such as Linux and Oracle. You can also build your own virtual machine image. (This is discussed more in Chapter 4.)
  • Mobile Services: Mobile services allow you to build a scalable and secure back end (storage, push notifications, and user authentications) for your mobile applications. Mobile services come with SDK that supports Windows Phone, iOS, and Android.
  • Web Apps: Azure web apps is a service that allows you to host and deploy dynamic, flexible, and scalable web sites on Azure without the hassle of managing the infrastructure underneath. (This is covered in more detail in Chapter 6.)
  • Cloud Services: Azure allows you to build and deploy multitier web applications that have one or more web roles. As with web sites, Azure maintains the infrastructure and service scalability on your behalf.
  • RemoteApp: Azure RemoteApp enables you to publish a Windows Server application and deliver it virtually and seamlessly to end users, without installing it physically on their devices but with the same local experience. These devices include Windows, Windows Phone, Android, iOS, and Mac OS X. (This is covered in Chapter 9.)

Networking

The following are networking capabilities provided by Azure. Chapter 5 takes a deep dive into Azure networking, as well as its management by use of PowerShell.

  • Virtual Network: Azure allows you to create virtual networks so that you can isolate different workloads. It supports site-to-site virtual private networks (VPNs) so that you can securely extend your datacenter to the cloud, and point-to-site VPNs to allow your users to securely access your cloud resources and services.
  • ExpressRoute: ExpressRoute is another service to connect your on-premises servers to cloud-hosted services via a direct secure private connection rather than using a public connection over the Internet, as with the VPN scenario for example. ExpressRoute is more secure, reliable, and faster than a normal Internet connection.
  • Traffic Manager: Traffic Manager allows you to load balance incoming traffic across multiple cloud services, whether they are running in the same or different datacenters. Traffic Manager has three load balancing methods: failover, performance, and round robin.

Storage and Data

The following are Azure services related to data management (cloud storage or a data platform):

  • Storage: Azure’s storage is known to have the fastest cloud storage performance in the market. It is a geo-redundant solution and highly scalable, with up to 500GB per single storage account. Moreover, its usage is not limited to Azure services but is also accessible to any application—even on-premises—through a set of REST APIs. (You will learn more about this in Chapter 3.)
  • HDInsight: HDInsight is the Microsoft implementation for the Apache Hadoop on the cloud, or to make it simple, it is Microsoft’s Big Data. (A deeply detailed guidance of this is in Chapter 12.)
  • SQL Database: Azure provides the SQL Database as one of its PaaS services. This is SQL Server on the cloud, but as in many other cloud services, you handle only your data and Microsoft take cares of the infrastructure, patching, upgrades, backup, high availability, and all other related operational tasks. (This is discussed further in Chapter 7.)

Backup and Recovery

The following describes Azure’s backup and restore, disaster recovery, and data-tiering services:

  • Backup: Azure provides cloud backup services that you can use to back up your on-premises data to Azure cloud storage by using PowerShell or familiar tools like System Center Data Protection Manager (DPM).
  • Site Recovery: Azure Site Recovery (ASR) is a service that allows you to automatically protect your private clouds—including applications and virtual machines—by replicating and recovering different workloads to the disaster recovery site (according to a set of predefined rules and conditions). These recovery sites could include a secondary office, an ISP/hoster site, or even an Azure site.
  • StorSimple: StorSimple is Microsoft’s hybrid cloud storage that’s tightly integrated with Azure to provide and support data-tiering, archiving, and disaster recovery scenarios.

Image Note  StorSimple is beyond the scope of this book as it requires a StorSimple appliance.

Identity and Access

The following are Azure identity and access services that allow you to secure and control access to Azure resources and services, as well as protect content, intellectual property, and sensitive data. Identity and access are covered in Chapter 10.

  • Azure Active Directory: Azure Active Directory is a directory service for cloud-based applications that allows access and control for users, groups, applications, resources, and so forth. (This is discussed in Chapter 10.)
  • Azure Right Management Services (RMS): Azure RMS is the cloud-based version of the Windows Server RMS that is used mainly to prevent data leakage and unauthorized access to important files and information. (This is discussed in Chapter 11.)

Applications

Azure applications cannot be used individually without other services such virtual machines, web sites, or cloud services. However, it is very important to manage those services and it complements the story of cloud automation and management.

  • Azure Resource Manager: Azure Resource Manager allows you to create reusable deployment templates to simplify the deployment of complex applications. In this template, you identify and describe the resources used in the service (such as web application, SQL Database, or Windows virtual machine) so that you can deploy them as a one logical unit, instead of dealing with each resource individually.
  • Azure Automation: Azure Automation is an engine that allows you to automate the processes of creating, deploying, and maintaining Azure resources through PowerShell workflows (runbooks). You can use one of the existing workflows in the gallery or simply build your own. (We will talk more about this in Chapter 8.)

Image Note  Make sure to get the Azure infographics. It provides an overview of Azure services and features. Visit http://azure.microsoft.com/en-us/documentation/infographics/azure/.

Summary

Obviously, “the sky is your limit” is no longer a valid expression; with cloud platforms like Azure, there are no limits but endless possibilities. Azure provides many services and features that make it possible for everyone to build and deliver world-class services in a more economical way.

This chapter spotlighted cloud computing with the Microsoft Azure cloud, with a brief introduction to Azure and its datacenters and services locations, as well as a quick overview of popular Azure services.

In the next chapter, we will fly to the first destination in our professional PowerShell journey. You will learn more about Azure PowerShell—how to set up, configure, and start using it.

Now, keep calm and get ready. The fun is about to start.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.15.245.1