<<

Ebook .NET Developers and Azure appdynamics.com

What .NET Developers Need to Know About Azure

Contents

Chapter 1 3 A Brief History of Azure

Chapter 2 6 Shifting Perspectives on Azure

Chapter 3 8 Impact on the Development Lifecycle

Chapter 4 12 Introduction to Azure Innovations has seen tremendous growth since its January 2010 launch. In recent years, Microsoft has focused on opening up the Azure environment to widen its appeal to all kinds of developers, including those working in non- Microsoft frameworks and languages. And while remains the most widely used public computing platform, more than 95% of Fortune 500 companies currently use Azure, according to Microsoft. 3

A Brief Azure

Let’s begin by taking a quick look at the history of Azure, including the ways in which Microsoft’s cloud platform strategy has evolved over the past decade.

Copyright © 2019 AppDynamics, Inc. All rights reserved. Chapter 1 \ A Brief History of Microsoft Azure 4

From the 1980s until the early 2000s, Microsoft was focused on the Windows Competitors to Microsoft Azure ecosystem, which grew to become the world’s most popular operating Microsoft isn’t the only technology giant providing cloud-based services system. In the late 2000s, however, Microsoft was in of being left behind for developers. Azure currently has several major competitors, most notably as the revolution started to take off. Amazon Web Services Amazon Web Services, Cloud and Pivotal Cloud Foundry. (AWS), which remains Microsoft Azure’s biggest cloud competitor, launched in 2006, providing online services for websites and client-side applications. Developers were able to use these online services in their applications, which Amazon Web Services facilitated a more efficient development process and allowed them to build Amazon was the first major player to enter the cloud computing market with its complex apps without having to reinvent the frameworks that underpin platform, Amazon Web Services. In many ways, AWS is still the leading cloud- vital app infrastructure. based platform, particularly in terms of market share. Over the past few years, Microsoft has made a lot of progress in closing the performance/feature gap Out of Windows and Into the Cloud between Azure and AWS, and professional opinions are divided as to which platform is best for developers. Azure’s main advantage over AWS, according In 2008, Microsoft began working on a cloud platform that would finally be to many IT professionals, is that it is more user-friendly, particularly for admins able to compete with AWS. Since its launch, Microsoft Azure has been through and developers used to working in a Windows environment. On the other hand, many rounds of changes that have significantly affected the ways in which some experts say AWS is the better option for organizations that need to host .NET developers (and other developers) interact with the platform. The shift large-scale applications supporting vast numbers of users. AWS’ shortcomings? in strategy has been rocky at times, but the platform has gradually improved, Its cost structure can be confusing, and its strong focus on public cloud (as resulting in an easier-to-use solution with a well-organized array of services. opposed to hybrid or private cloud) means that interoperability Microsoft continues to expand the Azure environment, adding support for isn’t AWS’s best attribute. non-Microsoft technologies to widen its appeal to all kinds of developers. The platform supports non-Microsoft databases, both SQL and NoSQL, as well as Linux operating systems. It also supports developers working in a variety of popular programming languages and frameworks. Microsoft has also created a large number of technologies built specifically for the Azure platform, including storage services, identity management services, and media services.

Copyright © 2019 AppDynamics, Inc. All rights reserved. Chapter 1 \ A Brief History of Microsoft Azure 5

Google Cloud Platform (GCP), an emerging competitor in public cloud com- Over the past few years, Microsoft puting, provides infrastructure (IaaS), (PaaS) and serverless computing environments. GCP is currently in third place behind has made a lot of progress in AWS and Azure in the public cloud space, but has established itself as a worthy competitor to the two market leaders. According to Gartner’s 2019 IaaS Magic closing the performance/feature Quadrant report, Google Cloud is a leader in the IaaS quadrant (along with AWS and Azure), as Google builds out its enterprise, analytics and machine gap between Azure and AWS, and learning expertise. GCP has many competitive attributes, such as good step- by-step examples of how to do common tasks, including deploying a Python professional opinions are divided application on or creating a Linux virtual machine (VM). as to which platform is best for Pivotal Cloud Foundry developers. Another cloud-based platform worthy of attention is Pivotal Cloud Foundry (PCF), the commercial version of the open-source cloud application platform, Cloud Foundry, which is freely available. The PCF platform is available on Microsoft Azure, allowing developers to work on Java and .NET apps with greater ease. Pivotal has established a similar partnership with Amazon, meaning the PCF platform is able to run on AWS as well as Azure.

Looking Forward

