Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Designing and Implementing Microsoft Azure Networking Solutions
Designing and Implementing Microsoft Azure Networking Solutions

Designing and Implementing Microsoft Azure Networking Solutions: Exam Ref AZ-700 preparation guide

Arrow left icon
Profile Icon David Okeyode
Arrow right icon
Free Trial
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7 (18 Ratings)
Paperback Aug 2023 524 pages 1st Edition
eBook
S$36.99 S$53.99
Paperback
S$67.99
Subscription
Free Trial
Arrow left icon
Profile Icon David Okeyode
Arrow right icon
Free Trial
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7 (18 Ratings)
Paperback Aug 2023 524 pages 1st Edition
eBook
S$36.99 S$53.99
Paperback
S$67.99
Subscription
Free Trial
eBook
S$36.99 S$53.99
Paperback
S$67.99
Subscription
Free Trial

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Designing and Implementing Microsoft Azure Networking Solutions

Azure Networking Fundamentals

As more organizations migrate business-critical workloads to the Azure cloud platform (or build new ones), they rely on applications and services being able to communicate with each other securely to provide services to their internal teams, business partners, and customers. Azure Virtual Network (VNet) is the core service for implementing secure private networking in Azure. A VNet is a virtual version of a physical network, implemented on the Azure cloud platform.

In this chapter, we will focus on the foundational concepts of implementing private network connectivity in Azure. We will walk through what Azure VNet is, its capabilities, the key differences between Azure VNet and a traditional on-premises network, and supported services that can be launched into Azure VNet (spoiler: as well as a virtual machine (VM), we can also deploy 20 other services into Azure VNet).

We’ll then go on to discuss key implementation options such as designing/assigning IP address spaces, segmentation using subnets, and resource IP address assignments – how resources are allocated an IP address (another spoiler: you can’t use self-managed DHCP!).

Lastly, we’ll talk about the routing and traffic flow functionalities of Azure VNet. In other words, how does routing work and how do we control traffic flow?

In this chapter, we will cover the following topics:

  • Understanding Azure VNet
  • Planning VNet naming and location
  • Planning VNet IP address spaces
  • Planning VNet subnet segmentation
  • Hands-on exercise – creating a single-stack VNet in Azure
  • Hands-on exercise – creating a dual-stack VNet in Azure
  • Understanding private IP address assignment for subnet workloads
  • Hands-on exercise – determining the VM location and sizes for future exercises
  • Hands-on exercise – exploring private IP assignments
  • Cleaning up resources

Each topic has been structured to align with the recommended network connectivity best practices in Azure. Let us get into this!

Technical requirements

To follow along with the instructions in this chapter, you will need the following:

  • A PC with an internet connection
  • An Azure subscription

Before we proceed to cover the security best practices, let us prepare our Azure subscription for the hands-on exercises that we will complete later in the chapter.

Understanding Azure VNet

Before we get too far into Azure networking concepts, let’s establish what Azure VNet is and the capabilities that it provides.

A VNet is a virtual version of a physical network, implemented on the Azure cloud platform. The main advantage that it has over a traditional network is that we don’t need to implement or maintain the underlying physical hardware for this network (these responsibilities are offloaded to our cloud provider – Microsoft). But for the most part, we can achieve similar capabilities and architectures that we can achieve on-premises. We can even implement more flexible architectures with Azure VNets due to the software-defined nature.

So, what capabilities does Azure VNet provide? Here is a short list of some use cases:

  • Connectivity for supported Azure services including VM, virtual machine scale sets (VMSSs), and 32 other services
  • Native Internal TCP/UDP Load Balancing and proxy systems for Internal HTTP(S) Load Balancing
  • Connects to on-premises networks using Cloud VPN tunnels and Cloud Interconnect attachments

Limitation

An Azure subscription can have up to 1,000 VNets as of the time of writing (April, 2022). An additional subscription will be needed to grow beyond this limit.

Azure VNet versus traditional networks

Even though Azure VNet is similar to a traditional on-premises network in many ways, there are still important differences, mainly due to restrictions that have been put in place by Microsoft to ensure security in a multi-tenant platform such as Azure. Here are some key ones:

  • Azure VNet does not support Layer-2 semantics (Only Layer-3 and Layer-4). This means that concepts such as virtual LANs (vLANs) and Layer-2 broadcasts don’t work in Azure VNet. Figure 1.1 shows the output of running the arp -a command on a VM that is deployed in Azure VNet. You will notice that the MAC address resolution for VMs in the same subnet results in the same 12:34:56:78:9a:bc value. This is because we are on a shared platform and the VNet is a Layer-3 overlay instead of Layer-2:
