Skip to Content

Just recently I’ve had a number of queries from partners regarding how to go about upgrading SAP Business One within a Cloud environment. In this context when I talk about Cloud I am specifically talking about the SAP Business One Cloud multi-tenant landscape, not a single SAP Business One system hosted on a cloud platform; in the latter case normal SAP Business One upgrade procedures would apply.

Before we go into the process of upgrading SAP Business One tenants (think of a tenant as a company database) it is worth providing some background on the SAP Business One Cloud landscape. The SAP Business One Cloud landscape contains a number of different server components to make it work, many of these play a “supporting” role, i.e. they are not running SAP Business One processes themselves rather providing the infrastructure to make the SAP Business One Cloud work. The main processing happens within Service Units, each service unit contains everything that is required and dedicated to a specific version (down to patch level) of SAP Business One:

  • Database Instance
  • Presentation Server(s)
  • SAP Business One Integration Framework (optional)
  • SAP Business One Mailer (optional)
  • Extensions (optional)

 

Each service unit is responsible for providing SAP Business One to multiple customers (the number will vary according to hardware, number of users and a number of other factors).

This configuration requires us to take a different approach to upgrading tenants within the SAP Business One Cloud landscape compared to company databases in an on-premise installation. The key difference in the approach is that we do not perform an upgrade directly on a database server that holds our SAP Business One tenants as we would do in on-premise SAP Business One. This approach would prove problematic in a cloud installation for a number of reasons:

  • From the moment we began an upgrade within a service unit the entire service unit would be offline (e.g. once we upgrade the SBO-COMMON database we can no longer login to a tenant that has not been upgraded to the higher version). In a service unit that houses, say, 100 tenants this could cause significant downtime for customers.
  • Upgrading a tenant can be a resource intensive process, in a multi-tenant environment where infrastructure is shared this has the potential to negatively impact customer experience.
  • If we did upgrade a whole service unit and there were 100 tenants in a service unit what would happen if we got to tenant 100 and it failed to upgrade when all the others were successful?

 

For these reasons and others the process of upgrading in SAP Business One Cloud involves two (or possibly three but more on that later) service units. The principle is this:

  • Service Unit 1 has 100 tenants running SAP Business One 9.0 PL10
  • Service Unit 2 is created for SAP Business One 9.0 PL11
  • Tenants (either individually or in batch) from Service Unit 1 are taken offline, backed up, restored to Service Unit 2 and upgraded to SAP Business One 9.0 PL11 where they are again available to the end user.

 

Of course this is a simplistic approach to upgrades as most partners go through a process of testing a new release before simply “pulling the trigger” on a live upgrade. SAP Business One Cloud provides functionality to assist with this as well as the upgrade process itself:

  • Pre-upgrade testing – All SAP Business One upgrades must pass pre-upgrade testing, this process can be carried out separately within the SAP Business One Cloud Cloud Control Center in preparation for the upgrade process itself.
  • Duplicate tenant – Similar to the upgrade process (if duplicating to a service unit that is tied to a higher SAP Business One version) with one key exception – the duplicate tenant is for testing, the original tenant in the source service unit remains live for users to carry on with live transactions. The duplicate tenant can then be tested for extension compatibility, key processes, data etc. before the live upgrade occurs.
  • Staging Service Units – I mentioned earlier that upgrading tenants can be a resource intensive process, by default this processing will occur in the destination service unit. If we are concerned about the effect on any tenants already in that destination service unit we can introduce a staging service unit. This temporary service unit receives the tenant to be upgraded, upgrades it (ensuring the resources required for processing are not provided by live service units) and then sends it to the destination service unit.
  • Service Unit Duplication – This process enables you to create a new service unit but automates some of the steps such as deploying the required extensions and moving presentation servers.

As you can see there is a lot of scope within these processes to define your own strategy for the lifecycle management of your SAP Business One Cloud customers. You do not have to follow a strategy of upgrading all of the tenants in one service unit in one go and instead could choose to stage the upgrade into smaller batches of tenants. And if you need to upgrade one tenant urgently for reasons related to a patch you can handle them individually rather than being forced into an unscheduled upgrade for your entire service unit.

So with the concept and functionality explained what is it that you should do in order to upgrade from one patch level of SAP Business One to another?

  1. Check note 1756002, to ensure that the version of SAP Business One that you are upgrading to is supported by the version of SAP Business One Cloud you are running.
  2. Before you begin the process of any upgrades within the SAP Business One Cloud landscape SAP recommends that you create snapshots so thatyou can roll back in case of any errors during the upgrade process.
  3. Register the version of SAP Business One you are upgrading to in the SAP Business One Cloud Software Repository.
  4. Upgrade the SAP Business One License Server to the latest version, this can be done within the SAP Business One Cloud Control Center (not every release of SAP Business One will require an upgrade to the license server but you will receive a message if that is the case)
  5. Create a new service unit
    • Database Instance – Another database instance needs to be configured and the SBO-COMMON database deployed via the SAP Business One Cloud Control Center.
    • Presentation Servers need to be assigned to the new service unit, the SAP Business One client is automatically deployed to them. ( Note: these can be unregistered and moved from the source service unit as the resource required in it begins to drop, e.g. in the case of staged upgrade process)
    • Deploy the required extensions in the new service unit (both SAP and third-party extensions in use)
    • If you are following our recommendation of using Security Groups to manage access by users to presentation servers you will need to separately configure them to allow the correct user access.
    • If using the SAP Business One Integration Framework and Mailer these will need to be manually deployed into the new service unit (it is also possible to unregister the existing ones in the source service unit, upgrade them manually and register them to the destination service unit however this would rely on the upgrade for all tenants taking place at one time.)
  6. Perform pre-upgrade tests on the tenants in the source service unit
  7. (Optionally) Perform test upgrades for tenants
  8. Upgrade the tenant to the new service unit, during the time of the upgrade the tenant will not be available to end users.

