Convert Figma logo to code with AI

microsoft logoazurelinux

Linux OS for Azure 1P services and edge appliances

4,150
520
4,150
402

Top Related Projects

Azure Command-Line Interface

Microsoft Azure PowerShell

This repository is for active development of the Azure SDK for Python. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/python/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-python.

This repository is for active development of the Azure SDK for Java. For consumers of the SDK we recommend visiting our public developer docs at https://docs.microsoft.com/java/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-java.

This repository is for active development of the Azure SDK for .NET. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/dotnet/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-net.

This repository is for active development of the Azure SDK for JavaScript (NodeJS & Browser). For consumers of the SDK we recommend visiting our public developer docs at https://docs.microsoft.com/javascript/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-js.

Quick Overview

Azure Linux is Microsoft's open-source Linux distribution optimized for Azure cloud environments. It aims to provide a secure, performant, and cloud-native Linux experience for Azure customers, with regular updates and support from Microsoft.

Pros

  • Optimized performance for Azure cloud environments
  • Regular security updates and patches from Microsoft
  • Seamless integration with Azure services and tools
  • Built-in support for Azure-specific features and optimizations

Cons

  • Limited to Azure cloud environments, not suitable for on-premises or other cloud providers
  • Relatively new compared to established Linux distributions, potentially less community support
  • May have a learning curve for users familiar with other Linux distributions
  • Potential vendor lock-in to Microsoft's ecosystem

Getting Started