Figure 1.1 – ARP table on an Azure VM

Figure 1.1 – ARP table on an Azure VM

  • Another key difference between a traditional network and Azure VNet is that some protocols and communication types are restricted from being used in Azure VNet. Protocols such as multicast, broadcast, DHCP unicast, UDP source port 65330, IP-in-IP encapsulated packets, and Generic Routing Encapsulation (GRE) packets are not allowed in Azure VNet. Any application or service capability that requires these protocols or communication types will need to be refactored before deployment into Azure VNet for it to work. The only protocols that are allowed are TCP, UDP, ICMP, and Unicast communication (except source port UDP/68 /, destination port UDP/67, and UDP source port 65330, which is reserved for the host).

Note

For more information on the differences of Azure VNet and traditional networks, refer to the document at https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-faq.

Now that you have some fundamental information on what Azure VNet is, let’s discuss how you would go about planning one, starting with considerations around naming it.

Planning Vnet naming

All Azure resources have a name that must be unique within a scope. The scope is different for each resource type. When creating a Vnet, its name must be unique within the scope of the resource group. This means that it is possible to have two Vnets in your Azure subscription with the same name as long as they don’t belong to the same resource group! This can be useful in a design that involves having the same Vnet resource name for both development and production environments, as shown in Figure 1.2.

Figure 1.2 – Vnet names must be unique for the resource group scope

Figure 1.2 – Vnet names must be unique for the resource group scope

Even though it is possible to have duplicate names within a subscription, it is not a recommended practice as it could later lead to confusion when investigating security incidents using logging information (we will cover network logging and monitoring later in this book). When investigating security incidents, it helps to be able to quickly identify affected resources and having a unique resource naming strategy for your Vnets helps with this.

Regarding naming best practices, it is best to define a naming convention as early as possible. This convention should be communicated to the teams with permission to create network resources in Azure, and preferably, the naming convention should be enforced using tools such as Azure Policy. To define a good naming strategy, consider these recommendations:

  • Review resource name restrictions for the Vnet and other network resources in Azure. For example, a Vnet name can have up to 64 characters made up of alphanumerics, underscores, periods, and hyphens. Your naming convention should take this into consideration. Information on Vnet naming restrictions can be found at https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftnetwork.
  • Consider including information about the following – resource type, resource location, deployment environment, and workload type in your naming convention. For example, a Vnet for production web services workloads in the East US region might be named prod-eastus-webservices-Vnet (Figure 1.3).
Figure 1.3 – Sample Vnet naming convention

Figure 1.3 – Sample Vnet naming convention

For more thoughts on naming conventions, please refer to this document: https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/resource-naming.

Planning VNet location

Almost all Azure services are created in a regional location specified at creation time. I said almost all because there are some exceptions – so-called global or non-regional services that are not pinned to a region. Azure Vnet is a regional service.

As of the time of writing (April 2022), the Azure cloud has 55 active regions in which we can create Vnets (with nineteen announced regions coming soon).

So, which regions should you select when creating Vnets? Consider the following three points to guide your decision regarding this:

  • Business compliance requirements: This is the first point that you should consider when deciding the Azure region to locate your Vnets in. If there are organizational/industry compliance requirements that require data residency or data sovereignty in a geographic area, then you must adhere to that! You don’t want to end up in a situation where your organization is fined or charged for violating governmental regulations! For example, if you are providing services to a US government agency, the workloads that you are using to provide those services may be required to be in Vnets created in one of the Azure US government regions.
  • Proximity to the users: This is the second key point to consider regarding Vnet location. You want your networks in locations close to the end users to ensure the lowest network latency. For example, if your organization is based in the UK and your network will host workloads that will provide services to your customers in the area, it will probably be best to create your Vnet(s) in either the UK South or the UK West Azure regions. You could perform your own tests to determine latency information for your end users or you could leverage unofficial sites such as https://azurespeedtest.azurewebsites.net/ and https://cloudpingtest.com/azure.
  • Resiliency requirements: This is another key point to consider when deciding where you should create your Vnets. Does your resiliency architecture require you to be able to distribute your network workloads in multiple data centers within the same region? If it does, then you need to select one of the regions that allow you to use availability zones (AZs) – distinct groups of data centers in the same region. Not all Azure regions currently support this capability. At the time of writing, only 25 of the 55 active regions support AZs. I will recommend checking this document for an up-to-date list before you create your network resources – https://docs.microsoft.com/en-us/azure/availability-zones/az-overview.