Once you have completed this process for all tenants all your users will now be logging in to the new service unit and you can power down the old one, reduce it’s resources, use it for testing the next release etc.

To help explain some of the concepts above and demonstrate the process I’ve also recorded the following video:

 

More information on the upgrade process and other administration steps can be found in the SAP Business One Cloud Administrators Guide, which can be found with the SAP Business One Cloud installations files.

About me:

I’ve been working at SAP with SAP Business One for the last 9 years in a variety of roles. Currently I look after SAP Business One Cloud and spend much of my time working with partners to help them take advantage of the new and exciting opportunities that have emerged since it’s release. You can follow me on Twitter @joelaharris if you want to hear more!

To report this post you need to login first.

18 Comments

You must be Logged on to comment or reply to a post.

    1. Joel Harris Post author

      Hi,

      No problem! I’ve got some more on the way, so if anyone has any topic requests (around B1 Cloud!) then feel free to ask.

      Thanks,

      Joel.

      (0) 
    1. Joel Harris Post author

      Hi Richard,

      I will provide an updated guide in due course but fundamentally the process remains the same as it is the Cloud Control Center that is performing the upgrade process.

      Thanks,

      Joel

      (0) 
  1. Cardenas Alonso

    Great info, many thanks!

    I still have some questions…

    what would happen if the original service unit is on 882 and the new SU is on 9.0?? Would I be able to just update the License server to 9.0 version or do I have to install a new License Server for the new version? what will happen to the license files?

    (0) 
  2. Rahul Jain

    Hello, we have license server on 9.1 PL 09. But one service unit on 9.2 PL02. In this new service unit we are not able to run any extensions. We have not upgraded the license server. Also we are on CCC PL 06.

    Can you please advise if we need to upgrade the license server. Also, would it impact the other service unit – which will remain on 9.1 PL09.

    Thanks,

    Rahul Jain

    (0) 
    1. Edmund Leung

      Dear Rahul

      How about your common database? is it 9.2 version? You require to reinstall SQL server to get the new database instance.

      Upgrade it to 9.2.

      and then uninstall 9.1 client, and install 9.2 client.

      and then click sync all sbo client on CCC, then both of them are 9.2 version.

      Regards

      Edmund

      (0) 
  3. Edmund Leung

    Dear All


    if I want to create 9.1, 9.2 cloud version and 9.2 version for SAP HANA cloud.


    How many VM servers should I have?


    For example,

    How many representation server(s)?

    How many server(s) for CCC?

    How many server(s) for Mobile?

    How many server(s) for SQL server?

    How many server(s) for HANA?

    How many server(s) for Application?

    How many server(s) for AD?



    Regards

    Edmund

    (0) 
    1. Rahul Jain

      You will need 3 service units –

      9.1 SQL

      9.2 SQL

      9.2 HANA

      Each service unit has its own presentation server + database instance (on same server or multiple server)

      You need following

      Presentation Server – 3

      Cloud Control Server – 1

      Mobile – 3 (could be same server as presentation server)

      SQL Server – 1 server with 2 Instances

      HANA – 1

      RDP Server / Gateway Server – 1

      AD – 2 = 1 Primary + 1 Secondary

      (0) 
      1. Edmund Leung

        Dear Rahul

        Thanks for your help.

        Can I have any document for me to support it? Then I can use it to discuss with my colleague.

        Regards

        Edmund

        (0) 
        1. Rahul Jain

          There is a guide for how to install cloud environment. I guess it is part of documentation when you download the CCC.

          SLD database lives on a separate SQL instance. Installed during installation of SLD of CCC.

          Service Unit databases can be of different version. These are created when you create the service unit.

          <Admin note: Please do not distribute SAP guides. As best practice, always use the documentation coming with the product package or is available via SAP PartnerEdge or customer portal. Every SAP customer and partner has access to most recent material, do not accept material of potentially insecure source.
          Please respect SAP rights and copyright.>

          And also share our landscape which will give you an idea.

          Regards,

          Rahul Jain

          (0) 
  4. Sarith Chey

    How do you upgrade the Common Databases of the servers you’re moving from?  For example:

    Service Unit 1 has SAP 9.1 PL 11

    Service Unit 2 has SAP 9.1 PL 13

    We move all the Tenants from Service Unit 1 to Service Unit 2, how do we reuse Service Unit 1 and Upgrade to PL 13?  I can’t unregister the SBO-COMMON of Service Unit 1 because of a “You Cannot delete entity, entity referenced by other entities” error and I also can’t unregister the Database Instance.

    Regards,

    Sarith

    (0) 
  5. Rahul Jain

    Hello Joel,

    Would you know if we hAave to add App Framework / Analytics / Service Layer for HANA manually or these should get registered automatically.

    We have created a service unit for HANA but these components are not showing. Also we are not able to register since the register button is disabled on all those components.

    Thanks,

    Rahul Jain

    (0) 
  6. DAMIEN JADEAU

    Hello Joel,

     

    Is it possible to upgrade only 1 company database without having a second tenant ?

    I just want to upgrade 1 database which has been restored from a specific environment.

     

    Thank you.

    (0) 

Leave a Reply