More importantly, this shift is being fueled by the rise of the sovereign cloud.
Nations and enterprises today demand that sensitive data remain within their borders — ensuring compliance with local data protection laws and maintaining control over digital assets. Governments, financial institutions, and regulated industries now prioritize data sovereignty, security, and compliance over generic global infrastructure.
This evolution has created a powerful opportunity for regional providers. With their existing infrastructure, local expertise, and proximity to customers, they can offer sovereign public cloud services that deliver enterprise performance while aligning with national compliance and security requirements.
If you already have the hardware and connectivity, you are halfway there.
What you need is the right platform and roadmap to transform that infrastructure into a fully operational, sovereign public cloud business — and that’s where this transformation begins.
Before diving in, assess your business and operational foundation.
Consider three key areas:
StackBill cloud management portal helps providers assess readiness with architecture planning, deployment templates, and automation frameworks built around Apache CloudStack.
Apache CloudStack has become the preferred choice for public cloud providers because it offers:
StackBill cloud management portal extends CloudStack with a modern, intuitive portal, automated billing, and built-in monitoring — giving providers the foundation to launch faster and operate efficiently.
Your cloud business starts with well-defined service plans.
Decide what your customers can consume via self-service:
With StackBill CMP, you can customize service plans, billing rules, and usage-based pricing — enabling you to compete directly with global clouds while maintaining your sovereign and local advantage.
Public cloud success depends on delivering speed, reliability, and consistent performance.
StackBill’s automation ensures that:
This level of automation reduces operational complexity, enhances uptime, and gives customers a world-class experience — helping you operate with the efficiency of hyperscalers while maintaining full sovereignty.
Once your cloud is live, focus on revenue generation and differentiation.
Here’s how to establish a competitive go-to-market strategy:
StackBill’s billing engine and brandable marketplace make it simple to launch new service plans under your own brand — without complex integrations or delays.
As demand grows, scalability and insight-driven decisions become critical.
With StackBill CMP, providers can:
StackBill evolves with your growth — enabling you to move from a single data center to a multi-region, sovereign public cloud brand with operational excellence.
A leading data center in Brazil faced challenges managing manual billing, delayed provisioning, and limited visibility across tenants.
After adopting StackBill CMP, they automated their Apache CloudStack billing workflows, achieved real-time usage visibility, and reduced operational overhead by 40%.
Today, they have scaled their public cloud services efficiently while offering transparent billing, faster provisioning, and a superior customer experience — proving how infrastructure owners can successfully transform into cloud providers.
The shift from owning infrastructure to operating a profitable public cloud business is not just an upgrade — it’s a transformation in value creation.
By combining your infrastructure expertise with an automation-ready platform like StackBill CMP, you can:

Ready to build your public cloud business?
Discover how StackBill CMP accelerates your transformation from infrastructure to cloud success.
Book a Demo Today | Take a Tour of StackBill CMP
Don’t forget to read our next blog article : How StackBill CMP is the Best Choice for Public Cloud Service Providers
Public cloud providers today face a tough reality: complex infrastructures, unpredictable costs, and rising customer expectations. Managing Apache CloudStack at scale is powerful — but without the right business layer, it quickly becomes overwhelming.
This is where StackBill CMP steps in: not just a management tool, but a business enabler tailored for data centers, telecoms, and enterprises running Apache CloudStack.
StackBill Cloud Management Portal empowers public cloud providers with simplified Apache CloudStack management, automated billing, and customer-ready features to drive growth. Let’s explore in detail.
Public cloud service providers are under constant pressure to deliver reliable infrastructure, competitive pricing, and exceptional customer experiences. Managing large-scale Apache CloudStack deployments is powerful, but challenges remain:
This is where StackBill CMP bridges the gap — helping providers turn infrastructure into business success.
StackBill CMP is a white-label cloud management and billing portal built on top of Apache CloudStack. Designed for public cloud providers, data centers, and telecom companies, it simplifies daily operations, automates billing workflows, and enhances the end-user experience.
Think of it as the business layer on top of Apache CloudStack — making your cloud not just run, but scale profitably.
Billing should be a growth enabler, not a bottleneck. StackBill CMP provides:
In competitive cloud markets, customer stickiness matters. StackBill empowers you to deliver:
For data centers and telcos, security and isolation are non-negotiable. StackBill offers:
Your business evolves — StackBill grows with you.
No two providers are the same. StackBill adapts with:
Beyond orchestration and billing, StackBill opens new revenue streams:
One of Brazil’s leading data centers faced challenges with manual billing, delayed provisioning, and lack of visibility into usage across tenants.
After implementing StackBill CMP, they automated their Apache CloudStack billing workflows, achieved real-time usage visibility, and reduced operational overhead by 40%.
Today, they have scaled their public cloud operations efficiently while delivering transparent billing and seamless customer experiences.
Cloud never sleeps, and neither does StackBill support.
For public cloud providers, telcos, and data centers running Apache CloudStack, StackBill CMP isn’t just another portal — it’s the missing piece that transforms infrastructure into a profitable cloud business.
Ready to scale your Apache CloudStack business? Discover how StackBill CMP helps cloud providers automate billing, simplify management, and grow profitably. Book a demo today.














