Blog

  • Azure Pipelines Overview

    Preface – This post is part of the SAP on Azure series.

    Introduction

    A pipeline is a user defined flow of deployment steps. Azure too provides an option to design a pipeline. Azure Pipelines combines powerful automation activities such as Continuous Integration (CI) and Continuous Deployment (CD) to test, build and deploy developer’s code. In this article we will try to understand all the important aspects of Azure Pipeline.

    Azure Pipelines Overview

    Under Azure Pipeline we will discuss the following activities performed by a Change Manager:

    • Pipelines
    • Releases
    • Library

    Although, we have these all options available under Azure Pipelines:

    Azure Pipelines

    Pipelines

    Pipelines within the Pipelines (as shown above) is the place where we define a build. A build is a deployable file (also referred a drop in DevOps) that is further transferred to Releases for deployment. We can automate the operation of build, and that is then referred as Continuous Integration. We will learn creation of Pipelines in detail here.

    After successful completion of build, the Pipelines build looks like this:

    Pipelines

    Releases

    Releases under Pipelines is the place where we deploy the drop or build to a defined destination or environment. We can automate the Releases too, and that is then referred as Continuous Deployment. We will learn creation of Releases in detail here.
    After completion of Release, the pipeline looks like this:

    Releases

    Library

    All the files that are used within Pipelines and Releases are saved here, under Secure files tab. We can access these files wherever we want. Many times we need to save a file at DevOps level and use it only during build or deployment. In that case, you can save the file within Library and use it whenever and wherever required.

    The library within Azure DevOps looks something like this:

    Library

    Azure Pipelines Flow

    Let’s understand in simple words the flow of a pipeline:

    • Before a pipeline is build, a Repository is created
    • When a new Repository is created, it just has master branch
    • You need to create dev, release and prod branch with certain policies (According to your requirement)
    • Now, you need to create a Pipeline. There are two ways to create a pipeline: One with the help of YAML, it adds a YAML file to your base branch, and secondly manually adding the tasks or stages in pipeline
    • Once you have created a pipeline, you can run it with the branch you want. On success, the pipeline creates a drop file (or artifact) that can be used by Release for deployment. You can add a trigger A trigger tells a pipeline to run, in this case you can triggered it manually.
    • Now, you need to create a Release. Here, you need to specify the sourcee. the build pipeline and a trigger to tell when to start deployment. Based upon the available environment, we will do configuration in Release and Create Release after that.
    • Once we start a Release or Build, the task to build or deploy is assigned to Azure Pipelines Agents. These agents can be seen within Agent Pool Jobs. An Agent is a cloud infrastructure that runs a job. In our use case, it will run build and deployment respectively.
    • Once the Agent completes its job, the Release Pipeline will mark your stage as green.

    That’s it. You have successfully created, configured and ran a pipeline in Azure DevOps.

    References

    Check key concepts related to Azure Pipelines here: https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started/key-pipelines-concepts?view=azure-devops

  • Azure DevOps Overview

    Preface – This post is part of the SAP on Azure series.

    Introduction

    Microsoft in 2008 came with a cloud computing service and named it Windows Azure which was later known as Microsoft Azure. Till 2018, developers using Azure or non-azure service was provided with a code version control tool called Microsoft TFS, which was later upgraded and called Azure DevOps. Likewise Azure, Azure DevOps too is a cloud-based service used mainly for version control and project planning.

    What is Microsoft Azure

    Microsoft Azure is a cloud computing service offering that includes Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS).

    What is Microsoft Azure DevOps

    Microsoft Azure DevOps is a planning and collaboration tool inbuilt with version control (both Git and Microsoft TFS). Microsoft DevOps provides the following options:

    • Azure Boards: Users can create Kanban boards, interactive backlogs and plan a sprint for developers and testers.
    • Azure Repos: With Git and TFS, user can create a Repository, branches and their policies to control the flow of a project.
    • Azure Pipelines: Users can build, test and deploy to any cloud or on-premise environment using CI/CD Pipelines.
    • Azure Test Plans: Users can manage Quality Assurance with the help of test plans and improve the quality of their project.
    • Azure Artifacts: With the help of Azure Artifacts, users can share npm, python and other packages with the entire team.
    • Azure Extension Marketplace: From Docker to slack, everything can be integrated with Azure DevOps.

    The architecture of Azure DevOps lifecycle

    Azure DevOps lifecycle includes almost all the services that we have discussed above. It starts with project planning, and the task is created for developers using Azure Boards. Then the developer starts coding in an IDE with the help of branches created over Azure Repos. Once the development is completed, then the user creates a CI/CD pipeline using Azure Pipelines and deploy it in the required environment. Once the deployment is completed, tasks are created for testers who use Azure Test Plans to execute the tests. These steps are shown in the image below:

    Azure DevOps lifecycle

    The above diagram shows end to end lifecycle of our CICD pipeline, including all other Azure DevOps steps.

    Difference between Microsoft Azure DevOps and Microsoft TFS

    Microsoft TFS (Team Foundation Server) was introduced by Microsoft to manage high volume codes for big organizations. Later, with the introduction of Git in the market and an increasing number of Git users, Microsoft integrated it too and launched a tool called Azure DevOps. Let’s discuss all the differences between Microsoft Azure DevOps and Microsoft TFS:

    Features Microsoft Azure DevOps Microsoft TFS
    Type It is a distributed source control system It is a Centralized Source control system
    Scaling It cannot scale to a very large code base, but it is highly distributed between teams It scales to a very large codebase
    Version Control It has repository and branch level version control It has fine level version control
    Usage Monitoring No usage monitoring system It allows usage monitoring
    File lock option No lock files options It has the ability to lock files exclusively
    Code bases It is mainly used for modular codebases It is mainly used for Large Integrated codebases
    Offline Experience and Speed It has full offline experience and speed It needs always to be online
    CI/CD Support It supports continuous integration and continuous delivery of codes No CI/CD option
  • Deployment to Azure from SAP Cloud Appliance Library (CAL) Portal

    Preface – This post is part of the SAP on Azure series.

    Introduction

    In previous article we have learnt different ways to deploy SAP project on Azure. One of them was the deployment to Azure from SAP Cloud Appliance Library (CAL) Portal. In this article, we will explain you the basics of CAL and steps of deployment.

    SAP Cloud Application Library (CAL)

    SAP Cloud Application library is an online tool provided by SAP that can be used to instantly deploy up-to-date, preconfigured and ready-to-use SAP solutions. These solutions can be deployed into any of the public cloud accounts including Microsoft Azure, Amazon Web Services (AWS), Google Cloud Platform (GCP) and Alibaba Cloud. This portal enables kick-start of SAP projects using public cloud.
    You can access the portal here.

    Deployment of SAP on Azure using SAP Cloud Application Library

    Once you are logged in, the home dashboard looks like this:

    SAP Cloud Application Library

    By default, you will see all the solutions provided by SAP CAL with filter options. You can filter the types from All to free, paid and others. Also, you can filter on the basis of Cloud Provider i.e. Microsoft Azure, Amazon Web Services (AWS), Google Cloud Platform (GCP) and Azure China. The other tabs in the left pane i.e. Instances, Accounts, Users and My Subscriptions are only applicable once you create an instance by choosing one of the Solutions on home screen. You can check the portal introduction by SAP here.

    Steps of Deployment to Azure from SAP Cloud Appliance Library (CAL) Portal

    Step 01: Create an account on SAP CAL by clicking here. If you have existing SAP account, then you can use the same here. You will be asked to upgrade your account:

    Create an account on SAP CAL

    Step 02: From Dashboard, choose a solution relevant to your cloud, in our case we will filter based upon Microsoft Azure and Free Solutions.

    SAP CAL solutions

    Now, you need to visit each of the instance and check which one suits you the best. To do that, just click on any solutions provided above (Do not click create Instance). When you click on the solution, it gives you the information about what it is with recommendation.

    SAP HANA 2020

    Step 03: Once you decide the right solution for yourself, then you can click on “Create Instance”. It will ask a few questions like the name of Instance, its description and the cloud provider. Choose “Microsoft Azure” in the cloud provider.

    Microsoft Azure in SAP CAL

    Step 04: Enter the Microsoft Azure Subscription ID. You can get your subscription ID from here. Check out this documentation to find the steps to fetch the same.

    Microsoft Azure Subscription ID

    And then enter the same below and click Authorize, this will grant permissions to SAP Cloud Appliance Library to access your Azure Active Directory.

    grant permissions to SAP Cloud Appliance Library

    Step 05: Now, you will be asked to Enter Instance details, as shown below:

    Enter Instance details

    Step 06: Now, you can plan the size of your Virtual Machines, as shown below:

    plan the size of your Virtual Machines

    Step 07: Based upon the data you provided in the above steps, an instance will be created and you will find your instance under “Instances” tab with given options:

    Instances in SAP CAL

    You will also find these instances added within your Microsoft Azure “Resource Groups”:

    Resource Groups SAP CAL

    That’s it. Now you can play with your Azure Resource Group and proceed with further installations related to SAP.

  • Options for Deploying SAP on Azure

    Preface – This post is part of the SAP on Azure series.

    Introduction

    When we deploy SAP on Azure, a lot of things runs behind it. From creating infrastructure, to creating a builds and ultimately deploying them out using various tools. In this article we will try to explore all the possible options for Deploying SAP on Azure.

    Options for Deploying SAP on Azure

    Both SAP and Microsoft Azure provide various ways to deploy SAP on Azure, they are via:

    • Azure Portal
    • SAP Cloud Application Library (CAL)
    • Terraform and Ansible
    • Arm Templates and Ansible

    Deployment of SAP on Azure using Azure Portal

    We can go directly to the Azure Portal.

    Deployment of SAP on Azure using Azure Portal

    Using the available resources here, we can manually provision all the required artifacts relevant to SAP. Then we can either provision SAP Virtual Machines or even have Azure Virtual Machines, and then install SAP bits over these Virtual Machines.

    Deployment of SAP on Azure using SAP Cloud Application Library (CAL)

    We can go to SAP Cloud Application Library (CAL).

    Deployment of SAP on Azure using SAP Cloud Application Library

    Here SAP provides option to connect to Azure system. It also provides various products that you can deploy to you Azure Subscription.

    Deployment of SAP on Azure using Terraform and Ansible

    You can build and deploy code of Architecture i.e. the networking, the storage, etc using Terraform. And then you can build and deploy code of SAP, SAP bits and other required configurations using Ansible.

    Deployment of SAP on Azure using Arm Templates and Ansible

    You can build and deploy code of Architecture i.e. the networking, the storage, etc using Arm Templates. These templates are maintained by Azure, and it stands for Azure Resource Manager templates. And then you can build and deploy code of SAP, SAP bits and other required configurations using Ansible.

  • SAP on Azure Greenfield Journey

    Preface – This post is part of the SAP on Azure series.

    Introduction

    Greenfield Implementation in SAP means a new implementation of SAP S/4HANA. It involves complete re-engineering and process simplification. In previous articles, we have discussed about SAP on Azure and types of Azure sizing based upon use case. In this article we will discuss SAP on Azure Greenfield Journey.

    SAP on Azure Greenfield Journey

    In Greenfield Migration, following are the steps that we need to follow:

    1. SAP on Azure Planning: It involves all the standard procedure provided by Azure.
    2. Build of IaC for cloud Infrastructure and CaC for OS & SAP Applications: Here infrastructure code that involves networking and other infrastructure related code is built as Iac (Infrastructure As Code). And the Operating System and SAP Application code is built as CaC (Configuration As Code).
    3. Automated Deployments: Using Terraform and Ansible, the above codes are deployed within Infrastructure and Deployment servers in Azure respectively.
    4. Deployment as ECC or S/4HANA: Now using SAP AnyDB on Azure and SAP HANA on Azure, we deploy ECC or S/4HANA.

    SAP on Azure Greenfield

    Source: Google

    SAP on Azure Planning

    We have already discussed the phases involved in SAP on Azure Projects, you can read them here. SAP on Azure planning is a very critical process and it requires all checklist to be ready. The six phases includes:

    1. Project preparation and planning phase
    2. Pilot phase (strongly recommended)
    3. Non-production phase
    4. Production preparation phase
    5. Go-live phase
    6. Post production phase
  • SAP on Azure Migration Journey

    Preface – This post is part of the SAP on Azure series.

    Introduction

    In previous articles, we have discussed about SAP on Azure and types of Azure sizing based upon use case. In this article we will discuss SAP on Azure Migration Journey.

    SAP on Azure Migration Journey

    When we say migration, it is either ECC to S/4HANA migration for on-premise or from on premise to cloud migration. It involves the following steps:

    1. SAP on Azure Planning
    2. Mapping On-premise SAP Instance to the required one among the following:
      1. SAP AnyDB on Azure
      2. SAP HANA on Azure
      3. S/4HANA on Azure
    3. Performing Migration Operation:
      1. Lift & Shift
      2. Lift & Shift/Migrate
      3. Transformation to S/4HANA & Azure Consolidation, Re-implementation

    SAP on Azure Migration

    Image source: Google

    SAP on Azure Planning

    We have already discussed the phases involved in SAP on Azure Projects, you can read them here. SAP on Azure planning is a very critical process and it requires all checklist to be ready. The six phases includes:

    1. Project preparation and planning phase
    2. Pilot phase (strongly recommended)
    3. Non-production phase
    4. Production preparation phase
    5. Go-live phase
    6. Post production phase

     

    Performing Migration Operation

    Once you identified what exactly you want in terms of Infrastructure, then you can perform any of the following paths:

    Path A: We can do a lift & shift of our existing environment up to Azure without any DB changes, and later we can do migration to HANA or conversion to S/4HANA.

    Path B: We can do a lift & shift of our existing environment up to Azure without any DB changes, and then migrate the database to HANA database. Till now, we will be running ECC on HANA. From here again we can perform the conversion from ECC on HANA to S/4HANA.

    Path C: We can directly perform transformation to S/4HANA & Azure Consolidation or Re-implementation of ECC in S/4HANA (which will be then a Greenfield implementation).

  • Sizing for SAP on Azure Projects

    Preface – This post is part of the SAP on Azure series.

    Introduction

    Sizing for SAP on Azure Projects is all about determining the following:

    • Hardware requirements for your Virtual Machines (VMs) including:
      • Memory
      • CPU Power
      • Disk Space
    • I/O Capacity
    • Network Bandwidth

    Sizing according to the type of SAP Project

    Sizing for SAP can be broadly divided into three types:

    • Greenfield Sizing: It is the sizing of a fresh and new SAP instance
    • Brownfield Sizing: It is the sizing for an existing SAP Instance that will either be migrated to the cloud, upgraded, or re-sized
    • Expert Sizing: It is done based upon the tools provided by SAP. This is mainly used in complex sizing and is processed with the help of a sizing expert.

    The above types will highly depend upon your use case:

    • If you have a new SAP System and you want to develop fresh implementations there, then it will be part of the Greenfield Sizing
    • If you have an existing SAP system and you are migrating it to the cloud, then you will need Brownfield sizing
    • If you have a current SAP Cloud system, and you plan to re-size them, then again, you will need Brownfield sizing

    The above types are just to differentiate the sizing based upon your use case. The actual tools for sizing will be discussed next.

    Sizing in SAPS

    Sizing in SAP is known as SAPS. SAPS stands for SAP Application Performance Standard. SAPS is a hardware-independent unit of measurement that describes the performance of a system configuration in the SAP environment. Derived from the Sales and Distribution SD-Benchmarks, where 100 SAPS is defined as 2,000 fully business processed order line items per hour.

    SAP came with SAP Standard Application Benchmarks which makes the sizing process easy. You can view the official page here. Here you can filter and understand where you will land in terms of sizing based upon your filter.

    SAP Quick Sizer

    SAP Quick Sizer is a free web-based tool built by SAP in partnership with platform partners such as Azure to help with sizing your SAP instance. You can check it out here.

    Quick Sizer (classic / HANA) translates business requirements into technical requirements used for sizing. Quick Sizer is basically an online questionnaire that you work through, and it spits out sizing results.

  • Phases of SAP on Azure Projects

    Preface – This post is part of the SAP on Azure series.

    Introduction

    Understanding the phases of SAP projects on Azure is a very important aspect for the successful completion of SAP on Azure projects. In this article, we will discuss all the phases in detail and also share official Microsoft Azure documentation.

    Phases of SAP on Azure Projects

    Phases of SAP on Azure Projects is designed by Microsoft in the form of checklist for the customers who are already using SAP NetWeaver. This checklist helps a client to identify small issues and hence prevents bigger future issues. These phases do not include any tasks that are independent of Azure, e.g. SAP GUI related changes.

    Following are the six phases of a SAP on Azure:

    1. Project preparation and planning phase
    2. Pilot phase (strongly recommended)
    3. Non-production phase
    4. Production preparation phase
    5. Go-live phase
    6. Post production phase

    Project preparation and planning phase

    This phase is where you plan your SAP migration or new SAP deployment on Azure. During this phase, we typically create High-level design and Technical design documents to guide us through the project. They cover:

    High-level design document

    • (If migrating): inventory of current SAP landscape including components, applications, network, security, compute, operating system, database, & HA/DR
    • Build the responsibility assignment matrix (RACI)
    • A high-level solution architecture
    • Automation & operation plans, procedures, & processes

    Technical design document

    • A diagram for the solution & architecture including networking, high availability & DR Sizing for computing, memory, storage, & networking
    • Operating System, Database, kernel, & SAP support pack versions
    • Interfaces inventory including SAP & non-SAP

    You can read the checklist here.

    Pilot phase (strongly recommended)

    This is the pilot/proof of concept (POC) phase. This phase is for testing the designs & approaches from the planning phase. In this phase. it is also common to include a full build of HA/DR, security, & scalability testing. Microsoft strongly recommends having this phase as a part of the SAP on Azure journey. You can read the checklist here.

    Non-production phase

    In this phase, we deploy non-production SAP systems on Azure. This deployment should include development systems, unit testing systems, and business regression testing systems. You can read the checklist here.

    Production preparation phase

    In this phase, we deploy production SAP systems on Azure. We incorporate lessons learned & experience from the non-production phase. If migrating we upgrade SAP systems & prepare for data transfer between our current SAP instance location & Azure. You can read the checklist here.

    Go-live phase

    In this phase, we utilize the playbooks from our earlier phases. We execute the steps that have been tested & practised in earlier phases. In this phase, we freeze all changes in processes and configurations. You can read the checklist here.

    Post production phase

    The phase is post production and includes monitoring the deployment, operating & administering the systems. You can read the checklist here.

     

    References

    https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/sap-deployment-checklist

  • Types of SAP on Azure Projects

    Preface – This post is part of the SAP on Azure series.

    Introduction

    SAP and Microsoft have a 25 years of partnership. Microsoft Azure provides end to end support for both SAP on Premise and SAP HANA Cloud. In this article we will try to explore the types of SAP on Azure Projects.

    SAP on Azure Projects

    SAP Projects on Azure are divided into two types, i.e.:

    • Migration
    • Greenfield

    These two types of projects are for a client who is either existing old client or a new client of SAP. Based upon their need they can choose the project. By choosing project, it doesn’t mean that the client need to go and order these types, but it is there to identify the type of infrastructure and services related to the type of SAP project.

    Types of SAP on Azure Projects

    Migration

    This is the most common type of SAP on Azure Projects. This is typically migrating an on-premise instance of SAP (typically ECC) to SAP HANA Cloud or S4HANA.

    Greenfield

    This is the type of SAP for the industries that do not have currently SAP, but wants to start with SAP in the Cloud. It means it is a fresh implementation of SAP.

    You can read more about the projects of SAP on Azure here:

    https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/sap-supported-product-on-azure

    https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/sap-deployment-checklist

  • SAP Cloud Hosting options

    Preface – This post is part of the SAP on Azure series.

    Introduction

    SAP, headquartered in Waldorf, Germany, with a location in Frankfurt, New York and Bangalore, is a large enterprise having ERP & Business objects software as its main product. SAP stands for “System, Applications & Products in Data Processing”. SAP is mainly divided into two parts in terms of hosting i.e. on premise hosting and Cloud Hosting. The SAP on premise hosting is mainly SAP HANA hosting which a relational database. In this article we will discuss in detail regarding SAP cloud hosting options.

    Different SAP Cloud Hosting options

    SAP, with its partnership with different global cloud hosting companies provides the following cloud hosting options:

    • HANA Enterprise Cloud (HEC)
    • AWS
    • GCP
    • Microsoft Azure
    • Alibaba cloud

    Alibaba has signed a contract recently with SAP, and is majorily focused for the clients in China and nearby regions.

    SAP HANA Enterprise Cloud is a HANA service provided by SAP on its contract. All the data was initially saved in SAP environment, later SAP opened it up to an eco-system of external hosting partners such as DXC, IBM Cloud and NTT.

    Comparison of different SAP Cloud Hosting options

    Let us compare the major SAP Cloud Hosting Providers:

    Factors Google Cloud AWS Azure
    Compute Very large VMs SAP S/4HANA up to 4 nodes totalling 48 TB of memory VMs support up to 24TB & 48 TB memory Very large VMs and bare metal for HANA SAP S/4HANA up to 24 TB RAM scale-up, and up to 60TB RAM scale-out
    Storage Cloud Storage EBS & S3 Cloud storage & Elastic File System Azure Storage and Azure NetApp Files
    Network Virtual networking & Interconnect Virtual networking (VCP) & Direct Connect Virtual networking & ExpressRoute
    Security (IAM) Cloud Identity and Access Management (IAM) AWS IAM Azure AD, RBAC, MFA
    Monitoring Custom monitoring agent collects metrics from SAP HANA & sends to Google Cloud Monitoring CloudWatch & CloudTrail Azure Monitor for SAP Solutions
    Automation Automation tool portfolio Automation tool portfolio Automation tool portfolio
    Backups Backups via SAP Backint agent, snapshots, or backup to cloud storage Backups via EC2 Create Image function & Amazon EBS snapshots SAP HANA backup using Azure Backup Highley Available VMs
    HA/DR HA via Linux clustering across regions & zones HA and DR via multiple Availability Zones and Regions HANA system replication / Azure Site Recovery