SAP Business One on Azure Virtual Machines

This document provides guidance to deploy SAP Business One on Azure Virtual Machines. The documentation is not a replacement for installation documentation of Business one for SAP. The documentation should cover basic planning and deployment guidelines for the Azure infrastructure to run Business One applications on.

Business One supports two different databases:

Regarding SQL Server, the basic deployment considerations as documented in the Azure Virtual Machines DBMS deployment for SAP NetWeaver applies. for SAP HANA, considerations are mentioned in this document.

Prerequisites

To use this guide, you need basic knowledge of the following Azure components:

Even if you are interested in business One only, the document Azure Virtual Machines planning and implementation for SAP NetWeaver can be a good source of information.

The assumption is that you as the instance deploying SAP Business One are:

  • Familiar with installing SAP HANA on a given infrastructure like a VM
  • Familiar installing the SAP Business One application on an infrastructure like Azure VMs
  • Familiar with operating SAP Business One and the DBMS system chosen
  • Familiar with deploying infrastructure in Azure

All these areas will not be covered in this document.

Besides Azure documentation you should be aware of main SAP Notes, which refer to Business One or which are central Notes from SAP for business One:

Business One Architecture

Business One is an application that has two tiers:

  • A client tier with a 'fat' client
  • A database tier that contains the database schema for a tenant

A better overview which components are running in the client part and which parts are running in the server part is documented in SAP Business One Administrator's Guide

Since there is heavy latency critical interaction between the client tier and the DBMS tier, both tiers need to be located in Azure when deploying in Azure. it is usual that the users then RDS into one or multiple VMs running an RDS service for the Business One client components.

Sizing VMs for SAP Business One

Regarding the sizing of the client VM(s), the resource requirements are documented by SAP in the document SAP Business One Hardware Requirements Guide. For Azure, you need to focus and calculate with the requirements stated in chapter 2.4 of the document.

As Azure virtual machines for hosting the Business One client components and the DBMS host, only VMs that are SAP NetWeaver supported are allowed. To find the list of SAP NetWeaver supported Azure VMs, read SAP Note #1928533.

Running SAP HANA as DBMS backend for Business One, only VMs, which are listed for Business on HANA in the HANA certified IaaS platform list are supported for HANA. The Business One client components are not affected by this stronger restriction for the SAP HANA as DBMS system.

Operating system releases to use for SAP Business One

In principle, it is always best to use the most recent operating system releases. Especially in the Linux space, new Azure functionality was introduced with different more recent minor releases of Suse and Red Hat. On the Windows side, using Windows Server 2016 is highly recommended.

Deploying infrastructure in Azure for SAP Business One

In the next few chapters, the infrastructure pieces that matter for deploying SAP.

Azure network infrastructure

The network infrastructure you need to deploy in Azure depends on whether you deploy a single Business One system for yourself. Or whether you are a hoster who hosts dozens of Business One systems for customers. There also might be slight changes in the design on whether how you connect to Azure. Going through different possibilities, one design where you have a VPN connectivity into Azure and where you extend your Active Directory through VPN or ExpressRoute into Azure.

Simple network configuration with Business One

The simplified configuration presented introduces several security instances that allow to control and limit routing. It starts with

  • The router/firewall on the customer on-premises side.
  • The next instance is the Azure Network Security Group that you can use to introduce routing and security rules for the Azure VNet that you run your SAP Business one configuration in.
  • In order to avoid that users of Business One client can as well see the server that runs the Business One server, which runs the database, you should separate the VM hosting the Business one client and the business one server in two different subnets within the VNet.
  • You would use Azure NSG assigned to the two different subnets again in order to limit access to the Business one server.

A more sophisticated version of an Azure network configuration is based on the Azure documented best practices of hub and spoke architecture. The architecture pattern of hub and spoke would change the first simplified configuration to one like this:

Hub and spoke configuration with Business One

For cases where the users are connecting through the internet without any private connectivity into Azure, the design of the network in Azure should be aligned with the principles documented in the Azure reference architecture for DMZ between Azure and the Internet.

Business One database server

For the database type, SQL Server and SAP HANA are available. Independent of the DBMS, you should read the document Considerations for Azure Virtual Machines DBMS deployment for SAP workload to get a general understanding of DBMS deployments in Azure VMs and the related networking and storage topics.

Though emphasized in the specific and generic database documents already, you should make yourself familiar with:

These documents should help you to decide on the selection of storage types and high availability configuration.

In principle you should:

  • Use Premium SSDs over Standard HDDs. To learn more about the available disk types, see our article Select a disk type
  • Use Azure Managed disks over unmanaged disks
  • Make sure that you have sufficient IOPS and I/O throughput configured with your disk configuration
  • Combine /hana/data and /hana/log volume in order to have a cost efficient storage configuration

SQL Server as DBMS

For deploying SQL Server as DBMS for Business One, go along the document SQL Server Azure Virtual Machines DBMS deployment for SAP NetWeaver.

Rough sizing estimates for the DBMS side for SQL Server are:

Number of users vCPUs Memory Example VM types
up to 20 4 16 GB D4s_v3, E4s_v3
up to 40 8 32 GB D8s_v3, E8s_v3
up to 80 16 64 GB D16s_v3, E16s_v3
up to 150 32 128 GB D32s_v3, E32s_v3

The sizing listed above should give an idea where to start with. It may be that you need less or more resources, in which case an adaption on Azure is easy. A change between VM types is possible with just a restart of the VM.

SAP HANA as DBMS

Using SAP HANA as DBMS the following sections you should follow the considerations of the document SAP HANA on Azure operations guide.

For high availability and disaster recovery configurations around SAP HANA as database for Business One in Azure, you should read the documentation SAP HANA high availability for Azure virtual machines and the documentation pointed to from that document.

For SAP HANA backup and restore strategies, you should read the document Backup guide for SAP HANA on Azure Virtual Machines and the documentation pointed to from that document.

Business One client server

For these components storage considerations are not the primary concern. nevertheless, you want to have a reliable platform. Therefore, you should use Azure Premium Storage for this VM, even for the base VHD. Sizing the VM, with the data given in SAP Business One Hardware Requirements Guide. For Azure, you need to focus and calculate with the requirements stated in chapter 2.4 of the document. As you calculate the requirements, you need to compare them against the following documents to find the ideal VM for you:

Compare number of CPUs and memory needed to what is documented by Microsoft. Also keep network throughput in mind when choosing the VMs.