Microsoft Azure has a rich and varied history that stretches back over the past decade. Even before it began working on Azure, Microsoft was mulling how to make the most of the new cloud computing revolution. In the following chapters, we’ll examine what Microsoft Azure offers your organization and the industry as a whole, and how you can make informed decisions when moving forward with your cloud strategy.

Copyright © 2019 AppDynamics, Inc. All rights reserved. 6

Shifting Perspectives on Microsoft Azure

The Microsoft .NET framework has advanced greatly over the past decade to help enterprises build more modern applications. Microsoft’s support for open ecosystems enables developers to easily build scalable and dynamic application services with the ability to run in high-performance and scalable systems in Azure Cloud and Azure Stack.

Copyright © 2019 AppDynamics, Inc. All rights reserved. Chapter 2 \ Shifting Perspectives on Microsoft Azure 7

As Microsoft Azure continues to evolve to meet the needs of modern app .NET Core is the Future of .NET development processes and systems, developers need to stay up to date with Microsoft has announced that .NET 4.8 will be the last release of the .NET the latest changes in order to use the platform as efficiently as possible. In this Framework, making .NET Core the future of .NET. In November 2020, Microsoft section, you’ll learn how to stay up to speed with Azure. You’ll also learn about plans to release .NET 5, which will unite .Net Framework and .Net Core. (Note potential challenges that could impact developers working on Azure. that .NET 5.0 won’t have “Core” in its name.) This strategy makes sense, as Microsoft’s long-term goal with .NET Core is to transition developers from a Azure’s Relationship to .NET proprietary, Windows-only .NET Framework to an open source, cross-platform Not long ago, the market thought of Microsoft Azure as primarily a platform solution (i.e., .NET Core). for .NET developers. This was largely due to Azure’s history, which grew out For .NET developers, the good news is that .NET Core 3.0 adds powerful ca- of Microsoft’s desire to provide a platform for people and businesses already pabilities not available in previous versions, including much improved perfor- using its products and frameworks. Even today, Azure’s appeal is strongest mance and desktop development. Notable enhancements include the addition with those familiar with Microsoft tools, such as Visual Studio and SQL Server. of Windows Forms and Windows Presentation Foundation (WPF), new JSON For this group of developers, one of the main advantages of Azure is its ease APIs, support for ARM64, and overall performance improvements. .NET Core of integration with Visual Studio. Developers can use Visual Studio templates 3.0 also includes C# 8, which includes nullable, async streams and more pat- to quickly and easily build Azure applications within a familiar environment. terns, as well as F# 4.7, according to Microsoft. One ongoing challenge for Microsoft is how to reach out to developers who prefer to use other frameworks to develop online and mobile apps. For many of Microsoft Azure App Service these people, Amazon Web Services is still a more attractive choice. Microsoft Microsoft Azure App Service allows developers and businesses to create and has expanded its platform to support .NET developers looking to leverage manage four different types of apps: web apps, API apps, mobile apps and other platforms, and has attracted customers looking to build modern applica- logic apps. Enterprises use all four of these apps to interact with their users tions with tools such as Node, PHP and Java, just to name a few. To broaden and allow their operations to run smoothly. These apps must be both reliable the appeal of Azure, Microsoft is adding new features and making the platform and secure. Azure App Service enables developers to build and manage apps as easy as possible for everyone, including developers who lack a strong back- within Azure, while taking advantage of the auto scale, auto backup and recovery ground in the Windows environment. features the platform offers.

The evolution of development is progressing from IaaS to PaaS, and now to function as a server (FaaS), better known as serverless. Azure Functions allows developers to create apps that don’t rely on dedicated servers. This means you pay only for the resources your app consumes, rather than paying to maintain servers all the time.

Copyright © 2019 AppDynamics, Inc. All rights reserved. Chapter 2 \ Shifting Perspectives on Microsoft Azure 8

Microservices

Another key part of the Microsoft Azure platform is microservices, which breaks down applications into a collection of small services, each running in its own environment. This small-services approach can make apps more robust and easier to scale, allowing you to scale each service individually. Microservices helps developers test each service separately using DevOps tools.