To get started with Azure Linux, follow these steps:

  1. Log in to the Azure Portal (https://portal.azure.com)
  2. Create a new virtual machine
  3. In the "Image" section, search for "Azure Linux" and select the desired version
  4. Configure the VM settings as needed
  5. Create and deploy the VM
  6. Connect to the VM using SSH or Azure Bastion

Once connected, you can start using Azure Linux like any other Linux distribution, with the added benefit of Azure-specific optimizations and features.

Competitor Comparisons

Azure Command-Line Interface

Pros of azure-cli

  • More comprehensive Azure management capabilities
  • Extensive documentation and community support
  • Cross-platform compatibility (Windows, macOS, Linux)

Cons of azure-cli

  • Larger installation footprint
  • Steeper learning curve for beginners
  • Frequent updates may require regular maintenance

Code Comparison

azure-cli:

from azure.cli.core import get_default_cli

az_cli = get_default_cli()
az_cli.invoke(['vm', 'list'])

azurelinux:

# No direct equivalent, as azurelinux is an operating system,
# not a command-line tool for Azure management

Key Differences

  • Purpose: azure-cli is a command-line tool for managing Azure resources, while azurelinux is a Linux distribution optimized for Azure.
  • Scope: azure-cli focuses on Azure service management, whereas azurelinux provides a complete operating system environment.
  • Usage: azure-cli is used by administrators and developers to interact with Azure services, while azurelinux serves as a host OS for Azure VMs and containers.

Use Cases

  • azure-cli: Automating Azure resource management, CI/CD pipelines, and scripting Azure operations.
  • azurelinux: Running workloads on Azure VMs, containerized applications, and cloud-native services.

Microsoft Azure PowerShell

Pros of azure-powershell

  • Extensive PowerShell cmdlets for managing Azure resources
  • Familiar syntax for Windows administrators
  • Supports both Windows PowerShell and cross-platform PowerShell Core

Cons of azure-powershell

  • Limited to PowerShell scripting language
  • May have a steeper learning curve for non-Windows users
  • Requires PowerShell runtime to be installed

Code Comparison

azure-powershell:

# Create a new Azure VM
New-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM" -Location "EastUS" -Image "UbuntuLTS"

azurelinux:

# Create a new Azure VM using Azure CLI
az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --location eastus

Summary

azure-powershell is a comprehensive PowerShell module for managing Azure resources, offering a familiar environment for Windows administrators. It provides extensive cmdlets but is limited to the PowerShell ecosystem.

azurelinux, on the other hand, is a Linux-based solution for Azure, offering a more native experience for Linux users and developers. It provides a broader range of tools and utilities beyond just resource management, making it more versatile for Linux-centric Azure deployments.

The choice between these repositories depends on the user's preferred environment, existing skillset, and specific project requirements.

This repository is for active development of the Azure SDK for Python. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/python/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-python.

Pros of azure-sdk-for-python

  • Provides comprehensive Python libraries for Azure services
  • Regularly updated with new Azure features and improvements
  • Extensive documentation and code samples available

Cons of azure-sdk-for-python

  • Larger codebase and potentially steeper learning curve
  • May require more frequent updates to keep pace with Azure changes
  • Python-specific, not suitable for other programming languages

Code Comparison

azure-sdk-for-python:

from azure.identity import DefaultAzureCredential
from azure.mgmt.compute import ComputeManagementClient

credential = DefaultAzureCredential()
compute_client = ComputeManagementClient(credential, subscription_id)

azurelinux:

#!/bin/bash
az login
az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --generate-ssh-keys

Summary

azure-sdk-for-python is a comprehensive Python library for interacting with Azure services, offering extensive functionality and regular updates. It's ideal for Python developers working with Azure but may have a steeper learning curve.

azurelinux, on the other hand, is a Linux distribution optimized for Azure. It provides a lightweight, efficient operating system for running workloads on Azure, with built-in tools and optimizations for the platform.

The choice between these repositories depends on the specific use case: azure-sdk-for-python for Python-based Azure development, and azurelinux for running optimized Linux workloads on Azure.

This repository is for active development of the Azure SDK for Java. For consumers of the SDK we recommend visiting our public developer docs at https://docs.microsoft.com/java/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-java.

Pros of azure-sdk-for-java

  • Provides comprehensive Java SDK for Azure services
  • Regularly updated with new Azure features and improvements
  • Extensive documentation and code samples available

Cons of azure-sdk-for-java

  • Larger codebase and potentially steeper learning curve
  • Focused solely on Java development for Azure

Code Comparison

azure-sdk-for-java:

BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
    .connectionString(connectionString)
    .buildClient();
BlobContainerClient containerClient = blobServiceClient.createBlobContainer("mycontainer");
BlobClient blobClient = containerClient.getBlobClient("sample-blob");
blobClient.upload(new ByteArrayInputStream(data), data.length);

azurelinux:

# No direct code comparison available as azurelinux is an operating system
# and not a programming SDK. However, here's an example of using Azure CLI
# on Azure Linux to interact with Azure Blob Storage:
az storage blob upload --account-name myaccount --container-name mycontainer \
    --name sample-blob --file /path/to/local/file

Note: The azurelinux repository is focused on providing a Linux-based operating system optimized for Azure, while azure-sdk-for-java is a software development kit for Java applications interacting with Azure services. The code comparison showcases the difference in approach between using a Java SDK and command-line tools on an Azure-optimized Linux system.

This repository is for active development of the Azure SDK for .NET. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/dotnet/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-net.

Pros of azure-sdk-for-net

  • Comprehensive .NET SDK for Azure services
  • Regularly updated with new Azure features
  • Extensive documentation and samples

Cons of azure-sdk-for-net

  • Larger codebase and potential complexity
  • Specific to .NET development
  • May require more frequent updates to stay current with Azure changes

Code Comparison

azure-sdk-for-net:

using Azure.Storage.Blobs;

BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(containerName);
await containerClient.CreateIfNotExistsAsync();

azurelinux:

#!/bin/bash
# Example Azure CLI command for Azure Linux
az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --image Ubuntu2204

Key Differences

  • azure-sdk-for-net focuses on .NET development for Azure services
  • azurelinux is a Linux distribution optimized for Azure
  • azure-sdk-for-net provides programmatic access to Azure services
  • azurelinux is an operating system designed to run on Azure VMs

Use Cases

  • azure-sdk-for-net: Developing .NET applications that interact with Azure services
  • azurelinux: Running Linux workloads on Azure with optimized performance and security

This repository is for active development of the Azure SDK for JavaScript (NodeJS & Browser). For consumers of the SDK we recommend visiting our public developer docs at https://docs.microsoft.com/javascript/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-js.

Pros of azure-sdk-for-js

  • Focused on JavaScript/TypeScript development for Azure services
  • Extensive documentation and examples for various Azure services
  • Regular updates and active community support

Cons of azure-sdk-for-js

  • Limited to Azure-specific development, not a general-purpose Linux distribution
  • Requires knowledge of JavaScript/TypeScript and Azure services
  • May have a steeper learning curve for developers new to Azure

Code Comparison

azure-sdk-for-js:

import { BlobServiceClient } from "@azure/storage-blob";

const blobServiceClient = BlobServiceClient.fromConnectionString(connectionString);
const containerClient = blobServiceClient.getContainerClient(containerName);
await containerClient.uploadBlockBlob(blobName, data, data.length);

azurelinux:

# No direct code comparison available as azurelinux is an operating system,
# not a programming library. However, here's an example of using Azure CLI
# on Azure Linux to interact with Azure services:

az storage blob upload --account-name myaccount --container-name mycontainer --name myblob --file /path/to/file

Summary

azure-sdk-for-js is a JavaScript/TypeScript SDK for Azure services, while azurelinux is a Linux distribution optimized for Azure. The former is ideal for developers building Azure-integrated applications, while the latter is suitable for running Linux workloads on Azure. Choose based on your specific development or deployment needs.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Azure Linux

Azure Linux is an internal Linux distribution for Microsoft’s cloud infrastructure and edge products and services. Azure Linux is designed to provide a consistent platform for these devices and services and will enhance Microsoft’s ability to stay current on Linux updates. This initiative is part of Microsoft’s increasing investment in a wide range of Linux technologies, such as SONiC and Windows Subsystem for Linux (WSL). Azure Linux is being shared publicly as part of Microsoft’s commitment to Open Source and to contribute back to the Linux community. Azure Linux does not change our approach or commitment to any existing third-party Linux distribution offerings.

Azure Linux has been engineered with the notion that a small common core set of packages can address the universal needs of first party cloud and edge services while allowing individual teams to layer additional packages on top of the common core to produce images for their workloads. This is made possible by a simple build system that enables:

  • Package Generation: This produces the desired set of RPM packages from SPEC files and source files.
  • Image Generation: This produces the desired image artifacts like ISOs or VHDs from a given set of packages.

Whether deployed as a container or a container host, Azure Linux consumes limited disk and memory resources. The lightweight characteristics of Azure Linux also provides faster boot times and a minimal attack surface. By focusing the features in the core image to just what is needed for our internal cloud customers there are fewer services to load, and fewer attack vectors.

When security vulnerabilities arise, Azure Linux supports both a package-based update model and an image based update model. Leveraging the common RPM Package Manager system, Azure Linux makes the latest security patches and fixes available for download with the goal of fast turn-around times.

Getting Started with Azure Linux

NOTE: Looking for CBL-Mariner 2.0 Source? Click here

Build

Instructions for building Azure Linux 3.0 may be found here: Toolkit Documentation.

ISO

To try Azure Linux Download the ISO here: Azure Linux 3.0 x86_64 ISO

Before using a downloaded ISO, verify the checksum and signature of the image.

After downloading the ISO, use the quickstart instructions to install and use the image in a Hyper-V VM.

Note: Support for the ISO is community based. Before filing a new bug or feature request, please search the list of Github Issues. If you are unable to find a matching issue, please report new bugs by clicking here or create a new feature request by clicking here. For additional information refer to the support.md file.

Getting Help

  • Bugs, feature requests and questions can be filed as GitHub issues.
  • We are starting a public community call for Azure Linux users to get together and discuss new features, provide feedback, and learn more about how others are using Azure Linux. In each session, we will feature a new demo. The schedule for the upcoming community calls are:
  • 7/25/24 from 8-9am (PST) Click to join
  • 9/26/24 from 8-9am (PST) Click to join

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

Acknowledgments

Any Linux distribution, including Azure Linux, benefits from contributions by the open software community. We gratefully acknowledge all contributions made from the broader open source community, in particular:

  1. GNU and the Free Software Foundation

  2. The Fedora Project for SPEC files, particularly with respect to Qt, DNF and content in the SPECS-EXTENDED folder.

  3. The Photon OS Project for SPEC files originating from the Photon distribution.

  4. Linux from Scratch

  5. And other open source projects as referenced here