Dev Spaces in SAP Business Application Studio
SAP Business Application Studio is a new IDE launched recently in SAP Cloud Platform. Like its predecessor, SAP Web IDE Full-Stack, it provides a cloud-based development environment. However, it also brings some new concepts into the game while redefining long standing ones from SAP Web IDE. In this blog I would like to elaborate about the Development Space (dev space) concept.
Dev spaces are the essence of SAP Business Application Studio. They are full-fledged development environments equipped with the runtimes and tools required for specific development scenarios. Each dev space is optimized for a specific development scenario. This means that it is delivered with a predefined set of tools we believe are required for this scenario.
A dev space is created in a click of a button and within a minute you have your environment up-and-running and you can start your development. No need to install additional tools or do some complex configurations, all you need is already preinstalled and preconfigured.
Currently, SAP Business Application Studio supports 3 development scenarios, more will come in the future.
The different tools and runtimes are available as extensions. Each extension can hold one or more tool and/or runtime. The content of each extension is mentioned in the extension description.
Picture 1: The list of tools provided with the MTA extension.
When creating a new dev space, you are asked to select from various development scenarios (i.e. dev space types). For each scenario, there is predefined list of extensions which are installed by default.
On top of the predefined extensions which you can see on the left, you can optionally add more extensions from the Additional Extensions list on the right.While you can add an unlimited number of extensions to your dev space, you should keep in mind that the more you add, the longer it will take for your dev space to load. So, add only the extensions that you really need.
Image 1: AppStudio Create a New Dev Space page,
predefined extensions listed on the left, optional extensions on the right
Once you click Create Dev Space, SAP Business Application Studio will spin up a (kind of) private virtual machine for you and install all the selected extensions into it. In a nutshell, under the hood, Kubernetes technology is used to provision and manage containers to create an isolated dev space. Once the dev space status turns to RUNNING, you can start your development.
Whenever you create a new dev space, the latest version of the selected extensions is installed. Extensions in existing dev spaces are updated automatically every time it is restarted, thus making sure you always use the most up-to-date version of the tools.
Dev spaces are completely isolated from one another, there is no way to access the file system and processes of one dev space from another dev space, even if both are owned by the same user. This level of isolation, together with the containers approach, enabled us to provide the long-requested terminal access and the ability to run almost any command as if you are working on your own laptop.
Unlike your laptop, dev spaces are also disposable. If, for some reason, your dev space is messed up, you can always create a new one and easily move your projects to it by downloading them from one and uploading them to the other. Having your projects always in sync with their Git repositories will make it even easier to switch between dev spaces.
To save on resources, dev spaces are stopped after 3 hours of inactivity (1 hour in Trial). Don’t worry, your dev space, including all the files it contained, will be restored once you start the dev space again. However, processes like applications or jobs you were running during your development, will have to be restarted manually.
Dev spaces will be preserved as long as your subscription to SAP Business Application Studio is in place and of course, if not explicitly deleted.
You can create up to 10 dev spaces and have 2 of them running at the same time. In trial accounts you are limited to total of 2 dev spaces and only one running at a time.
To sum up, the dev space is a key concept at the heart of SAP Business Application Studio. It brings a new development experience with a new range of capabilities. New development scenarios are coming up soon, as well as advanced features around dev space handling. Stay tuned.
For more information about SAP Business Application Studio have a look at the following info-blog.