Cloud-native application development has a myriad of benefits that help organizations stay ahead. To leverage this, cloud-native application development requires an extensive architecture that needs to be configured and managed over time, with new infrastructure components and procedures to establish and follow. If this sounds like a slow and taxing process you just don’t have the time or resources for, that’s because it is. This is where Napptive comes in.
Napptive is a robust Integrated Development Platform (IDP) designed to streamline the design, development, and upkeep of your cloud-native applications. Our mission is to provide the best user experience possible for Devs and DevOps in the cloud-native development field, with a compelling interface (our Playground) that offers easy-to-use and advanced tools to achieve their goals.
Some of the capabilities of the Playground are:
- A multi-tenant environment: A single cluster infrastructure can serve multiple users with all the security guarantees.
- Integrated security in the system: One of the main concerns of cloud computing is the fact that your application is not in a safe place inside your organization. Here at Napptive, we take security very seriously (as we mentioned before, we consider it to be one of the ten best practices when building cloud-native applications). The applications are yours, and other tenants will not have access to them.
- Fast provisioning: Provisioning hardware takes time, and we have suffered it in the past. With our SaaS offering, you get environments as fast as you can type and press enter.
- Simple application definitions: The Playground supports the Open Application Model (OAM) by default, so you can easily deploy applications without requiring a deep knowledge of Kubernetes.
- We provide an application catalog where you can quickly grab predefined applications and start using them immediately.
- Bring your own cluster: Create your own private zones to deploy applications in your own infrastructure.
- Compatible with the standard Kubernetes API: With the Playground you can still access the cluster using the standard Kubernetes API with kubectl or any programming library.
Building scalable applications with Napptive
When we think of scalability, there are a couple of concepts Napptive brings to the table that can be useful.
One of them is the environment. An environment is associated with a set of computing resources that are reserved for the applications that will be deployed on them. Resources assigned to the environments are defined during their creation.
The other one is the zone. Zones represent physical locations around the world where you can deploy your applications. Each environment in your account will be associated with a zone that will determine where the application is going to be deployed. Selecting a zone that is closer to the expected end users will improve its performance for final users, as latency will be reduced. You can effectively deploy applications in multiple geographical sites,
Understanding and effectively using zones can significantly enhance your team’s productivity and help you manage your resources more effectively. They provide the necessary compartmentalization for complex projects, ensuring that each area of your work receives the resources and attention it needs to succeed.
Here’s an example:
In this scenario, we already have an environment in Ireland. Each environment has several parameters you can modify, like the number of CPUs, the available RAM memory in MB, and the available storage (also in MB).
We have deployed two applications in this environment (drawio and my-wordpress).
We can see the resources that are being currently used (CPU, RAM, and storage) in the upper left corner of the screen, in the “environment” card.
Our organization detected a big influx of users from Asia logging in our applications since we started expanding to that area. To accommodate them, this environment in Ireland is not enough, so we’ll create another one:
When creating it, we choose the geographic zone that’s nearest our target group of clients (in this case, Mumbai). We expect to have more users than in Ireland right now, so we tweak the parameters to our liking, and then we create the environment.
Once we’ve done that, we click the “Deploy app” button in the upper right corner of the main view and get ready to deploy our application.
Of course, we can deploy an application from Git, from a YAML file, or just choose one from the catalog (where you can also upload your own applications). For this example’s purposes, we will deploy one from the catalog (a WordPress with a MySQL database).
Before deploying the application, we can modify the configuration parameters of each component, in case we want it to use more (or less) RAM in this environment. This doesn’t affect the already deployed instances of the same application in other environments.
We adapt this specific instance to our needs, and then we deploy it.
After a few seconds, the application is up and running in your new environment, with the new parameters, ready for you to make it available to your users.
And, just like that, in a few minutes, you created a custom environment able to manage a surge of new users and deployed an instance of your application with the capacity needed to give them a satisfactory user experience.
If you want to know more about this process, we recommend the Napptive Playground Documentation, extensive and up-to-date. We also know that it’s easier said (or read?) than done, so our main recommendation is to sign up for free and try it yourself. You can always contact us if you’re having trouble navigating the Playground, we’ll be happy to help.
Scalability has become an essential part of today’s application development field. Napptive, as an Internal Development Platform (IDP) offers tools that transform the excruciating process of building, deploying, and scaling cloud-native applications into an easy, intuitive task that doesn’t need in-depth knowledge of the architecture underneath to be performed. With Environments and Zones, you can manage your resources mindfully, and you can even modify your application’s parameters before deploying so that it takes more (or less) resources in each environment, depending on your needs.