Before we dwell into what are environments in Napptive, let’s clarify the usual definition in software development: An Environment is usually understood as a delimited set of resources to deploy an application. The most common examples are production, staging, and development, named after the type of workload that is deployed in them. Thus, the production environment is used to deploy applications that serve customer requests, the staging one is used to integrate the newest release of the application, and the development environment is used for debugging and testing.
These are three environments that we can usually find in dev teams, but they are far from unique. Environment naming is usually adapted to the specific needs of each user to identify the type of workload that is deployed in it. The goal of having different environments can vary from team to team, and the naming can refer to:
- the stages of an app’s development life cycle. In this group, we would have production, staging, and development.
- the execution of tests on a specific pull request, without interfering with the main environment where the app is deployed. These environments are usually short-lived, with names similar to ci-test-<id>.
- the clients of the company.
- the applications or the projects.
This system of delimiting a part of your resources for a specific project (or stage of a project) helps organize the workload, but can become inefficient very quickly, with the chances of resource management turning into a nightmare exponentially rising with each new environment.
Switching to cloud-native dev environments can solve many of these issues, since:
- They provide extra isolation for each environment, so you don’t have to worry about unauthorized or malicious access.
- The cloud offers a built-in infrastructure for monitoring, alerting, profiling, tracing, and log aggregation that you can take advantage of.
- You don’t have to rely on your local hardware anymore. Cloud environments can scale up when you need more resources, and scale down on the weekend.
- The hardware won’t shut down because of a blackout in the building or go into hibernate mode, so you can launch long-running tests on Friday without the fear of finding them ruined on Monday.
- The integration issues can be detected quickly, since you’re using real cloud service APIs and not mocks.
- You can forget about “It works on my machine!” cases.
There are many more reasons why you should switch to a modern, reliable, cloud-native experience. And I’m sure you’ve already heard them, and are thinking about stepping up to the challenge, but Kubernetes management is relatively unknown territory for your team, and you’re not ready to stop production and give your dev team some time to master Kubernetes.
Napptive
Napptive is what you’re looking for. We provide an integrated solution that can be used by any member of your organization (including developers and non-technical users) to deploy applications in modern infrastructures. We take care of the Kubernetes side of cloud-native app development, so you can focus on your app.
The Napptive playground gives instant access to a cloud-native application platform based on Kubernetes, with support for the Open Application Model (OAM). It is accessible via the web or Command Line Interface (CLI), and you can sign up for free and try the Pro edition out for 6 months. We will be using the web interface in this tutorial.
Deploying apps is very straightforward, be it your own or one from the evergrowing app catalog that is available on the platform. But what about environments?
Napptive allows the creation of 3 different environments in free accounts, and the number increases to 5 for the Pro plan. However, we will be happy to work with you and create an account that fits your organization. Please contact our support team and let us know what you need.
Creating an Environment
All accounts in the NAPPTIVE platform start with a single environment named default. To create another one, you can click on the name of the current environment on the upper part of the main window and then click on “manage environments”. This will show you the current environments that are created in your account.
In this example, this account has two different environments called test01 and personal. If you want to create another one, you need to click on the plus button in the top right corner of this window, and the dialog with the options to create the environment will be shown.
A new environment needs a name, an optional description, and the resource quota that you want to assign to it. You can also set it as the default environment for your account. After filling this out, just click on the “Create environment” button and you’re good to go!
Selecting an Environment
To change between environments, just click on the top bar with the name of the current environment, and select the environment of your choice.
Removing an Environment
To remove an environment from your account, click on the top bar with the name of the environment, and then on the “manage environments” option. Then you will see the list of the environments in your account. Select the one you want to remove, and click on “Delete environment”.
Remember that there can be no apps deployed in the environment before the removal! If there are, the platform will notify you and not follow through with the operation until the environment is empty.
If you want to propel your development, why not try our playground? It’s free, simply sign up and get started!