Knowledge check

Before they migrate their existing e-commerce system from their datacenter to production environments on Azure,
the Tailwind Traders team wants to first set up environments for development and testing.

Here’s a diagram that shows the basic compute, database, and networking components found in each environment:

A diagram of the development and test environments.
Each environment contains virtual machines, a database, and a virtual network.
The development environment includes three virtual machines.
The test environment contains six virtual machines.

An e-commerce system might require a website, the products database, a payment system, and so on.
Because developers can’t always run the entire service from their local development environment,
the Dev environment is the first place where everything the app needs comes together.

After the development team verifies changes to the Dev environment, they promote changes to the Test environment.
The Test environment is where the testing team verifies new app features and also verifies that no regressions,
or breaks to existing features, happen as new features are added.

The team will map each component in their existing infrastructure to the appropriate Azure service.

  1. Which is the best first step the team should take to compare the cost of running these environments on Azure versus in their datacenter?
    • They’re just test environments. Spin them up and check the bill at the end of the month.
    • Assume that running in the cloud costs about the same as running in the datacenter.
    • Run the Total Cost of Ownership Calculator.
  2. What’s the best way to ensure that the development team doesn’t provision too many virtual machines at the same time?
    • Do nothing. Let the development team use what they need.
    • Apply spending limits to the development team’s Azure subscription.
      If you exceed your spending limit, active resources are deallocated.
      You can then decide whether to increase your limit or provision fewer resources.
    • Verbally give the development lead a budget and hold them accountable for overages.
  3. Which is the most efficient way for the testing team to save costs on virtual machines on weekends, when testers are not at work?
    • Delete the virtual machines before the weekend and create a new set the following week.
    • Deallocate virtual machines when they’re not in use.
      When you deallocate virtual machines, the associated hard disks and data are still kept in Azure.
      But you don’t pay for CPU or network consumption, which can help save costs.
    • Just let everything run. Azure bills you only for the CPU time that you use.
  4. Resources in the Dev and Test environments are each paid for by different departments.
    What’s the best way to categorize costs by department?
    • Apply a tag to each virtual machine that identifies the appropriate billing department.
      You can apply tags to groups of Azure resources to organize billing data.
    • Split the cost evenly between departments.
    • Keep a spreadsheet that lists each team’s resources.

< 6. Describe Azure cost management and service level agreements