Author: ultroni1

  • Set up, configure, and troubleshoot GitHub Copilot

    This unit explains how to sign up for GitHub Copilot, how to configure GitHub Copilot by using VS Code, and how to troubleshoot GitHub Copilot by using VS Code.

    Sign up for GitHub Copilot

    Before you can start using GitHub Copilot, you need to set up a free trial or subscription for your account.

    To get started, select your GitHub profile photo, and then select Settings. Copilot is on the left menu under Code, planning, and automation.

    After you sign up, you need to install an extension for your preferred environment. GitHub Copilot supports GitHub.com (which doesn’t need an extension), VS Code, Visual Studio, JetBrains IDEs, and Neovim as an unobtrusive extension.

    For this module, you’ll just review extensions and configurations for VS Code. The exercise that you’ll complete in the next unit uses VS Code.

    If you’re using a different environment, you can find specific links to set up other environments in the “References” section at the end of this module.

    Configure GitHub Copilot in VS Code

    Add the VS Code extension for GitHub Copilot

    1. In Visual Studio Marketplace, go to the GitHub Copilot extension page and select Install.
    2. A popup dialog asks you to open VS Code. Select Open.
    3. In VS Code, on the Extension: GitHub Copilot tab, select Install.
    4. If you didn’t previously authorize VS Code in your GitHub account, you’re prompted to sign in to GitHub in VS Code. Select Sign in to GitHub.

    GitHub Copilot can autocomplete code as you type when you use VS Code. After installation, you can enable or disable GitHub Copilot, and you can configure advanced settings within VS Code.

    Enable or disable GitHub Copilot in VS Code

    1. On the bottom pane of the VS Code window, select the status icon, and then select Enable or Disable.Screenshot of the status icon for GitHub Copilot in Visual Studio Code. When GitHub Copilot is enabled, the background color matches the color of the status bar.
    2. When you’re disabling GitHub Copilot, VS Code asks whether you want to disable completions globally or for the language of the file that you’re currently editing.
      • To disable GitHub Copilot completions globally, select Disable completions.
      • To disable GitHub Copilot completions for a specified language, select Disable completions for LANGUAGE.

    Enable or disable inline suggestions in VS Code

    1. On the File menu, select Preferences > Settings.Screenshot of the File menu in Visual Studio Code. The Preferences dropdown submenu is open with the Settings command selected.
    2. On the left-side pane of the Settings tab, select Extensions, and then select GitHub Copilot.
    3. Under Editor: Enable Auto Completions, select or clear the checkbox to enable or disable inline suggestions.

    Additionally, you can choose to enable or disable inline suggestions and specify for which languages you want to enable or disable GitHub Copilot.

    Troubleshoot GitHub Copilot in VS Code

    In VS Code, the log files are useful for diagnosing connection problems. The GitHub Copilot extension stores the log files in the standard log location for VS Code extensions. You can find the log files by opening the command palette and then entering either Developer: Open Log File or Developer: Open Extensions Logs Folder.

    In rare cases, errors might not be logged in the regular locations. If you encounter errors and nothing is in the logs, you might try to view the logs from the process that’s running VS Code and the extension. This process enables you to view the Electron logs. You can find these logs by selecting Help > Toggle Developer Tools in VS Code.

    Network restrictions, firewalls, or your proxy might cause problems when you’re connecting to GitHub Copilot. If a problem occurs, use the following steps to open a new editor with the relevant information that you can inspect yourself or share with the support team:

    1. Open the VS Code command palette, and then:
      • For Mac, use Shift+Command+P.
      • For Windows or Linux, use Ctrl+Shift+P.
    2. Enter Diagnostics, and then select GitHub Copilot: Collect Diagnostics from the list.

    For more information on how to troubleshoot in other environments, check out the “References” section at the end of this module.

    https://lernix.com.my/sap-erp-procurement-material-management-training-courses-malaysia

  • Interact with Copilot

    This unit explores ways that you can maximize your interaction with GitHub Copilot in your development environment. By understanding the service’s features and capabilities, you learn how to use it effectively.

    The following sections describe the various ways to trigger and use GitHub Copilot, along with examples and shortcuts to help you get the most out of it.

    Inline suggestions

    Inline suggestions are the most immediate form of assistance in Copilot. As you type, Copilot analyzes your code and context to offer real-time code completions. This feature predicts what you might want to write next and displays suggestions in a subtle, unobtrusive way.

    The suggestions that Copilot offers appear as grayed-out text ahead of your cursor.

    • To accept a suggestion, select the Tab key or the > (right arrow) key.
    • To reject a suggestion, keep typing or select the Esc key.

    Inline suggestions are especially useful when you’re working on repetitive tasks or you need quick boilerplate code.

    Here’s an example:

    PythonCopy

    def calculate_average(numbers):
        # Start typing here and watch Copilot suggest the function body
    

    Command palette

    The command palette provides quick access to the various functions in Copilot, so you can perform complex tasks with only a few keystrokes.

    1. Open the command palette in Visual Studio Code by selecting Ctrl+Shift+P (Windows or Linux) or Cmd+Shift+P (Mac).
    2. Enter Copilot to see available commands.
    3. Select actions like Explain This or Generate Unit Tests to get assistance.

    Copilot chat

    Copilot chat is an interactive feature that enables you to communicate with Copilot by using natural language. You can ask questions or request code snippets, and Copilot provides responses based on your input.

    1. Open the Copilot chat panel in your IDE.
    2. Enter questions or requests in natural language, and then evaluate the Copilot response.

    For example, you might enter: “How do I implement a binary search in Python?” Copilot chat is ideal for exploring new coding concepts or getting help with unfamiliar syntax.

    Copilot might respond with:

    PythonCopy

    def binary_search(arr, target):
        left, right = 0, len(arr) - 1
        while left <= right:
            mid = (left + right) // 2
            if arr[mid] == target:
                return mid
            elif arr[mid] < target:
                left = mid + 1
            else:
                right = mid - 1
        return -1
    

    Inline chat

    Inline chat enables context-specific conversations with Copilot directly within your code editor. You can use this feature to request code modifications or explanations without switching contexts.

    1. Place your cursor where you want assistance.
    2. Use the keyboard shortcut Ctrl+I (Windows or Linux) or Cmd+I (Mac) to open inline chat.
    3. Ask questions or request changes specific to that code location.

    Inline chat helps you focus on a specific section of your code and receive targeted advice. Additionally, you can utilize slash commands for more efficient interaction.

    Slash commands are shortcuts that allow you to quickly perform actions in Copilot. These commands provide a convenient way to interact with Copilot without needing to navigate through menus.

    Here are some common slash commands and their usage:

    • /explain – Provides an explanation of the selected code.
    • /suggest – Offers code suggestions based on the current context.
    • /tests – Generates unit tests for the selected function or class.
    • /comment – Converts comments into code snippets.

    To use a slash command, just type the command in your editor and press Enter. For example:

    PythonCopy

    # Select the function, use the shortcut to open the inline chat, and type: /explain
    def calculate_average(numbers):
    

    Comments to code

    Copilot uses natural language processing to convert comments into code. You can describe the functionality that you want in a comment. When you select the Enter key, Copilot generates code based on your description.

    Here’s an example:

    PythonCopy

    # Function to reverse a string
    def reverse_string(s):
        # Copilot suggests the function body here
    

    PythonCopy

    ## Function to reverse a string
    def reverse_string(s):
        return s[::-1]
    

    This approach is beneficial for drafting code quickly, especially when your task is straightforward.

    Multiple suggestions

    For complex code snippets, Copilot can offer multiple alternatives.

    1. When Copilot offers a suggestion, look for the light bulb icon.
    2. Select the icon or use Alt+] (Windows/Linux) or Option+] (Mac) to cycle through alternatives.

    Multiple suggestions help you explore different coding approaches and select the most appropriate one.

    Explanations

    Understanding existing code is crucial, especially in large projects. You can use the Explain This feature to get explanations for code snippets.

    1. Select a block of code.
    2. Right-click the code block, and then select Copilot: Explain This on the shortcut menu.
    3. Read the explanation that Copilot provides for the selected code.

    This feature is useful for learning purposes and when you’re reviewing code that someone else wrote.

    Automated test generation

    Unit tests are essential for ensuring code quality and reliability. Copilot can save you time and effort by generating unit tests for your functions or classes.

    1. Select a function or class.
    2. Use the command palette to select Copilot: Generate Unit Tests.
    3. Review the test cases that Copilot suggests for your code.

    Here’s an example:

    PythonCopy

    def add(a, b):
        return a + b
    
    # Copilot might generate a test like this:
    def test_add():
        assert add(2, 3) == 5
        assert add(-1, 1) == 0
        assert add(0, 0) == 0
    

    Automated test generation helps you maintain code integrity and catch bugs early in the development process.

    Keep in mind that Copilot learns from context. Keeping your code well structured and commented helps Copilot provide more accurate and relevant assistance. The more you interact with Copilot, the better it becomes at understanding your coding style and preferences.

    https://lernix.com.my/sap-erp-pp-production-planning-training-courses-malaysia

  • GitHub Copilot, your AI pair programmer

    It’s no secret that AI is disrupting the technology industry. AI is shaping how development teams work and build software. These advancements in AI can enhance the productivity of developers around the world.

    The addition of AI features to the developer tools that you use and love helps you collaborate, develop, test, and ship your products faster and more efficiently than ever before. GitHub Copilot is a service that provides you with an AI pair programmer that works with all of the popular programming languages.

    In recent research, GitHub and Microsoft found that developers experience a significant productivity boost when they use GitHub Copilot to work on real-world projects and tasks. In fact, in the three years since its launch, developers have experienced the following benefits while using GitHub Copilot:

    • 46% of new code now written by AI
    • 55% faster overall developer productivity
    • 74% of developers feeling more focused on satisfying work

    Microsoft developed GitHub Copilot in collaboration with OpenAI. GitHub Copilot is powered by the OpenAI Codex system. OpenAI Codex has broad knowledge of how people use code and is more capable than GPT-3 in code generation. OpenAI Codex is more capable, in part, because it was trained on a dataset that included a larger concentration of public source code.

    GitHub Copilot is available as an extension for VS Code, Visual Studio, Vim/Neovim, and the JetBrains suite of IDEs.

    GitHub Copilot features

    GitHub Copilot started an AI pair programmer that keeps developers in the flow by autocompleting comments and code. But AI-powered autocompletion was just the starting point.

    Here are some features of GitHub Copilot that truly make it a modern developer tool. With these features, GitHub Copilot is more than just an editor. It’s becoming a readily accessible AI assistant throughout the entire development life cycle.

    Copilot for chat

    GitHub Copilot brings a ChatGPT-like chat interface to the editor. The chat interface focuses on developer scenarios and natively integrates with VS Code and Visual Studio. It’s deeply embedded in the IDE, and it recognizes what code a developer has typed and what error messages appear. A developer can get in-depth analysis and explanations of what code blocks are intended to do, generate unit tests, and even get proposed fixes to bugs.

    Copilot for pull requests

    OpenAI’s GPT-4 model adds support in GitHub Copilot for AI-powered tags in pull-request descriptions through a GitHub app that organization admins and individual repository owners can install. GitHub Copilot automatically fills out these tags based on the changed code. Developers can then review or modify the suggested descriptions.

    Copilot for the CLI

    Next to the editor and pull requests, the terminal is the place where developers spend the most time. However, even the most proficient developers need to scroll through many pages to remember the precise syntax of many commands. The GitHub Copilot command-line interface (CLI) can compose commands and loops, and it can throw obscure find flags to satisfy your query.

    Subscription plans

    GitHub Copilot is available in several plans, each offering different capabilities for individuals, teams, and organizations.

    GitHub Copilot Free

    GitHub Copilot Free allows individual developers to use GitHub Copilot at no cost. To get started, open Visual Studio Code, click on the GitHub Copilot icon, and then click “Sign in to Use GitHub Copilot for Free”. Log in to your GitHub account in the window that will open in the browser.

    The GitHub Copilot Free tier includes 2000 code completions per month, 50 chat requests per month, and access to both GPT-4o and Claude 3.5 Sonnet models. Learn more.

    Key features:

    • Code completions in supported editors
    • Limited monthly completions and chat requests
    • Access to advanced AI models

    GitHub Copilot Pro

    GitHub Copilot Pro is designed for individual developers who want enhanced capabilities beyond the Free plan.

    Key features:

    • Unlimited code completions and chat requests
    • Priority access to the latest AI models
    • Advanced code suggestions and explanations
    • Integration with supported IDEs (VS Code, Visual Studio, JetBrains, Neovim)
    • Automated test generation and code explanation features

    GitHub Copilot Pro+

    Copilot Pro+ includes all the features of Copilot Pro with additional access to premium model usage and priority performance on high-demand resources. It’s suited for individuals with higher usage needs.

    Key features:

    • All Pro features
    • Additional premium request capacity
    • Priority infrastructure access

    GitHub Copilot Business

    GitHub Copilot Business is for organizations that want to manage Copilot access and benefit from additional security and compliance features.

    Key features:

    • All Pro and Pro+ features for organization members
    • Centralized management and policy controls
    • Security vulnerability filtering
    • Code referencing and public code filtering
    • IP indemnity and enterprise-grade security, safety, and privacy
    • Chat in IDE and mobile
    • Filter for public code

    GitHub Copilot Enterprise

    GitHub Copilot Enterprise is designed for large organizations and enterprises that require advanced capabilities, deeper integration, and enhanced personalization.

    Key features:

    • All Business features
    • Personalized code suggestions based on internal/private code
    • Integration with GitHub Enterprise Cloud
    • AI-powered search and documentation generation across your codebase
    • Enhanced pull request support with AI-powered tags and summaries
    • Organization-wide customization and fine-tuning of Copilot models
    • Deep integration with GitHub for chat and codebase exploration.

    GitHub Copilot Enterprise includes everything in GitHub Copilot Business, plus a layer of personalization for organizations. It provides integration into GitHub as a chat interface, so developers can converse about their codebase. It also provides action buttons throughout the platform.

    GitHub Copilot Enterprise can index an organization’s codebase for a deeper understanding and for suggestions that are more tailored. It offers access to GitHub Copilot customization to fine-tune private models for code completion.

    In the next unit, you’ll learn about how to get started with GitHub Copilot and some common configurations.

    https://lernix.com.my/sap-fico-financial-accounting-training-courses-malaysia

  • Create a chat client

    A common scenario in an AI application is to connect to a generative AI model and use prompts to engage in a chat-based dialog with it.

    While you can use the Azure OpenAI SDK, to connect “directly” to a model using key-based or Microsoft Entra ID authentication; when your model is deployed in an Azure AI Foundry project, you can also use the Azure AI Foundry SDK to retrieve a project client, from which you can then get an authenticated OpenAI chat client for any models deployed in the project’s Azure AI Foundry resource. This approach makes it easy to write code that consumes models deployed in your project, switching between them easily by changing the model deployment name parameter.

     Tip

    You can use the OpenAI chat client provided by an Azure AI Foundry project to chat with any model deployed in the associated Azure AI Foundry resource – even non-OpenAI models, such as Microsoft Phi models.

    The following Python code sample uses the get_openai_client() method to get an OpenAI client with which to chat with a model that has been deployed in the project’a Azure AI Foundry resource.

    PythonCopy

    from azure.identity import DefaultAzureCredential
    from azure.ai.projects import AIProjectClient
    from openai import AzureOpenAI
    
    try:
        
        # connect to the project
        project_endpoint = "https://......"
        project_client = AIProjectClient(            
                credential=DefaultAzureCredential(),
                endpoint=project_endpoint,
            )
        
        # Get a chat client
        chat_client = project_client.get_openai_client(api_version="2024-10-21")
        
        # Get a chat completion based on a user-provided prompt
        user_prompt = input("Enter a question:")
        
        response = chat_client.chat.completions.create(
            model=your_model_deployment_name,
            messages=[
                {"role": "system", "content": "You are a helpful AI assistant."},
                {"role": "user", "content": user_prompt}
            ]
        )
        print(response.choices[0].message.content)
    
    except Exception as ex:
        print(ex)

    https://lernix.com.my/sap-s-4-hana-training-courses-malaysia

  • Work with project connections

    Each Azure AI Foundry project includes connected resources, which are defined both at the parent (Azure AI Foundry resource or hub) level, and at the project level. Each resource is a connection to an external service, such as Azure storage, Azure AI Search, Azure OpenAI, or another Azure AI Foundry resource.

    Screenshot of the connected resources page in Azure AI Foundry portal.

    With the Azure AI Foundry SDK, you can connect to a project and retrieve connections; which you can then use to consume the connected services.

    For example, the AIProjectClient object in Python has a connections property, which you can use to access the resource connections in the project. Methods of the connections object include:

    • connections.list(): Returns a collection of connection objects, each representing a connection in the project. You can filter the results by specifying an optional connection_type parameter with a valid enumeration, such as ConnectionType.AZURE_OPEN_AI.
    • connections.get(connection_name, include_credentials): Returns a connection object for the connection with the name specified. If the include_credentials parameter is True (the default value), the credentials required to connect to the connection are returned – for example, in the form of an API key for an Azure AI services resource.

    The connection objects returned by these methods include connection-specific properties, including credentials, which you can use to connect to the associated resource.

    The following code example lists all of the resource connections that have been added to a project:

    PythonCopy

    from azure.identity import DefaultAzureCredential
    from azure.ai.projects import AIProjectClient
    
    try:
    
        # Get project client
        project_endpoint = "https://....."
        project_client = AIProjectClient(            
                credential=DefaultAzureCredential(),
                endpoint=project_endpoint,
            )
        
        ## List all connections in the project
        connections = project_client.connections
        print("List all connections:")
        for connection in connections.list():
            print(f"{connection.name} ({connection.type})")
    
    except Exception as ex:
        print(ex)
    

    https://lernix.com.my/sap-supply-chain-management-scm-training-courses-malaysia

  • What is the Azure AI Foundry SDK?

    Azure AI Foundry provides a REST API that you can use to work with AI Foundry projects and the resources they contain. Additionally, multiple language-specific SDKs are available, enabling developers to write code that uses resources in an Azure AI Foundry project in their preferred development language. With an Azure AI Foundry SDK, developers can create applications that connect to a project, access the resource connections and models in that project, and use them to perform AI operations, such as sending prompts to a generative AI model and processing the responses.

    https://lernix.com.my/sap-wm-warehouse-management-training-courses-malaysia

  • Describe the purpose of tags

    As your cloud usage grows, it’s increasingly important to stay organized. A good organization strategy helps you understand your cloud usage and can help you manage costs.

    One way to organize related resources is to place them in their own subscriptions. You can also use resource groups to manage related resources. Resource tags are another way to organize resources. Tags provide extra information, or metadata, about your resources. This metadata is useful for:

    • Resource management Tags enable you to locate and act on resources that are associated with specific workloads, environments, business units, and owners.
    • Cost management and optimization Tags enable you to group resources so that you can report on costs, allocate internal cost centers, track budgets, and forecast estimated cost.
    • Operations management Tags enable you to group resources according to how critical their availability is to your business. This grouping helps you formulate service-level agreements (SLAs). An SLA is an uptime or performance guarantee between you and your users.
    • Security Tags enable you to classify data by its security level, such as public or confidential.
    • Governance and regulatory compliance Tags enable you to identify resources that align with governance or regulatory compliance requirements, such as ISO 27001. Tags can also be part of your standards enforcement efforts. For example, you might require that all resources be tagged with an owner or department name.
    • Workload optimization and automation Tags can help you visualize all of the resources that participate in complex deployments. For example, you might tag a resource with its associated workload or application name and use software such as Azure DevOps to perform automated tasks on those resources.

    How do I manage resource tags?

    You can add, modify, or delete resource tags through Windows PowerShell, the Azure CLI, Azure Resource Manager templates, the REST API, or the Azure portal.

    You can use Azure Policy to enforce tagging rules and conventions. For example, you can require that certain tags be added to new resources as they’re provisioned. You can also define rules that reapply tags that have been removed. Resources don’t inherit tags from subscriptions and resource groups, meaning that you can apply tags at one level and not have those tags automatically show up at a different level, allowing you to create custom tagging schemas that change depending on the level (resource, resource group, subscription, and so on).

    An example tagging structure

    A resource tag consists of a name and a value. You can assign one or more tags to each Azure resource.

    NameValue
    AppNameThe name of the application that the resource is part of.
    CostCenterThe internal cost center code.
    OwnerThe name of the business owner who’s responsible for the resource.
    EnvironmentAn environment name, such as “Prod,” “Dev,” or “Test.”
    ImpactHow important the resource is to business operations, such as “Mission-critical,” “High-impact,” or “Low-impact.”

    Keep in mind that you don’t need to enforce that a specific tag is present on all of your resources. For example, you might decide that only mission-critical resources have the Impact tag. All non-tagged resources would then not be considered as mission-critical.

    https://lernix.com.my/microsoft-sharepoint-certification-training-courses-malaysia

  • Describe the Microsoft Cost Management tool

    Microsoft Azure is a global cloud provider, meaning you can provision resources anywhere in the world. You can provision resources rapidly to meet a sudden demand, or to test out a new feature, or on accident. If you accidentally provision new resources, you may not be aware of them until it’s time for your invoice. Cost Management is a service that helps avoid those situations.

    What is Cost Management?

    Cost Management provides the ability to quickly check Azure resource costs, create alerts based on resource spend, and create budgets that can be used to automate management of resources.

    Cost analysis is a subset of Cost Management that provides a quick visual for your Azure costs. Using cost analysis, you can quickly view the total cost in a variety of different ways, including by billing cycle, region, resource, and so on.

    Screenshot of initial view of cost analysis in the Azure portal.

    You use cost analysis to explore and analyze your organizational costs. You can view aggregated costs by organization to understand where costs are accrued and to identify spending trends. And you can see accumulated costs over time to estimate monthly, quarterly, or even yearly cost trends against a budget.

    Cost alerts

    Cost alerts provide a single location to quickly check on all of the different alert types that may show up in the Cost Management service. The three types of alerts that may show up are:

    • Budget alerts
    • Credit alerts
    • Department spending quota alerts.

    Budget alerts

    Budget alerts notify you when spending, based on usage or cost, reaches or exceeds the amount defined in the alert condition of the budget. Cost Management budgets are created using the Azure portal or the Azure Consumption API.

    In the Azure portal, budgets are defined by cost. Budgets are defined by cost or by consumption usage when using the Azure Consumption API. Budget alerts support both cost-based and usage-based budgets. Budget alerts are generated automatically whenever the budget alert conditions are met. You can view all cost alerts in the Azure portal. Whenever an alert is generated, it appears in cost alerts. An alert email is also sent to the people in the alert recipients list of the budget.

    Credit alerts

    Credit alerts notify you when your Azure credit monetary commitments are consumed. Monetary commitments are for organizations with Enterprise Agreements (EAs). Credit alerts are generated automatically at 90% and at 100% of your Azure credit balance. Whenever an alert is generated, it’s reflected in cost alerts, and in the email sent to the account owners.

    Department spending quota alerts

    Department spending quota alerts notify you when department spending reaches a fixed threshold of the quota. Spending quotas are configured in the EA portal. Whenever a threshold is met, it generates an email to department owners, and appears in cost alerts. For example, 50 percent or 75 percent of the quota.

    Budgets

    A budget is where you set a spending limit for Azure. You can set budgets based on a subscription, resource group, service type, or other criteria. When you set a budget, you will also set a budget alert. When the budget hits the budget alert level, it will trigger a budget alert that shows up in the cost alerts area. If configured, budget alerts will also send an email notification that a budget alert threshold has been triggered.

    A more advanced use of budgets enables budget conditions to trigger automation that suspends or otherwise modifies resources once the trigger condition has occurred.

    https://lernix.com.my/microsoft-sql-server-certification-training-courses-malaysia

  • Describe factors that can affect costs in Azure

    The following video provides an introduction to things that can impact your costs in Azure.

    https://learn-video.azurefd.net/vod/player?id=ef760ebd-b3c1-44d8-9628-2b54c45fcbfe&locale=en-us&embedUrl=%2Ftraining%2Fmodules%2Fdescribe-cost-management-azure%2F2-describe-factors-affect-costs-azure

    Azure shifts development costs from the capital expense (CapEx) of building out and maintaining infrastructure and facilities to an operational expense (OpEx) of renting infrastructure as you need it, whether it’s compute, storage, networking, and so on.

    That OpEx cost can be impacted by many factors. Some of the impacting factors are:

    • Resource type
    • Consumption
    • Maintenance
    • Geography
    • Subscription type
    • Azure Marketplace

    Resource type

    A number of factors influence the cost of Azure resources. The type of resources, the settings for the resource, and the Azure region will all have an impact on how much a resource costs. When you provision an Azure resource, Azure creates metered instances for that resource. The meters track the resources’ usage and generate a usage record that is used to calculate your bill.

    Examples

    With a storage account, you specify a type such as blob, a performance tier, an access tier, redundancy settings, and a region. Creating the same storage account in different regions may show different costs and changing any of the settings may also impact the price.

    Screenshot of storage blob settings showing hot and cool access tiers.

    With a virtual machine (VM), you may have to consider licensing for the operating system or other software, the processor and number of cores for the VM, the attached storage, and the network interface. Just like with storage, provisioning the same virtual machine in different regions may result in different costs.

    Screenshot of Azure virtual machine settings showing the virtual machine size options.

    Consumption

    Pay-as-you-go has been a consistent theme throughout, and that’s the cloud payment model where you pay for the resources that you use during a billing cycle. If you use more compute this cycle, you pay more. If you use less in the current cycle, you pay less. It’s a straight forward pricing mechanism that allows for maximum flexibility.

    However, Azure also offers the ability to commit to using a set amount of cloud resources in advance and receiving discounts on those “reserved” resources. Many services, including databases, compute, and storage all provide the option to commit to a level of use and receive a discount, in some cases up to 72 percent.

    When you reserve capacity, you’re committing to using and paying for a certain amount of Azure resources during a given period (typically one or three years). With the back-up of pay-as-you-go, if you see a sudden surge in demand that eclipses what you’ve pre-reserved, you just pay for the additional resources in excess of your reservation. This model allows you to recognize significant savings on reliable, consistent workloads while also having the flexibility to rapidly increase your cloud footprint as the need arises.

    Maintenance

    The flexibility of the cloud makes it possible to rapidly adjust resources based on demand. Using resource groups can help keep all of your resources organized. In order to control costs, it’s important to maintain your cloud environment. For example, every time you provision a VM, additional resources such as storage and networking are also provisioned. If you deprovision the VM, those additional resources may not deprovision at the same time, either intentionally or unintentionally. By keeping an eye on your resources and making sure you’re not keeping around resources that are no longer needed, you can help control cloud costs.

    Geography

    When you provision most resources in Azure, you need to define a region where the resource deploys. Azure infrastructure is distributed globally, which enables you to deploy your services centrally or closest to your customers, or something in between. With this global deployment comes global pricing differences. The cost of power, labor, taxes, and fees vary depending on the location. Due to these variations, Azure resources can differ in costs to deploy depending on the region.

    Network traffic is also impacted based on geography. For example, it’s less expensive to move information within Europe than to move information from Europe to Asia or South America.

    Network Traffic

    Billing zones are a factor in determining the cost of some Azure services.

    Bandwidth refers to data moving in and out of Azure datacenters. Some inbound data transfers (data going into Azure datacenters) are free. For outbound data transfers (data leaving Azure datacenters), data transfer pricing is based on zones.

    A zone is a geographical grouping of Azure regions for billing purposes. The bandwidth pricing page has additional information on pricing for data ingress, egress, and transfer.

    Subscription type

    Some Azure subscription types also include usage allowances, which affect costs.

    For example, an Azure free trial subscription provides access to a number of Azure products that are free for 12 months. It also includes credit to spend within your first 30 days of sign-up. You’ll get access to more than 25 products that are always free (based on resource and region availability).

    Azure Marketplace

    Azure Marketplace lets you purchase Azure-based solutions and services from third-party vendors. This could be a server with software preinstalled and configured, or managed network firewall appliances, or connectors to third-party backup services. When you purchase products through Azure Marketplace, you may pay for not only the Azure services that you’re using, but also the services or expertise of the third-party vendor. Billing structures are set by the vendor.

    All solutions available in Azure Marketplace are certified and compliant with Azure policies and standards. The certification policies may vary based on the service or solution type and Azure service involved. Commercial marketplace certification policies has additional information on Azure Marketplace certifications.

    https://lernix.com.my/vmware-certification-training-courses-malaysia

  • Get your data ready for AI usage in Power BI

    Copilot in Power BI transforms how both developers and business users interact with data. Copilot streamlines the development process of preparing semantic models, building reports, and exploring data through natural language. In this unit, we discuss how to optimize your data for consumers using Copilot chat experiences.

    Prepare your semantic model

    Once you create your semantic model and report, you can use the Prep data for AI features to further curate the business user’s experience. These features provide Copilot with the context it needs to reduce ambiguity and improve relevance and accuracy. These features are available in the Prep data for AI dialog box.

    Simplify the data schema by removing unnecessary tables and columns, and using clear, descriptive names. For example, you might have objects necessary for your report that aren’t relevant to business users, such as ID columns. IDs are essential for relationships, but Copilot doesn’t need to use them when answering user questions.

    Screenshot of Prep data for AI dialog box with Simplify the data schema selected.

    Verified answers associate common business questions with specific visuals. For example, a visual for Total Opportunities by Sales Stage can answer many different questions for different users. When you create a verified answer, you can choose from suggested questions or create your own. When users ask that question in Copilot, your verified answer is included in the response.

    Screenshot of the Verified answers dialog box.

    Provide AI instructions with key business context and domain-specific logic to Copilot to help tailor responses. AI instructions help clarify business terms, guide analysis approaches, and provide critical data context. Once saved, these instructions are used by Copilot to respond more intelligently to user prompts. For example, tell Copilot if your industry usually sees a spike in activity on the first Friday of each month, so Copilot understands this behavior and related terms in user chats.

    Screenshot of AI instructions dialog box.

    Test and mark the model

    It’s important to test your model to validate that you get expected results before marking the model as reviewed. Once you’re confident that your schema is simplified, your verified answers are configured, and your AI instructions are updated, you can mark the semantic model as Prepped for AI. You can configure this property for the semantic model in the Power BI service.

    Screenshot of AI preparation setting in semantic model properties.

    Integration with Microsoft Fabric

    Power BI is part of the Microsoft Fabric analytics platform. If your organization is also using Fabric, you can use Copilot to interact with Fabric data agents. Copilot in Power BI and Fabric data agents both use AI, but have different purposes. This module doesn’t go into detail for Fabric data agents, but provides a link in the summary for further learning.

    • Copilot in Power BI is preconfigured to assist you with certain tasks, such as data cleaning to increase productivity.
    • Fabric data agents can be customized to include specific data and follow instructions for additional context.
    Diagram of how developers and business users interact with Copilot in Power BI by using Power BI Desktop and Microsoft Fabric.

    By combining AI-ready semantic models with Copilot’s chat capabilities, Power BI delivers a seamless experience from data preparation to insight discovery. Developers enable AI-optimized content to allow business users to interact with data in a conversational, intuitive way.

    Chat with your data

    Now that your data is prepared, business users can use Copilot’s chat feature to explore and understand data. Users can quickly uncover insights, interpret answers, and dig deeper into the data. This feature is also valuable for emerging data analysts or citizen developers who might not have deep technical expertise.

    Screenshot of the immersive Copilot chat in Power BI service.

    In Power BI service, users simply select Copilot to chat with the data, such as:

    • Ask questions: Use everyday language to query your data, such as “What were our top sales regions last quarter?”
    • Interpret answers: Copilot provides responses with supporting visuals and explanations of how it arrived at the answer.
    • Summarize findings: Quickly generate summaries to share insights with others or inform decision-making.
    Screenshot of a Copilot chat that returned a verified answer.

    This approach empowers everyone in the organization to make data-driven decisions, regardless of their technical background.

    https://lernix.com.my/vmware-certification-training-courses-malaysia