AppDynamics for Azure Figure 01. Azure By The Numbers AppDynamics gives developers a new set of tools to monitor their apps. When Although not the market leader, Azure is growing rapidly. apps have bugs or issues that negatively affect performance, developers can use AppDynamics’ powerful toolkit to dig down into what’s going on in the app and pinpoint the root cause of the problem. Conclusion AppDynamics is the premiere choice for enterprises engaged in cloud migration initiatives. Our Application Intelligence Platform provides real-time Microsoft is making great strides toward widening the appeal of the .NET visibility across across all application services running in Azure. AppDynamics’ platform, most recently through the release of .NET Core 3.0, an open source, strategic partnership with Microsoft helps developers drive innovation with cross-platform version of the .NET framework. As a developer, you can make deep insights into applications running in Azure. In the next chapter, we’ll the most of .NET by getting up to speed with the platform’s many features. It’s discuss AppDynamics’ new support for .NET Core 3.0 for Windows and Linux, also a good idea to stay up to date with the latest Azure news to know what as well as our enhanced support for Azure services such as App Service Web updates are in the pipeline. Read the Microsoft Azure Updates blog and follow Apps, WebJobs and Azure Functions. Microsoft Azure on social media. Attend Microsoft conferences to stay current with the company’s latest plans for Azure, and to gain a better understanding of the future direction of app development.

Copyright © 2019 AppDynamics, Inc. All rights reserved. Impact on the Development Lifecycle

Developers can use the Microsoft Azure platform to simplify the app development process and AppDynamics APM to help facilitate and accelerate app deployment. Chapter 3 \ Impact on the Development Life Cycle 10

Microsoft Azure has a big effect on the software development life cycle. In this How Big Is the Mobile Developer Market? chapter, we’ll cover three key areas for .NET developers: A few years back, Xamarin was considered by many mobile application devel- 1. Leveraging cloud computing with Azure for .NET developers opment experts to be a niche solution for a small market segment. However, Xamarin’s ease of use has enabled it to grow quite popular. Microsoft Azure 2. Cross-platform development with .NET Core 3.0 offers full support for Xamarin, which is encouraging more mobile developers to 3. Xamarin for .NET mobile developers to enable applications use this tool to develop cross-platform mobile apps. Xamarin enables devel- to run on any device opers to share an average of 90% of their application across platforms. Today, there are approximately 1.5 million Xamarin developers, according to Microsoft. We’ll explore how app developers can use the Azure platform to facilitate their app development processes, and how mobile developers can use Xamarin to Microsoft Azure for Xamarin build mobile apps for Android and iOS. And all developers can use AppDynamics for application performance management, and to take advantage of tools that For Xamarin developers, the ease of integration between Xamarin and Microsoft facilitate and accelerate the deployment of mobile and online apps Azure is a major draw. Azure Mobile Services is particularly useful, as it allows developers to easily connect a scalable cloud backend to their mobile appli- Containers cations. Structured data can be stored in this cloud and sent to apps via push notifications. Using Azure Mobile Services, developers can manage their mobile Microsoft Azure offers full support for containers, allowing developers to speed apps, keep them updated and send messages and notifications to users. up the lifecycle of their software development processes. We’ll talk about Azure Container Services in the next chapter. Impact of Microsoft Azure on IT Operations

Impact on Mobile Developers In addition to facilitating the development of mobile and web-based apps, Microsoft Azure helps with application deployment and performance man- Mobile developers need to ensure support for a vast array of platforms, including agement. Let’s take a look at some of the key features involved in these crucial multiple versions of Android and iOS. For many developers, Xamarin, an open stages of the application life cycle. source platform for building modern apps for iOS, Android and Windows with .NET. is the go-to solution for mobile app development. Xamarin allows you to Deployment write code that can run on all supported mobile platforms. Developers consider this approach much simpler and more time-efficient than creating standalone Microsoft Azure offers continuous deployment for Azure App Service apps. native mobile apps for each competing operating system. Azure App Service integration with GitHub, Visual Studio Team Services (VSTS) and Bitbucket allows developers to continuously deploy recent updates. This is a great option for app projects that are constantly evolving, as it ensures apps are always kept updated with the latest project developments.

Copyright © 2019 AppDynamics, Inc. All rights reserved. Chapter 3 \ Impact on the Development Life Cycle 11

Application Performance Management and AppDynamics

Application performance management (APM) allows developers to monitor the performance of their apps and quickly respond to any problems as soon as they arise. This offers more control to developers and ensures that end users have an optimal experience when using an app.

Microsoft recently released .NET Core 3.0, continuing its commitment to open platform support. AppDynamics, the fastest-growing APM solution on the market, now supports .NET Core 3.0 and offers enhanced support for these services: App Service Web Apps, WebJobs and Azure Functions using AppDynamics Azure Site Extension.

