Azure Cloud Services
Author: Ronald Fung
Creation Date: 31 May 2023
Next Modified Date: 31 May 2024
A. Introduction
Important
Cloud Services (classic) is now deprecated for new customers and will be retired on August 31st, 2024 for all customers. New deployments should use the new Azure Resource Manager based deployment model [Azure Cloud Services (extended support)].
Azure Cloud Services is an example of a platform as a service (PaaS). Like Azure App Service, this technology is designed to support applications that are scalable, reliable, and inexpensive to operate. In the same way that App Service is hosted on virtual machines (VMs), so too is Azure Cloud Services. However, you have more control over the VMs. You can install your own software on VMs that use Azure Cloud Services, and you can access them remotely.
More control also means less ease of use. Unless you need the additional control options, it’s typically quicker and easier to get a web application up and running in the Web Apps feature of App Service compared to Azure Cloud Services.
There are two types of Azure Cloud Services roles. The only difference between the two is how your role is hosted on the VMs:
Web role
: Automatically deploys and hosts your app through IIS.Worker role
: Does not use IIS, and runs your app standalone.
For example, a simple application might use just a single web role, serving a website. A more complex application might use a web role to handle incoming requests from users, and then pass those requests on to a worker role for processing. (This communication might use Azure Service Bus or Azure Queue storage.)
As the preceding figure suggests, all the VMs in a single application run in the same cloud service. Users access the application through a single public IP address, with requests automatically load balanced across the application’s VMs. The platform scales and deploys the VMs in an Azure Cloud Services application in a way that avoids a single point of hardware failure.
Even though applications run in VMs, it’s important to understand that Azure Cloud Services provides PaaS, not infrastructure as a service (IaaS). Here’s one way to think about it. With IaaS, such as Azure Virtual Machines, you first create and configure the environment your application runs in. Then you deploy your application into this environment. You’re responsible for managing much of this world, by doing things such as deploying new patched versions of the operating system in each VM. In PaaS, by contrast, it’s as if the environment already exists. All you have to do is deploy your application. Management of the platform it runs on, including deploying new versions of the operating system, is handled for you.
B. How is it used at Seagen
As a biopharma research company that uses Microsoft Azure, there are many Azure cloud services that you can use to support your research efforts. Here are some of the Azure cloud services that Seagen can use:
Azure Machine Learning: Azure Machine Learning is a cloud-based machine learning platform that allows you to build, train, and deploy machine learning models. This service can be useful for drug discovery, predicting drug efficacy, and analyzing clinical data.
Azure Cognitive Services: Azure Cognitive Services are a set of APIs that allow you to add intelligent features to your applications, such as natural language processing, speech recognition, and image recognition. These services can be useful for analyzing medical images, processing patient data, and automating administrative tasks.
Azure Data Factory: Azure Data Factory is a cloud-based data integration service that allows you to move and transform data from various sources to various destinations. This service can be useful for integrating data from clinical trials, electronic health records, and other sources.
Azure SQL Database: Azure SQL Database is a cloud-based relational database service that allows you to store and manage structured data. This service can be useful for managing patient data, clinical trial data, and other types of structured data.
Azure Cosmos DB: Azure Cosmos DB is a globally distributed, multi-model database service that allows you to store and manage both structured and unstructured data. This service can be useful for managing large amounts of unstructured data, such as genetic sequences, protein structures, and other types of scientific data.
Azure Virtual Machines: Azure Virtual Machines allow you to create and run virtual machines in the cloud, which can be useful for running scientific simulations, data analysis, and other compute-intensive workloads.
Azure Batch: Azure Batch is a cloud-based service that provides managed batch processing and high-performance computing (HPC) workloads. This service can be useful for running large-scale parallel and HPC workloads, such as genetic sequencing, drug discovery, and data analysis.
Overall, there are many Azure cloud services that Seagen can use to support its research efforts. By leveraging these services, Seagen can more effectively manage and analyze data, build machine learning models, and run compute-intensive workloads, which can help accelerate drug discovery and improve patient outcomes.
C. Features
Azure cloud services offer a wide range of features and capabilities that can help businesses of all sizes meet their computing needs. Here are some of the key features of Azure cloud services:
Scalability: Azure cloud services can easily scale up or down to meet changing demand. This means that businesses can quickly and easily adjust their computing resources to match their needs, without having to worry about managing physical infrastructure.
Security: Azure cloud services offer a wide range of security features to help protect business data and applications. These include network isolation, security monitoring, encryption, and identity and access management.
Integration: Azure cloud services are designed to work seamlessly with other Microsoft products and services, as well as a wide range of third-party tools and applications. This makes it easy for businesses to integrate their existing tools and workflows with Azure.
Flexibility: Azure cloud services offer a wide range of options for compute, storage, and networking, allowing businesses to choose the resources that best fit their needs. Additionally, Azure supports multiple operating systems and programming languages, providing businesses with greater flexibility and choice.
Cost-effectiveness: Azure cloud services are designed to be cost-effective, with pay-as-you-go pricing and flexible pricing models that allow businesses to only pay for the resources they need.
High availability: Azure cloud services are designed to be highly available, with built-in redundancy and failover capabilities that help ensure that business-critical applications and data are always accessible.
Analytics: Azure cloud services offer a wide range of analytics tools and services, including machine learning, data warehousing, and big data analytics. This makes it easy for businesses to gain insights from their data and make better-informed decisions.
Overall, Azure cloud services offer a powerful set of features and capabilities that can help businesses of all sizes meet their computing needs. By leveraging these services, businesses can more easily scale their computing resources, improve security, integrate their workflows, gain insights from their data, and reduce costs.
D. Where Implemented
E. How it is tested
Testing Azure cloud services involves verifying that the services are properly configured and functioning as expected. Here are some steps you can take to test Azure cloud services:
Verify configuration: Verify that Azure cloud services are properly configured and integrated with your existing tools and workflows.
Test performance: Test Azure cloud services by running performance tests to verify that they can handle the expected amount of traffic and usage.
Test security: Test the security of Azure cloud services by verifying that access controls are properly configured and that data is properly encrypted and secured.
Test integration: Test the integration of Azure cloud services with other Microsoft products and third-party tools by verifying that data and workflows are properly integrated and that there are no compatibility issues.
Test scalability: Test the scalability of Azure cloud services by running tests at high volumes and verifying that resources are properly allocated and that there are no bottlenecks or performance issues.
Test cost-effectiveness: Test the cost-effectiveness of Azure cloud services by monitoring usage and verifying that the services are cost-effective for your business needs.
Test disaster recovery: Test the disaster recovery capabilities of Azure cloud services by simulating a disaster scenario and verifying that data and applications can be quickly and easily recovered.
Overall, testing Azure cloud services involves verifying that the services are properly configured and functioning as expected, testing performance, security, integration, scalability, cost-effectiveness, and disaster recovery capabilities. By testing Azure cloud services, you can ensure that your business is effectively using the services and that you are benefiting from the scalability, efficiency, and cost-effectiveness they provide.
F. 2023 Roadmap
????
G. 2024 Roadmap
????
H. Known Issues
As with any software or service, there may be known issues or limitations that users should be aware of when using Azure cloud services. Here are some of the known issues for Azure cloud services:
Limited availability zones: Azure cloud services may have limited availability zones in certain regions, which can impact the availability and reliability of your applications and data.
Network latency: Azure cloud services may be affected by network latency, which can impact the speed and reliability of data transfers and application performance.
Compatibility issues: Azure cloud services may have compatibility issues with certain applications, tools, and workflows, which can limit the ability of users to use the services with their existing software stack.
Cost: Azure cloud services can be expensive for businesses with limited budgets, particularly if they are not properly optimized for cost-effectiveness.
Complexity: Azure cloud services can be complex to configure and manage, which may require additional training and support for users.
Data protection regulations: Azure cloud services may be subject to data protection regulations in certain regions, which can impact the availability and reliability of your applications and data.
Overall, while Azure cloud services offer a powerful set of features and capabilities for businesses of all sizes, users must be aware of these known issues and take steps to mitigate their impact. This may include carefully selecting Azure cloud services that are compatible with their existing software stack, carefully configuring the services to meet the specific needs of their business, providing training and support to users to effectively use and manage the services, carefully evaluating the cost and complexity of the solutions to ensure that they are a good fit for their business, and carefully monitoring the services to ensure that they are meeting the needs of their business. By taking these steps, users can ensure that their applications and data are effectively using Azure cloud services and that their business is benefiting from the scalability, efficiency, and cost-effectiveness they provide.
[x] Reviewed by Enterprise Architecture
[x] Reviewed by Application Development
[x] Reviewed by Data Architecture