# Orchestration - Infrastructure as Code

NeevCloud Orchestration lets you deploy complete cloud environments from a single YAML template. Instead of creating networks, security groups, virtual machines and storage one at a time, you describe everything in one file and NeevCloud provisions it all automatically in the right order.

### What can you deploy

A template can include any combination of cloud resources. Virtual machines with a specific OS and flavor, isolated networks with subnets and routers, security groups with firewall rules, floating IPs for public access, block storage volumes, load balancers and auto scaling groups.

Simple templates create a single VM on an existing network. More involved ones deploy full application stacks with separate web and database servers, each behind their own security group, with a load balancer in front.

### How does it work

You write a YAML template describing the resources you need. Upload it through the NeevCloud dashboard. NeevCloud reads the template, works out which resources depend on which and creates them in the right sequence.

When you no longer need the environment, delete the stack and all resources are cleaned up together. No orphaned VMs, networks or volumes left behind.

### Who is it for

Orchestration is useful for teams that need to deploy the same setup repeatedly. If you are setting up environments for different projects, running dev and staging copies of production, or need to hand off a reproducible setup to another team, templates save time and reduce mistakes.

It is also helpful when multiple people manage the same infrastructure. The template serves as documentation of what was deployed and the Events tab provides a timestamped record of every resource creation.

### Template formats supported

NeevCloud supports both OpenStack Heat (HOT) and AWS CloudFormation (CFN) template formats. If you have existing CloudFormation templates from another provider they will work here with minimal changes.