The following diagram shows an example of a Vnet with AZs:

Figure 1.4 – A Vnet with AZs

Figure 1.4 – A Vnet with AZs

Also, keep in mind that the decision to distribute your network workloads in multiple AZs in a region results in an extra cost of 0.01 USD (0.008 GBP) per gigabyte of data transferred between AZs for both inbound and outbound traffic.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Create and deploy a secure Azure network and implement dynamic routing and hybrid connectivity
  • Master Azure network design for performance, resilience, scalability, and security
  • Enhance your practical skills with hands-on labs aligned to the AZ-700 Network Engineer certification

Description

Designing and Implementing Microsoft Azure Networking Solutions is a comprehensive guide that covers every aspect of the AZ-700 exam to help you fully prepare to take the certification exam. Packed with essential information, this book is a valuable resource for Azure cloud professionals, helping you build practical skills to design and implement name resolution, VNet routing, cross-VNet connectivity, and hybrid network connectivity using the VPN Gateway and the ExpressRoute Gateway. It provides step-by-step instructions to design and implement an Azure Virtual WAN architecture for enterprise use cases. Additionally, the book offers detailed guidance on network security design and implementation, application delivery services, private platform service connectivity, and monitoring networks in Azure. Throughout the book, you’ll find hands-on labs carefully integrated to align with the exam objectives of the Azure Network Engineer certification (AZ-700), complemented by practice questions at the end of each chapter, allowing you to test your knowledge. By the end of this book, you’ll have mastered the fundamentals of Azure networking and be ready to take the AZ-700 exam.

Who is this book for?

Whether you're an Azure network engineer or a professional looking to enhance your expertise in designing and implementing scalable and secure network solutions, this book is an invaluable resource. A basic understanding of cloud solutions will help you to get the most out of this book.

What you will learn

  • Recap the fundamentals of Azure networking
  • Design and implement name resolution
  • Implement cross-VNet and VNet internet connectivity
  • Build site-to-site VPN connections using the VPN gateway
  • Create an ExpressRoute connection
  • Secure your network with Azure Firewall and network security groups
  • Implement private access to Azure services
  • Choose the right load balancing option for your network

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Aug 25, 2023
Length: 524 pages
Edition : 1st
Language : English
ISBN-13 : 9781803242033
Vendor :
Microsoft
Concepts :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Aug 25, 2023
Length: 524 pages
Edition : 1st
Language : English
ISBN-13 : 9781803242033
Vendor :
Microsoft
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just S$6 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just S$6 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total S$ 189.97
Azure Architecture Explained
S$67.99
Azure Security Cookbook
S$53.99
Designing and Implementing Microsoft Azure Networking Solutions
S$67.99
Total S$ 189.97 Stars icon

Table of Contents

16 Chapters
Part 1: Design and Implement Core Networking Infrastructure in Azure Chevron down icon Chevron up icon
Chapter 1: Azure Networking Fundamentals Chevron down icon Chevron up icon
Chapter 2: Designing and Implementing Name Resolution Chevron down icon Chevron up icon
Chapter 3: Design, Implement, and Manage VNet Routing Chevron down icon Chevron up icon
Chapter 4: Design and Implement Cross-VNet Connectivity Chevron down icon Chevron up icon
Part 2: Design, Implement, and Manage Hybrid Networking Chevron down icon Chevron up icon
Chapter 5: Design and Implement Hybrid Network Connectivity with VPN Gateway Chevron down icon Chevron up icon
Chapter 6: Designing and Implementing Hybrid Network Connectivity with the ExpressRoute Gateway Chevron down icon Chevron up icon
Chapter 7: Design and Implement Hybrid Network Connectivity with Virtual WAN Chevron down icon Chevron up icon
Chapter 8: Designing and Implementing Network Security Chevron down icon Chevron up icon
Part 3: Design and Implement Traffic Management and Network Monitoring Chevron down icon Chevron up icon
Chapter 9: Designing and Implementing Application Delivery Services Chevron down icon Chevron up icon
Chapter 10: Designing and Implementing Platform Service Connectivity Chevron down icon Chevron up icon
Chapter 11: Monitoring Networks in Azure Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7
(18 Ratings)
5 star 83.3%
4 star 5.6%
3 star 11.1%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




