Frequently Asked Questions
- How is Romana different from other container network alternatives like Flannel or Weave?
- Can I run Romana on a layer 2 network?
- Does Romana work with OpenStack?
- Can I run Romana on my existing OpenStack underlay network?
- Does Romana work with Docker?
- Does Romana work with Kubernetes?
- Does Romana support Kubernetes Network Policy?
- Will Romana run in AWS?
- How are network segments isolated?
- Does it have any layer 2 semantics?
- How does it scale?
- Will I run out of IPv4 Addresses?
- What are the plans for IPv6?
- Does Romana support overlapping IP addresses?
- How does Romana handle NAT?
- What kind of performance gains can I expect?
- Is there any training available?
1. How is Romana Different from other container network alternatives like Flannel or Weave?
Flannel is the open source overlay virtual network included in CoreOS. Flannel creates a local bridge on each container host and assign it a network address range. This lets local container endpoints sit on a single layer 2 network where they can communicate directly. Off-host traffic is encapsulated and tunneled across the physical network to the destination host where it is forwarded to the local container bridge.
Flannel also has a ‘host gateway’ option for use on physical switched layer 2 networks to forward traffic directly to the destination without encapsulation.
Weave is another overlay virtual network available from Weaveworks. Weave lets users create tunnels between container hosts to build layer 2 overlay virtual networks.
Since both Flannel and Weave are overlay networks the host CPU must perform encapsulation of all traffic. The disadvantages of overlay networks are outlined here.
2. Can I run Romana on a layer 2 network?
Yes. Romana will work on simple switched layer 2 networks, layer 2 fabrics, routed layer 3 networks and even on public cloud networks like Amazon’s Virtual Private Cloud.
When Romana runs on layer 2 networks, the Route Manager will configure routes on each host to every other host.
3. Does Romana work with OpenStack?
Yes. Romana works with cloud orchestration systems like OpenStack to launch VM and container endpoints. Romana integrates with OpenStack through a Modular Layer 2 device driver and an interface to its new IPAM API.
You can try Romana today with OpenStack running on Amazon EC2 instances. See our current release for details.
See current Roadmap for details.
4. Can I run Romana on my existing OpenStack underlay network?
Soon. The current release does not support this, but we plan to in the future. If you would like to contribute to this effort, please let us know.
5. Does Romana work with Docker?
It will. The current v0.9 release does not support Docker, but it is planned for a future release.
6. Does Romana work with Kubernetes?
Yes. Current status available here.
7. Does Romana support Kubernetes Network Policy?
Yes. Romana was the first Kubernetes network provider to demonstrate network policy enforcement. You can learn more about it here.
8. Will Romana run in AWS?
Yes. The current release supports both Kubernetes and OpenStack running on AWS EC2 instances. Current status available here.
9. How are network segments isolated?
Romana uses a new layer 3 based approach for tenant and segment isolation. Romana encodes tenant and segment identifiers directly in the IP address and Linux iptables rules are set to provide isolation. This enables multi-tenant cloud networks to be built without a virtual network overlay. See Romana Tenant Isolation for more detail.
10. Does it have any layer 2 semantics?
No. Cloud Native applications are built on simple cloud networks where no layer 2 networks are available. Romana implements only the features that are needed for Cloud Native Networks.
11. How does it scale?
Since Romana uses a distributed, service oriented approach, each service can scale by simply adding more service instances. See Romana Architecture for details.
12. Will I run out of IPv4 Addresses?
Probably not. A Romana network that has the full use of a 10/8 network can accommodate up to 16 million endpoints. Even considering how Romana’s IPAM would allocate these across CIDRs, this is a very large number of endpoints.
The latest OpenStack User Survey (p34) indicates that about 36% of deployments have less than 10 Compute Nodes and about 78% of deployments have less than 100. So, for a large majority of cloud deployments there will be ample addresses.
13. What are the plans for IPv6
Since Romana tenant and segment isolation relies on IP addressing, larger deployments will exceed the limit of what IPv4 can support. For this reason, Romana will support IPv6 as soon as practical. However, it is unlikely to be part of the first v1.0 Production Release
14. Does Romana Support Overlapping IP addresses?
No. Romana does not support overlapping IP addresses. To maintain the structure of the routed access datacenter design, IP addresses need to be conform to the address hierarchy.
15. How does Romana handle NAT?
The current release dose not perform NAT on its own. NAT can be done as needed by a gateway router by forwarding traffic to the device. Having control over the routes also allows external IP addressed to be assigned to endpoint interfaces, avoiding NAT entirely.
Variations of this same approach will allow consolidation of external IPs in DMZ, etc. However, the current release does not support automated configuration of these kinds of individual routes. See the Romana Roadmap for details on what is currently supported.
16. What kind of performance gains can I expect?
Since Romana does not require an overlay, no packet encapsulation is required and since traffic runs directly on the physical network, it can take more direct paths.
When encapsulation is performed on the host, it can consume about 4-6% of the CPU as well as about 3-4% of bandwidth. However, just as important as reclaiming this performance, eliminating the overlay avoids the intermediate router hops that are necessary to forward traffic across networks. With more direct network paths, Romana has reduced latency by about 85% for routed VXLAN traffic in OpenStack.
The table below summarizes the relative performance of an OpenStack network with and without Romana.
|Native OpenStack||1.51 ms||1.51 ms||0.24 ms||0.85 ms|
|Romana Networks||0.24 ms||0.77 ms||0.24 ms||0.77 ms|
See this Performance page for more detail.
17. Is there any training available?
Yes. We are working with a partner to develop the curriculum for a one day, hands on training workshop and have the next classes in the San Francisco Bay Area sometime in March 2017.
If you are interested in learning more, send an email to firstname.lastname@example.org.