Learn Azure in a Month of Lunches
Total Page:16
File Type:pdf, Size:1020Kb
Learn Azure in a Month of Lunches Ian Fouldss Introduction The most important purpose of technology for nonprofit organizations is to help you better serve the public good. That means accelerating your mission in the face of fewer resources, greater need, and growing cybersecurity threats. Having the right technology can help you empower employees; drive innovation; broaden engagement with donors, volunteers, and beneficiaries; and protect your data and internal systems. But that’s not always easy to do with a patchwork of old and new systems that your organization may have accumulated over time. At Microsoft we believe that nonprofits shouldn’t be hampered in serving their populations by technology limitations. Which is why we are committed to supporting nonprofits around the world by offering technology solutions that are accessible, affordable, relevant, and cost-effective to implement and manage going forward. $1 billion cloud resources donated to nonprofits As part of this commitment, we have pledged to donate $1 billion in cloud computing resources by 2020 to help more than 300,000 nonprofit organizations digitally scale their impact and so they can do more good. To support these efforts, we have built a growing ecosystem of partners who know the challenges that nonprofits face. These partners focus specifically on providing relevant technology and services, including Microsoft Azure solutions, to help nonprofit organizations scale and drive greater impact around the world through the cloud. Microsoft Azure is an ever-expanding collection of hundreds of cloud services on a single platform that can help you meet your organization’s business challenges more securely, efficiently, and affordably. These services are hosted in more than 100 globally distributed datacenters and are supported by one of the world’s largest multi-terabit global networks. Take your time Although the prospect of hundreds of services might at first be overwhelming, the reality is, you only have to know about the services that apply to your organization. Moving to Azure can be an evolutionary process: you can move one workload or one system at a time. And you can continue to maintain a hybrid environment of on-premises and cloud applications indefinitely. With Azure you can stay with the operating system, application tools, and platform you’re already familiar with. Whether you build and run applications on Linux, Python, Node.js, or Windows, you can continue to build and run those same applications in Azure without extra work. Core cloud benefits Adding a cloud dimension to your environment can accelerate your mission by allowing you to: Equip your staff with familiar Integrate end-to-end data Extend your datacenter productivity tools for strong intelligence to gain more insight and free up resources to collaboration, communication, and across on-premises and cloud directly contribute to your creativity. infrastructure. organization’s mission. Lighten the infrastructure Keep beneficiary and donor Easily scale up your cloud management burden on your information safer yet easily presence for a specific project IT team so they can focus accessible across multiple or event and scale down when on delivering higher-impact platforms, devices, and it’s completed for greater applications. locations. flexibility at an affordable price. Get nonprofit-specific guidance and support This eBook introduces you to the possibilities of what you can build in the cloud by helping you understand the core concepts of Azure services. It also provides extensive information about working across platforms with many non-Microsoft technologies. But it isn’t all just theory. You’ll find dozens of hands-on exercises and handy timesaving tips from the author, who knows the territory well. He walks you through the process of creating a free Azure account, accessing other helpful resources, and trying out what you’ve learned in guided exercises. The chapters are divided into four parts: Core Azure infrastructure and 1 platform services 2 High availability and redundancy 3 Security New technologies such as artificial 4 intelligence and machine learning We recommend that you work through the eBook in this order. The author estimates that you can learn to build and run secure, highly available applications in Azure in about 45 minutes a day for 30 days—basically a month of lunch hours. When you’ve finished, you should have a solid foundation in the core concepts of Azure and how to apply them to the immediate and future needs of your organization. And you’ll be in an ideal position to continue to learn and explore all the services Azure has to offer. Resources • Watch the on-demand webcast “How to migrate your SQL Server database to Azure” to see a demo of our new Database Migration Assistant tool which makes migration relatively painless and non-disruptive. • Streamline your migration journey and discover, assess, and migrate all your on-premises applications, infrastructure, and data with guidance from the Azure Migration Center. • Want to know more about recent Azure developments? Join us for our weekly Azure Office Hours to get your burning Azure questions answered by an expert. • Leverage Azure Cost Management to help your organization get more value out of your Azure usage by implementing financial governance models to optimize your costs in the cloud. • Published Blueprints provides prescriptive scripts, documentation, and diagrams, as well as governance and security guidance to help you quickly adopt Microsoft Azure to make deployment simple. • Looking for scenario-based guidance? Check out Azure Reference Architectures, which includes recommended practices, along with considerations for scalability, availability, manageability, and security. • Download the “Azure Strategy & Implementation Guide for Nonprofits” eBook to help your IT team more effectively implement and integrate cloud technologies. You’ll explore key cloud concepts as well as Azure specific tips and tricks. brief contents PART 1AZURE CORE SERVICES 1 1 ■ Before you begin 3 2 ■ Creating a virtual machine 15 3 ■ Azure Web Apps 32 4 ■ Introduction to Azure Storage 46 5 ■ Azure Networking basics 57 PART 2HIGH AVAILABILITY AND SCALE 75 6 ■ Azure Resource Manager 77 7 ■ High availability and redundancy 91 8 ■ Load-balancing applications 108 9 ■ Applications that scale 127 10 ■ Global databases with Cosmos DB 144 11 ■ Managing network traffic and routing 162 12 ■ Monitoring and troubleshooting 181 PART 3SECURE BY DEFAULT 199 13 ■ Backup, recovery, and replication 201 14 ■ Data encryption 219 15 ■ Securing information with Azure Key Vault 232 16 ■ Azure Security Center and updates 249 BRIEF CONTENTS PART 4THE COOL STUFF 267 17 ■ Machine learning and artificial intelligence 269 18 ■ Azure Automation 284 19 ■ Azure containers 299 20 ■ Azure and the Internet of Things 314 21 ■ Serverless computing 331 contents PART 1AZURE CORE SERVICES ...................................... 1 Before you begin 3 1 1.1 Is this book for you? 3 1.2 How to use this book 4 The main chapters 4 ■ Try it now 5 ■ Hands-on labs 5 Source code and supplementary materials 5 1.3 Creating your lab environment 5 Creating a free Azure account 5 ■ Bonus lab exercise: Create a free GitHub account 8 1.4 A little helping hand 9 1.5 Understanding the Azure platform 9 Virtualization in Azure 11 ■ Management tools 13 Creating a virtual machine 15 2 2.1 Creating a VM from your web browser 15 Azure storage 16 ■ Basic settings, continued 17 VM sizes 20 ■ Settings 22 CONTENTS 2.2 Connecting to the VM, and installing the web server 23 Connecting to the VM with SSH 23 ■ Installing the web server 25 2.3 Allowing web traffic to reach the VM 26 Creating a rule to allow web traffic 27 ■ Viewing the web server in action 27 2.4 Lab: Creating a Windows VM 29 2.5 Cleaning up resources 29 2.6 Houston, we have a problem 30 Azure Web Apps 32 3 3.1 Azure Web Apps overview and concepts 33 Supported languages and environments 33 ■ Staging different versions with deployment slots 34 3.2 Creating a web app 35 Creating a basic web app 35 ■ Deploying a sample HTML site 38 3.3 Managing web apps 41 Viewing diagnostic logs 41 3.4 Lab: Creating and using a deployment slot 44 Introduction to Azure Storage 46 4 4.1 What’s so special about storage? 46 Table storage 48 ■ Queue storage 50 ■ Storage availability and redundancy 51 4.2 VM storage 52 Standard vs. premium storage 52 ■ Temporary disks and data disks 53 ■ Disk-caching options 54 4.3 Adding disks to a VM 54 4.4 Lab: Exploring Azure Storage 56 Developer-focused 56 ■ VM-focused 56 Azure Networking basics 57 5 5.1 Virtual network components 57 Creating and using virtual networks and subnets 58 Virtual network interface cards 60 ■ Public IP address and DNS resolution 62 ■ Securing and controlling traffic with network security groups 65 ■ Creating a network security CONTENTS group 65 ■ Associating a network security group with a subnet 67 ■ Creating network security group filtering rules 69 5.2 Building a sample web application with secure traffic 70 Creating remote access network connections 70 ■ Creating VMs 71 ■ Using the SSH agent to connect to your VMs 72 5.3 Lab: Installing and testing the LAMP web server 74 PART 2HIGH AVAILABILITY AND SCALE ........................75 Azure Resource Manager 77 6 6.1 The Azure Resource Manager approach 77 Designing around the application lifecycle 78 ■ Securing and controlling resources 80 ■ Protecting resources with locks 81 Managing and grouping resources with tags 82 6.2 Azure Resource Manager