' Kindle Customer Oct 11, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
"Designing and Implementing Microsoft Azure Networking Solutions" is a comprehensive guide that covers all aspects of the AZ-700 exam, providing readers with a solid foundation in Azure networking. Whether you're an Azure network engineer or a professional looking to enhance your expertise in designing and implementing scalable and secure network solutions, this book is an invaluable resource.The book starts by recapping the fundamentals of Azure networking, ensuring that readers have a clear understanding of the basics before diving into more complex topics. It then delves into designing and implementing name resolution, covering important concepts and providing step-by-step instructions to ensure readers can effectively set up and manage this crucial aspect of Azure networking.The subsequent chapters cover various topics such as VNet routing, cross-VNet connectivity, hybrid network connectivity using the VPN Gateway and the ExpressRoute Gateway, and designing an Azure Virtual WAN architecture for enterprise use cases. Each chapter provides detailed guidance, hands-on labs, and practice questions to reinforce the concepts and allow readers to test their knowledge.One of the highlights of this book is its focus on network security. It offers in-depth coverage of network security design and implementation, including Azure Firewall and network security groups. Readers will gain practical skills in securing their networks and ensuring data protection.The book also addresses application delivery services and platform service connectivity, providing valuable insights into optimizing network performance and ensuring seamless access to Azure services. Additionally, it covers monitoring networks in Azure, equipping readers with the tools and knowledge needed to effectively monitor and troubleshoot their Azure networks.Throughout the book, the author's explanations are clear and concise, making complex topics accessible to readers of varying levels of expertise. The inclusion of hands-on labs and practice questions further enhances the learning experience, allowing readers to apply their knowledge in practical scenarios.Overall, "Designing and Implementing Microsoft Azure Networking Solutions" is a comprehensive and well-structured guide that covers all the essential aspects of Azure networking. Its practical approach, hands-on labs, and practice questions make it an excellent resource for those preparing for the AZ-700 exam or looking to enhance their skills in Azure networking. Whether you're a beginner or an experienced professional, this book will help you build a solid foundation in designing and implementing secure and scalable network solutions in Azure.
Amazon Verified review Amazon
Brandon Lachterman Oct 14, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book made me rethink how I will build any future test/prod environments in any capacity, and opened my eyes to features I didnt know existed.
Amazon Verified review Amazon
MrMiller Oct 03, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
In einer von Cloud-Computing dominierten technologischen Welt erweist sich "Designing and Implementing Microsoft Azure Networking Solutions" von David Okeyode als essentielles Handbuch für alle, die sich mit Azure-Netzwerken befassen möchten oder das Ziel haben, die AZ-700 Zertifizierung zu erlangen. Okeyode, mit seiner beeindruckenden Erfahrung als Cloud-Sicherheitsarchitekt, beleuchtet die Feinheiten des Azure-Netzwerkens mit unvergleichlicher Klarheit.Was dieses Buch besonders macht, ist Okeyodes praxisorientierter Ansatz. Er verknüpft Theorie nahtlos mit praktischen Anwendungen. Ein herausragendes Merkmal des Buches sind die praktischen Übungen ("Hands-on exercises"), die den Lesern helfen, das Erlernte direkt anzuwenden.Ich kann das Buch uneingeschränkt empfehlen. Es war für mich von großem Nutzen und hat mir erheblich weitergeholfen.
Amazon Verified review Amazon
Rio Sep 06, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
One notable aspect of this book is its timeliness. Cloud technology evolves rapidly, and ensures that readers are up to date with the latest Azure networking features and best practices. This ensures that the book remains a valuable resource even as Azure continues to evolve.
Amazon Verified review Amazon
Dwayne Natwick Sep 10, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I received a copy of the Packt Publishing book, Designing and Implementing Microsoft Azure Networking Solutions from David Okeyode [MVP]. This is a comprehensive guide to prepare yourself for the AZ-700 Network Engineer Associate certification from Microsoft. David includes easy to follow diagrams and exercises to increase your hands-on knowledge of Azure networking solutions and why they are used. If you are preparing for the AZ-700 exam, or just need to better understand networking in Azure, this book is for you.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.