In this guide, we will walk you through the process of creating a ubuntu template from the existing Virtual machine in KVM.
Follow the below steps mentioned in the Documentation to create the Template from the Volume.
Step 1:
The Below mentioned steps is for centos and Ubuntu
Step 2:
CentOS:
~~~
yum update -y
Reboot
~~~
Ubuntu:
~~~
sudo -i
apt-get update
apt-get upgrade -y
apt-get install -y acpid ntp
reboot
~~~
Explanation:
For CentOS:
~~~
hostname localhost
echo “localhost” > /etc/hostname
~~~
Step 3:
CentOS:
~~~
yum install -y cloud-init wget
~~~
Ubuntu:
~~~
apt-get install -y cloud-init wget
~~~
2. Set up cloud-init to dynamically identify the Cloudstack data source at runtime.
~~~
datasource_list: [ ConfigDrive, CloudStack, None ]
datasource:
CloudStack: {}
None: {}
~~~
3. Enable password management:
Command:
~~~
sudo sed -i s/” – set[_|-]passwords”/” – [set_passwords, always]”/g /etc/cloud/cloud.cfg
~~~
4. Specify the managed user:
~~~
system_info:
default_user:
name: root
lock_passwd: false
sudo: [“ALL=(ALL) NOPASSWD:ALL”]
disable_root: 0
ssh_pwauth: 1
~~~
5. Disable Cloud-init regenerating host certificates:
~~~
echo “ssh_deletekeys: false” > /etc/cloud/cloud.cfg.d/49_hostkeys.cfg
~~~
6. Configure disk partition:
For CentOS:
~~~
yum install cloud-utils-growpart -y
~~~
For Ubuntu:
~~~
apt-get install cloud-initramfs-growroot -y
~~~
~~~
growpart:
mode: auto
devices:
– /dev/vda2
ignore_growroot_disabled: false
~~~
~~~
growpart:
mode: auto
devices:
– “/dev/vda1”
– “/dev/vda3”
ignore_growroot_disabled: false
~~~
~~~
runcmd:
– [ cloud-init-per, always, grow_VG, pvresize, /dev/vda3 ]
– [ cloud-init-per, always, grow_LV, lvresize, -l, ‘+100%FREE’, /dev/ubuntu-vg/ubuntu-lv ]
– [ cloud-init-per, always, grow_FS, resize2fs, /dev/ubuntu-vg/ubuntu-lv ]
~~~
NOTE:If the file system of the “/” is xfs then use xfs_growfs or if it is ext4 then use resize2fs
7.Enable autoresize on every boot:
~~~
sudo sed -i s/” – runcmd”/” – [runcmd, always]”/g /etc/cloud/cloud.cfg
sudo sed -i s/” – scripts-user”/” – [scripts-user, always]”/g /etc/cloud/cloud.cfg
~~~
Step 4:
~~~
Permitrootlogin yes
~~~
2. Start & Enable the Cloud-int services:
Commands:
~~~~~~~
Enable the service:
systemctl enable cloud-final.service &&
systemctl enable cloud-init.service &&
systemctl enable cloud-config.service &&
systemctl enable cloud-init-local.service
Start the service:
systemctl start cloud-final.service &&
systemctl start cloud-init.service &&
systemctl start cloud-config.service &&
systemctl start cloud-init-local.service
Status of the service:
systemctl status cloud-final.service &&
systemctl status cloud-init.service &&
systemctl status cloud-config.service &&
systemctl status cloud-init-local.service
~~~~~~~~
3. VM Hypervisor
~~~
systemctl enable qemu-guest-agent &&
systemctl start qemu-guest-agent &&
systemctl status qemu-guest-agent
~~~
~~~
systemctl enable xe-daemon.service &&
systemctl start xe-daemon.service &&
systemctl status xe-daemon.service
~~~
In some case,if any of the user-data given the disk resize will not be executed.So in order to overcome this,we need to run a script at every boot.
Create a file as mentioned below,
~~~
vi /var/lib/cloud/scripts/per-boot/runcmd
~~~
Add this script in the above created file:
~~~
#!/bin/sh
pvresize -y -q /dev/vda3
lvresize -y -q -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
xfs_growfs /dev/ubuntu-vg/ubuntu-lv
exit 0
~~~
Change the permission to execute
~~~
chmod +x /var/lib/cloud/scripts/per-boot/runcmd
~~~
Step5:
Cleanup Process:
After finishing all tasks, it is essential to remove all executed commands on the server. Failing to clear these commands will result in them being displayed in the history section when creating a new VM from the template.
Commands:
~~~
rm -rf /var/lib/cloud/data/ /var/lib/cloud/handlers/ /var/lib/cloud/instance /var/lib/cloud/instances/ /var/lib/cloud/seed/ /var/lib/cloud/sem/
rm -rf /etc/sudoers.d/*
rm -f /etc/udev/rules.d/70*
rm -f /var/lib/dhcp/dhclient.*
rm -f /etc/ssh/*key*
cat /dev/null > /var/log/wtmp 2>/dev/null
logrotate -f /etc/logrotate.conf 2>/dev/null
rm -f /var/log/*-* /var/log/*.gz /var/log/*.1 2>/dev/null
truncate -s 0 /var/log/* &> /dev/null
truncate -s 0 /var/log/*/* &> /dev/null
truncate -s 0 /var/log/*/*/* &> /dev/null
truncate -s 0 /var/log/*/*/*/* &> /dev/null
> /root/.bash_history
history -c
~~~
Creating a Template from an Existing Virtual Machine
Congratulations! You have successfully created a template from the existing virtual machine in CloudStack.
Thank you for taking the time to read our blog. This blog “Create a Ubuntu Template from the Existing VM in KVM” was written by our cloud engineer Mr. kanagaraj. We hope you found the information valuable and insightful. If you find any issues with the information provided in this blog don’t hesitate to contact us ([email protected]).
Take a look our next article : How to Create VM using Default Network in ACS?
Prerequisites
Before you begin, ensure that you have the following:
Access Credentials: Ensure you have the necessary credentials to log in to the CloudStack management interface.
Step 1: Log in to CloudStack Management Console
To begin, open your web browser and navigate to the CloudStack Management Console. Then, log in with your credentials.
Step 2: Navigate to “Instances”
Once logged in, next, navigate to the “Instances” section. This is where you’ll manage your virtual machines.
Step 3: Initiate Instance
Select the “Add Instance” option to commence the creation of a new instance.
Step 4: Choose the “Default” Zone
– Select the “Default” zone from the available zones. The default zone usually represents the basic configuration for CloudStack.
Step 5: Choose the Template
– Select a template for your VM. The template contains the operating system and other configuration details. Ensure that the template is compatible with the default network.
(Optional): Add ISO for Installation
If you need to install an operating system using an ISO image, follow these additional steps:
– Navigate to the “Templates” section on the left-hand navigation bar.
– In Select View, choose ISOs.
– Click on “Register ISO.”
– On the “Add ISO” screen, input the following details:
– URL: The URL hosting the ISO image.
– Name: A brief identifier for the ISO image
. – OS Type: Choose the operating system type.
Step 6: Select the Compute Offering
Choose a Compute offering that suits your requirements. The Compute offering defines the compute resources (CPU, memory, etc.) allocated to your VM.
Step 7: Select the Data disk Offering
Choose a Disk Offering that suits your requirements.
Step 8: Configure Network Settings
In the network settings, Click create new network and add the network details in the isolated section
Provide the following information for creating an isolated Network:
– Name: Specify the name for the network.
– Description: Provide a description for the network.
– Zone: Indicate the zone where you are configuring the guest network.
– Network offering: select Offering for isolated networks with Source Nat service enabled and click OK button.
Step 9: Fill details
Provide the instance name and activate the “Start instance” option. To initiate the instance, click on the “Launch Instance” button.
CloudStack will now start creating your virtual machine. Monitor the progress in the CloudStack interface. Once the VM is successfully deployed, you’ll see its status as “Running.”
Step 10: Manage Public IP Addresses
Add Firewall Rule:
– Add a new firewall rule to permit the desired traffic to and from your VM. Specify protocols, ports, and source/destination details as needed.
Set Up Port Forwarding:
– Create a port forwarding rule to direct external traffic to specific ports on your VM. Input details such as public and private ports, protocol, and the associated VM.
Add Egress Rules:
– Navigate to the “Network” section using the left navigation menu.
– Under “Select view,” option for “Guest networks,” then select the desired Guest network.
– Access the “Egress Rules” tab to add rules specifying the type of traffic permitted to exit instances in this guest network.
CIDR: (Specify via CIDR only) Direct traffic exclusively to IP addresses within a specific address block by entering a CIDR or a list of CIDRs separated by commas. The CIDR denotes the base IP address of the destination (e.g., 192.168.0.0/22). To allow all CIDRs, set it to 0.0.0.0/0.
Protocol: Indicates the networking protocol used by instances for outgoing traffic. TCP and UDP are commonly employed for data exchange and end-user communications, while ICMP is typically used for error messages or network monitoring data.
Start Port, End Port: (Applicable to TCP, UDP only) Specify a range of listening ports serving as the destination for outgoing traffic. When opening a single port, ensure the same number is used in both fields.
ICMP Type, ICMP Code: (Applicable to ICMP only) Define the type of message and error code transmitted within the ICMP protocol.
Once the VM is running and network setup is completed , you can access it using the provided IP address. Use SSH or any other preferred method to connect to your VM.
Congratulations! You have successfully created a Virtual Machine using the default network in Apache CloudStack.
Take a look of next article : Steps to Create Ubuntu Template.