Launch a proof of concept with Nebula
This guide helps you set up a POC development environment with Nebula. Use it to evaluate our features and determine if Nebula is the right fit for your needs.
You can test your POC for free in the first 30 days of usage. Gain hands-on experience with the dev-friendly Nebula Console. Use these 30 days to compare our performance and your cost savings to other cloud solutions, with no commitments needed.
Setting up a POC is easier if you have at least a basic understanding of cloud computing. Reach out to our Support team if you need support, or require help with your migration!
1. Set up your Nebula account
Nebula is currently in beta
. This means that only businesses have access to the services required to run a POC.
To get started, join the waitlist or contact our Sales team directly at sales@okra.ng.
Read more about how to get started.
2. Design your environment
Before creating your Nebula resources, we recommend that you define the attributes and structure of the cloud environment that your POC will require. This includes:
cloud compute requirements: Nebula supports various operating systems, including Ubuntu Linux, CentOS, and Windows Server. You can specify the computing power you need for your server instance, including the number of virtual CPUs, the amount of GiBs of memory, and the allocated network bandwidth.
networking configuration: identify your network architecture. Define your VPC and subnet configurations, or use the Nebula-provided defaults.
storage: Nebula enables you to attach additional block storage to your server instances. This is useful when you need separate, additional storage to store data away from the operating system drive of your server.
3. Server and network configuration
- Create a server
Provision and launch your server instance. Choose a configuration that matches your needs.
- VPC
Create a VPC or use the default.
- Subnet
Configure your subnets or use the default. Create at least two subnets (e.g., public and private) and associate them with your VPC.
- Security groups
Set up your security groups. Define rules that allow traffic (e.g., allow HTTP/HTTPS/SSH on ports 80/443/22).
- Key pairs
Create a key pair. This enables you to access your instance with SSH using your private key as a secure authentication method.
- Cloud-init script
Optionally, add your custom cloud-init scripts to speed up the final configuration of your server.
- Load balancer
Optionally, you can configure load balancers to ensure that your POC is always available.
- Extra storage
Optionally, you can attach additional block storage if you need more space for your application.
4. Connect to your server
Use SSH to log into and interact with your server instance. Check out this video guide to see the whole process:
5. Set up a CI/CD pipeline
For this example, let's create a simple GitHub action that logs in to your Nebula server using SSH, checks out your main
branch from your GitHub repository into a work folder, and pulls changes. The action is triggered by pushes on your main
branch.
Go to Settings → Secrets → Actions on GitHub, and create these secrets:
SSH_USER
: your user to access the server via SSH. On Ubuntu, this isroot
by default.SSH_PRIVATE_KEY
: your private key. We recommend that you create a separate key for this GitHub action.SSH_HOST
: the IP address of your Nebula instance. You can find the server’s IP address in the Console’s Instances page.WORK_DIR
: the path to the directory where you want to pull the repository.MAIN_BRANCH
: the name of your main branch. We usemain
for this example.
You can use this sample code to create the action itself:
on:
push:
branches:
- main
workflow_dispatch:
jobs:
run_pull:
name: run pull
runs-on: ubuntu-latest
steps:
- name: set up ssh key
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: connect and pull from main branch
run: ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cd ${{ secrets.WORK_DIR }} && git checkout ${{ secrets.MAIN_BRANCH }} && git pull"
- name: cleanup
run: rm -rf ~/.ssh
Note that this sample code uses a version of an SSH agent that requires Node.js v20
.
After you save the action, every time you push modifications to your main
branch, the action should trigger and push updates to your Nebula server.
You’re done!
Success metrics
Every business has different needs and criteria for evaluating cloud providers. These are some generally applicable aspects that can help you check whether Nebula fits your needs:
- ease of use: time and effort required for initial setup and continuous operation
- support: responsiveness and quality of support
- application performance: response time and stability of the POC application
- cost savings: compare the costs incurred. While you won’t be charged during the POC period, you will be able to see your usage costs in the Console.
- security: check the available security features for access control, authentication, and network traffic management
Next steps
If you feel that the POC is successful, here are some next steps that you can consider:
- scale up workloads gradually by migrating less critical applications
- explore advanced features like Load balancers and Storage buckets
- leverage Nebula’s migration support for a smooth transition
Join the waitlist or contact us directly via sales@okra.ng. We welcome all feedback about Nebula! Your input helps us develop the tools you actually need. Get in touch with our Product team if you have any feedback!
We can’t wait to see what you deploy next!