SAP BTP Interview Questions and Answers — Part 4
In this blog, I am going to share the list of common interview questions and answers on SAP BTP. To make it easy, I have categorized it in multiple volumes.
Part 1 — SAP BTP — General Topics
Part 2 — SAP BTP — Application Development, Programming Models and Multitenancy
Part 4 — SAP BTP — DevOps [Current Blog]
Part 5 — SAP BTP — Side by side Extensibility [To be published]
This is part 3, where we will explore interview questions and answers on security topics in SAP BTP.
Note: If you are planning to build expertise in SAP BTP, below resources can be super useful:
Q: Can you explain the CALMS concept in DevOps?
Answer:
CALMS is widespread tool for thinking about how DevOps works in practice. It helps us adopt DevOps approaches to software development. Each of the letters stands for the following:
- Culture, which emphasizes that DevOps is as much about cultural change within how an organization operates, as it is about technical or commercial change.
- Automation, which eliminates repetitive manual work, yields repeatable processes, and creates reliable systems.
- Lean, which focuses on ensuring that all processes are defined by continuous improvement throughout the lifecycle of the product’s development.
- Measurement, which focuses on proving the ways in which a product’s development is continuously improved by gathering and understanding measurable data about the production process.
- Sharing, which emphasizes spreading these approaches to product development across both Development and Operations teams, so as to ensure a standardized approach to development.
Q: What is CI/CD?
Answer:
Continuous Integration and Delivery (CI/CD) is part of DevOps which helps us to automate manual intervention required to move code from development to production.
Continuous Integration (CI) is the practice where:
- Developers merge their code changes to a central repository whenever they finish a logical task.
- The merged code is automatically built and tested to make sure that it’s ready for production.
The main goal of Continuous Integration is:
- Find and fix the bugs quicker.
- Improve software quality.
- Reduce the overall time taken to release the solution or a feature.
Continuous Delivery (CD) starts at the end of Continuous Integration (CI). In continuous delivery the code changes are automatically built, tested, and released to production.
In other words, Continuous Integration and Delivery (CI/CD) Continuous Integration and Delivery (CI/CD) is a set of tools, guidelines and best practices that enable development teams to deliver solutions more frequently and reliably.
Q: What are the SAP BTP offerings for CI/CD? How do we choose which offering is right for a given scenario?
Answer:
SAP BTP provides 3 major offerings for CI/CD.
SAP Continuous Integration and Delivery — An SAP BTP Service, mainly suited for SAP-centric use case, does not require lots of skills to build a pipeline.
Project “Piper” — An open-source project and libraries that provides templates for pipelines, best suited when you want to use predefined template and have some flexibility.
Continuous Integration and Delivery Best Practices Guide — Best practices guide if you want to completely own CI/CD pipeline with full flexibility.
The main difference between these 3 options is in terms of skills required and level of flexibility.
Q: What are some major aspects you will consider before choosing the right CI/CD solution offered by SAP BTP?
Answer:
Some major aspects that should be considered before picking the right option are:
· How much DevOps skillset you have?
· How complex/simple CI/CD pipeline you need?
· Whether you own any CI/CD infrastructure or not? For simple, fast to achieve scenario you can go for SAP Continuous Integration and Delivery. As the complexity and flexibility requirement increases, you may choose either Project “Piper” or in CI/CD Best Practices in SAP BTP approach.
For example, if you are an SAP partner building a solution on SAP BTP, and you don’t want to go too deep into DevOps topics, don’t want to have your own infrastructure to run a CI/CD pipeline and you are comfortable with the limited flexibility for CI/CD pipeline, then SAP Continuous Integration and Delivery would be the right choice. In this case, you just use UI based approach to configure and run your pipeline without getting too deep into technicality of it.
But let’s assume you have very specific requirements for your CI/CD pipeline, you have fair knowledge on how to configure and run a pipeline, you have your own infrastructure. At the same time, you want to save time by using predefined templates and libraries by SAP, then Project “Piper” would be a good selection.
In case, you need full flexibility to run your pipeline and willing to spend time on building your fully customized pipeline from scratch, follow the CI/CD Best Practices in SAP BTP.
Q: Explain the main features and offerings of SAP Continuous Integration and Delivery service on BTP?
Answer:
SAP Continuous Integration and Delivery is an SAP BTP Service which enables us to configure and run predefined CI/CD pipelines without need of having individual infrastructure and in-depth knowledge.
It comes with interactive user interface and helps us configure and run an out-of-the-box CI/CD pipeline without much hassle.
SAP Continuous Integration and Delivery is mainly suited for SAP-centric use cases and supports SAP Fiori, SAP Cloud Application Programming Model, SAP Integration Suite artifacts and container-based applications. Below image shows a high-level view of SAP Continuous Integration and Delivery.
Q: Explain the main features and offerings of Project “Piper”?
Answer:
Project “Piper” is an open-source project which provides a more flexible option than SAP Continuous Integration and Delivery and yet is not too difficult.
The vision behind Project “Piper” is to enable SAP customers and partners to ease up CI/CD implementation and help them choose best SAP and non-SAP solutions for it along with predefined templates and libraries. Piper is based on Jenkins.
Q: How does SAP Business Application Studio helps in Develop, Build and Test Phase
Answer:
SAP Business Application provides an excellent experience for developing a solution for SAP ecosystem. It extremely simplifies the developer experience, improves development as well as DevOps operations, and offers better time to market.
Below image illustrates a high-level overview of different components and features of it. Dev Space is like an isolated development environment containing tailor-made tools and extensions and pre-installed runtimes as per the development scenario, for example, SAP Fiori, SAP Cloud Application Programming Model, SAP HANA etc.
Q: What is Multitarget Application and how does it help in build and deployment?
Answer:
A cloud solution usually composed of multiple software modules representing database entities, business logic, backend services, UI layer etc. For example, a typical solution on SAP BTP usually have a HANA module which contains database related artifacts (e.g., calculation views), a backend service (e.g., a CAP or Java or Node.js module), an SAP Fiori Launchpad module and an SAPUI5 module as shown in image below.
There are couple of challenges that we face with such applications having multiple modules.
Maintain dependencies during deployment
One of the main challenges we face with such application is deployment. If all the modules are built separately and have their corresponding deployment archive file, then we will have to make sure that the dependency is properly maintained during deployment. For example, if Java module is deployed before SAP HANA module, then it will fail because dependencies will not be found.
SAP BTP Service Instance Creation
Another challenge is related to the SAP BTP configurations and service instance creation. For example, if the application is using any SAP BTP services (e.g., Destination service or XSUAA service), then we need to make sure that the service instances are created before deploying the application. Even if service instances are created, the deployment might fail if the service instances are not properly mapped to the application.
Lifecycle maintenance
Lifecycle maintenance of individual modules separately is another big issue. If a module has been upgraded, we need to make sure that in all deployment other modules are using the updated version of each other.
Multitarget application (MTA) helps us to tackle these challenges.
How does Multitarget Application Solve these Problems?
A Multitarget Application (MTA) includes multiple modules of an application together as one single project. These individual modules although serves as building block of ONE application and share the same development lifecycle. However, the individual modules of MTA may be written in different languages. For example, an MTA project may contain:
- A HANA module where we use HANA dependent language to create calculation views
- A backend module implemented using SAP Cloud Programming Model
- Business logics implemented in Java or Node.js or other language
- SAPUI5 module to implement the UI
These modules can be deployed to different target platforms. For example, HANA module of MTA project may be deployed to SAP HANA Cloud while the other modules are deployed to SAP BTP, Cloud Foundry.
An MTA project has a file called MTA Descriptor (mta.yaml) that contains a list of all the modules and resources (e.g., SAP BTP Services or Environment Variables) and their dependency details. The complete metadata of all the modules and resources are maintained in this mta.yaml file. At the time of deployment, this file is used to automatically create the SAP BTP service instances, and interdependencies of all the modules and resources are maintained without any manual effort.
Q: Tell me some Major benefits of SAP Cloud Application Programming Model from DevOps perspective.
Answer:
SAP Cloud Application Programming Model provides some excellent benefits to developers.
For example many a times, the actual SAP BTP or other systems may not be fully available to developers at the beginning phase of development. Developers start with local development landscape and gradually move to cloud landscape. SAP Cloud Application Programming Model provides resources to start locally and gradually move to SAP BTP. It allows developers to use an evolutionary development approach.
The easiest path to start development is to use SQLite database in the local project. When we move to local to SAP BTP infrastructure, we can first move use hybrid approach where we connect local app to SAP HANA Cloud. This hybrid approach helps developers to quickly test, debug or modify their code and see the result. Finally, we can move the entire application to SAP BTP and connect it with SAP HANA Cloud.
SAP Cloud Application Programming Model provides tools and framework to easily switch from SQLite to SAP HANA Cloud without changing any business code and just changing the configuration file. Just by changing few parameters we can make our local application fit for running in SAP BTP.
SAP Cloud Application Programming Model really simplifies the deployment of application to SAP BTP, Cloud Foundry. At the same time, if we need to deploy the same app to SAP BTP, Kyma environment, we can easily do that using the tools provided by CAP.
When combined with MTA tools, the programming model can automate not just the application deployment, but also the BTP service instance creation, service binding and other pre and post deployment tasks.
Q: What is SAP Cloud Transport Management?
Answer:
SAP Cloud Transport Management is a service in SAP Business Technology Platform that allows us transport solution deliverables across SAP BTP environments. The service allows us to deploy the solution artifacts (e.g., MTA Archives) along with its content (e.g., SAP Integration Suite content) and manage the deployment and operation.
SAP Cloud Transport Management service adds transparency to the audit trail of changes so that you get information about who performed which changes in your production environment, and when they did it.
At the same time, the service enables a separation of concerns: For example, a developer of an application or of SAP Cloud content artifacts can trigger the transport of changes from within the development environment, while the resulting import into the test, and production environment is handled by a central operations team.
Q: How does SAP Cloud Transport Management work?
Answer:
Let’s take an example of an SAP Cloud Application Programming Model based application. The application needs to be deployed to different subaccounts, for example DEV, TEST, and PROD accounts.
SAP Cloud Transport Management service uses SAP BTP destinations to connect with target end points for deployment. These destinations have the subaccount details and credentials incorporated within it to connect with a particular subaccount and deploy the application.
Further, we create something called Transport Nodes which represents source and target subaccounts for deployment. Transport occurs between these transport nodes. Next, we need a Transport Route to connect transport nodes.
SAP Cloud Transport Management service is also integrated into change and deployment management capabilities of SAP Cloud ALM.
Q: What is SAP Alert Notification Service and how does it work?
Answer:
The SAP Alert Notification service in SAP BTP allows us to send alerts consistently, whether they come from SAP BTP runtimes, services, custom solutions, or outside sources. This service uses a single event format for all alerts in BTP, so there’s no need to deal with different event structures or formats.
Let’s take an example of an SAP BTP solution which consists of a CAP module, a HANA module, a Fiori module. The solution is also consuming few BTP services for example, SAP HANA Cloud, SAP Build as shown in image below.
After deploying the solution in a live environment, it’s crucial to monitor all the modules and services closely. Various types of problems can arise that impact the experience of the end-users. For example:
- Performance issue of the application due to high CPU usage
- Availability issue of the application due to crash
- Functionality issue due to crash of individual application modules
- Connectivity issue with SAP HANA Cloud
- Technical issue in SAP HANA Cloud, e.g., HANA server goes down.
We must establish a reliable alert system for all situations. This is where the SAP Alert Notification Service becomes important. It enables us to set up and customize alerts for both the solution itself and the services it relies on, ensuring a standardized approach. We can configure the SAP Alert Notification service for any of these SAP BTP services or applications and get the notification to various target system as shown in above image.
SAP Alert Notification service also can be easily integrated with other SAP BTP services. For example, while create a CI/CD pipeline in SAP Continuous Integration and Delivery, we can configure to get all pipeline notification using SAP Alert Notification Service.
Q: What is SAP Automation Pilot and how does it work?
Answer:
In DevOps, a big part is about making things automatic. Even if we have tools that watch over our systems and send warnings, we can’t always rely on people to watch and fix things right away. That’s where automation comes in. It helps the DevOps team by doing some tasks automatically, so they don’t have to. SAP Automation Pilot is like the superhero of automation for SAP BTP.
SAP Automation Pilot is a service in SAP BTP which enables us to simplify and automate manual tasks so that we minimize the operational effort to operate and monitor a cloud solution in SAP BTP.
How does SAP Automation Pilot work?
SAP Automation Pilot service can be configured with other SAP BTP services to automate the DevOps tasks. Let’s take an example scenario. Say, we need to monitor SAP HANA Cloud service. In case the database server is down, DevOps team needs to restart the database and send the log for further analysis.
To automate this, we may integrate SAP Automation Pilot with SAP Alert Notification Service as shown below.
In case SAP HANA Cloud has an issue, it sends the alert via SAP Alert Notification Service. Upon receiving an alert from SAP Alert Notification Service, a set of tasks or commands configured in SAP Automation Pilot gets automatically executed. In this case, a set of commands can be configured to restart the database and send the logs.
Q: What is SAP Cloud ALM?
Answer:
SAP Cloud ALM (Application Lifecycle Management) is a cloud-based solution provided by SAP that focuses on the management of the entire lifecycle of applications and services in SAP environments. It is designed to support SAP customers, particularly those using SAP S/4HANA Cloud, SAP SuccessFactors, SAP Customer Experience, and other SAP cloud solutions. With SAP Cloud ALM, teams can plan, build, test, and deploy applications while ensuring everything runs smoothly and stays aligned with business goals. It’s designed to support the full lifecycle of software projects, making it easier to maintain quality and performance in SAP environments.
Q: What is SAP Focused Run and how it is related to SAP BTP?
Answer:
SAP Focused Run is an advanced monitoring and management tool offered by SAP. It’s designed to provide comprehensive monitoring, analytics, and automation capabilities for complex landscapes, including SAP and non-SAP systems. Focused Run is particularly useful for managing large-scale and mission-critical environments, offering features like performance monitoring, root cause analysis, alerting, and automation of routine tasks.
SAP Focused Run can integrate with various systems and applications, including those hosted on SAP BTP. This integration allows organizations to monitor and manage their entire landscape, spanning on-premises and cloud-based environments, from a single platform.
By integrating with SAP BTP services, SAP Focused Run can provide end-to-end visibility into the performance and health of applications running on the platform. This visibility enables organizations to proactively identify issues, optimize performance, and ensure the reliability of their applications.
Follow me for much such content on SAP and AI.
Happy Learning!
Next Blog
Part 5— SAP BTP — Side by side Extensibility[To be published]