Azure App Service is well received among developers for its Windows and Linux support, auto-scaling ability and high availability. It enables automated deployments from GitHub, Visual Studio Team Services or Git repos. Through Figure 02. AppDynamics’ Powerful Azure Support enhancements in its APM .NET language agent, AppDynamics provides visi- AppDynamics supports .NET Core 3.0, Azure Functions, bility into Web Apps and Web Jobs running inside App Services. App Service Web Apps and WebJobs.

SDLC Conclusion

SDLC, or software development life cycle, refers to the stages an application In this chapter, we’ve outlined the impact of Microsoft Azure’s innovations on goes through during its development. To create a reliable and stable app, it’s the workflows and processes of web and mobile application developers. By crucial for developers to give full and proper attention to each stage in the integrating various tools and platforms with Azure, such as Xamarin and .NET cycle. These stages include planning, creating, testing and deployment. In Core, developers can quickly create and deploy cross-platform apps without modern app development, SDLC is sometimes known as ALM, or application needing to rewrite code for every platform. With Azure’s support for Xamarin, lifecycle management. Microsoft Azure supports the life cycle management of cross-platform mobile development is much simpler and straightforward—a applications through a series of tools that facilitate app development, testing major reason why so many developers are using Xamarin to develop apps for and deployment, as well as post-deployment performance management to mobile operating systems. ensure that apps are securely delivering the required level of service.

Copyright © 2019 AppDynamics, Inc. All rights reserved. Introduction to Azure Innovations

Azure is changing the way developers work across platforms, and Microsoft is constantly updating its cloud platform to make it more useful to a wide range of developers. Chapter 4 \ Introduction to Azure Innovations 13

In this chapter, we’ll take a look at what’s new with Azure and explore the inno- The browser-based designer provides an accessible visual environment for vations changing the way developers work across platforms, both on-premises building resilient data pipelines, while ADF manages the complexities of Spark and in the cloud. We’ll also discuss the challenges facing .NET developers execution. working in the cloud. Azure Spring Cloud Microsoft is constantly updating the Azure platform to make it more useful—both for .NET developers and those in broader ecosystem, including Java, Node. Migrating monolithic legacy applications to microservices-based architectures js, and other modern runtimes. Newer innovations include Azure Cognitive can improve scalability and velocity, but the process is often challenging. Services, Azure Data Factory Mapping Data Flows and Azure Spring Cloud. Spring Boot and Spring Cloud have helped Java developers address these Other notable Azure capabilities include Service Fabric, Azure Container challenges. Now Microsoft has teamed with Pivotal to introduce Azure Spring Services, and the ability to develop mobile apps in a cross-platform framework. Cloud, which simplifies the deployment and operation of Spring Cloud appli- Let’s take a look at these top Azure innovations to understand their impact on cations. By abstracting away the complexity of infrastructure and middleware .NET development. management, Spring Cloud lets developers focus on building business logic. Azure takes care of dynamic scaling, security patches, compliance standards Azure Cognitive Services and high availability.

Featuring a broad array of AI services, Azure Cognitive Services enables Microservices with Service Fabric developers to unlock the power of AI for many scenarios. This explains why more than 1.3 million developers (and counting) have used Cognitive Services Azure Service Fabric is a platform that allows you to easily package, deploy, and to build AI-powered apps. Azure’s out-of-the AI services are now available manage the services associated with your applications. It’s designed to reduce to Azure free-account users, too. For example, Azure’s Custom Vision API the significant challenges that have faced developers managing large-scale learns to recognize specific content in imagery and grows smarter with training cloud applications in the past. In particular, Azure Service Fabric is designed and time. Azure’s Face API detects and compares human faces—a boon for with scalability in mind, allowing developers to scale up their apps without app security. sacrificing reliability or manageability. Using Service Fabric, you can build and manage applications that are composed of a number of microservices that run Mapping Data Flows on a cluster of machines. This approach is extremely reliable. It also allows you to scale various parts of your application to meet the demands of your users. In an increasingly data-driven business environment, companies need powerful Service Fabric encourages developers to apply the microservices design pattern yet intuitive tools to integrate and transform data at scale. The Mapping Data within their app development for more agility and componentization, rolling out Flows feature of Azure Data Factory (ADF), a service that allows developers to new features and updates frequently to meet business and customer needs. integrate disparate data sources, provides a code-free, serverless environment that simplifies ETL in the cloud and scales to any data size.

Copyright © 2019 AppDynamics, Inc. All rights reserved. Chapter 4 \ Introduction to Azure Innovations 14

Azure Container Services

Containers are a key part of modern software development, maintenance and delivery. You can use containers to simplify the app development process and avoid rewriting configuration scripts between environments. For many development teams, adopting containers is an important component of an agile approach to software development. Azure Container Services allows developers to create a container hosting service optimized for their existing Azure development environment. It’s possible to migrate container workloads in and out of Azure without making changes to the code.

Cloud Computing for Deployment and Monitoring

Microsoft has taken steps to make deployment and monitoring as quick and hassle-free as possible for .NET developers. Azure is strongly focused on cloud developers, providing a centralized, cloud-based platform for software project collaboration. Figure 03. Azure Cloud Migration AppDynamics For All 6 “R”s: Azure App Service and Serverless Computing Rehost, Replatform, Repurchase, Refactor, Retain and Retire Migrating monolithic legacy applications to the cloud is often Azure App Service provides platform-based services that push the infrastructure challenging, but AppDynamics can help ease the transition. into the background. This allows developers to focus on the code needed to build solutions, rather than on the infrastructure used to run the code. Azure App Service includes Mobile Apps for backend mobile services like notifi- Conclusion cations, Web Jobs for running batch jobs, API Services for developing and Microsoft Azure plays a major role in shaping the cloud ecosystem. By hosting web APIs, and Web Apps for hosting front end web applications. With allowing developers to work in a cloud-based platform, Azure enables a Azure Functions, Microsoft has its own serverless offering. Azure Functions modern, efficient development process. With .NET Core 3.0, Microsoft has allows the developer to focus on writing and deploying code that responds shown its strong commitment to supporting a cross-platform approach to to events triggered by the actions of customers or other integration points. application development. And no matter which language stack you use— Java, PHP, Node.js, .NET, or some combination—AppDynamics can help you manage and track the performance of your apps running on the Microsoft Azure platform.

Copyright © 2019 AppDynamics, Inc. All rights reserved. About AppDynamics Sources:

AppDynamics is the Application Intelligence company. With AppDynamics, https://docs.microsoft.com/en-us/xamarin/get-started/what-is-xamarin enterprises have real-time insights into application performance, user per- https://azure.microsoft.com/en-us/blog/topics/announcements/ formance and business performance, enabling them to move faster in an https://www.datamation.com/cloud-computing/aws-vs-azure-vs-google-cloud-comparison.html increasingly sophisticated, software-driven world. AppDynamics’ integrated https://www.zdnet.com/article/google-cloud-gains-in-gartners-2019-cloud-infrastructure-magic-quadrant/ suite of applications is built on its innovative, enterprise-grade App iQ Platform that allows its customers to make faster decisions that enhance customer https://cloud.google.com/gcp/getting-started/ engagement and improve operational and business performance. AppDynamics https://azure.microsoft.com/en-us/blog/topics/announcements/ is uniquely positioned to enable enterprises to accelerate their digital transfor- http://garyclarke.us/technology/a-brief-history-of-microsoft-azure/ mations by actively monitoring, analyzing and optimizing complex application https://www.slideshare.net/MattDeacon/a-brief-history-of-azure environments at scale. Start a free trial at AppDynamics.com. https://en.wikipedia.org/wiki/Microsoft_Azure#Timeline

https://pivotal.io/microsoft

https://www.techrepublic.com/article/aws-now-10x-the-size-of-its-competitors-is-the-cloud-arms-race-over/

https://www.computerweekly.com/feature/Does-Microsoft-Azure-make-sense-for-developers http://searchcloudcomputing.techtarget.com/feature/Azure-adoption-gets-a-boost-but-challenges-remain

https://azure.microsoft.com/en-us/blog/topics/updates/

http://www.informationweek.com/cloud/infrastructure-as-a-service/ boeing-win-positions-azure-for-future-enterprise-growth/a/d-id/1326322

https://docs.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vs

https://www.microsoft.com/net/core#linuxredhat

https://weblogs.asp.net/scottgu/announcing-windows-azure-mobile-services

https://docs.microsoft.com/en-us/azure/app-service-web/app-service-continuous-deployment

http://searchcloudcomputing.techtarget.com/definition/Windows-Azure

https://azure.microsoft.com/en-us/features/xamarin/

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview

https://blog.appdynamics.com/news/appdynamics-interviews-container-expert-liz-rice/

https://www.appdynamics.com/java/

https://www.appdynamics.com/php/

https://www.appdynamics.com/nodejs/

https://www.appdynamics.com/net/