Setting Up Fugue¶
What do I need before I can get started with Fugue?
To get started with Fugue you will need:
- Access to the Fugue Conductor AMI. If you would like to give Fugue a try, email us at firstname.lastname@example.org. We will enable self-service access to Fugue in the near future.
- an AWS account
- one of our supported operating systems:
- macOS El Capitan (10.11.*), macOS Sierra (10.12.*), macOS High Sierra (10.13.*)
- Ubuntu (14.04 LTS, 16.04 LTS)
- Amazon Linux (2016.03.3)
- RHEL 6 & 7.2 (Yum/RPM)
- Microsoft Windows (Windows 7, 10) Note: For Windows users we
recommend using PowerShell 5 and
$env:varsyntax. To determine your version of PowerShell you can use
echo $PSVersionTable.PSVersion. If you have additional questions reach out to email@example.com.
Check out the Let’s Go! for the full details.
How long does it take to set up Fugue? (or “How long does it take to get started with Fugue?”)
The second component is the Fugue Conductor, which is comprised of an EC2 instance and several other resources and is installed resident in your AWS account.
With the rights tools at the ready you can easily setup Fugue during a typical lunch break.
How do I set up Fugue?
We’ve got you covered. Check out Hello World, Part 1: Fugue Quick Setup to see the process.
How can I migrate my application to Fugue?
Contact our support team (firstname.lastname@example.org) if you want to migrate your application to Fugue!
How long does Fugue take to boot up?
Typically it takes about 5 - 15 minutes for the Fugue Conductor to boot up.
How does Fugue affect my uptime?
Fugue manages the resources that comprise your application via AWS APIs. It does not directly interact with your resources or your application and in this sense does not impact your uptime.
Additionally, Fugue continuously performs configuration enforcement to ensure that you are always running resources as they are exactly defined in your composition.
How does Fugue manage state?
Fugue keeps its state in S3 and DynamoDB. Check out the Processes chapter of our Fugue User Guide to see additional details about process, state, and transitions.
Can I run multiple Conductors at once?
At present, Fugue does not support running more than one Conductor at a time.
Can I run multiple compositions at once?
Yes! A composition defines infrastructure configuration. Running a composition results in a process and this can be done more than once.
Integrating Fugue with Other Tools¶
Is Fugue compatible with configuration management systems?
Fugue is a configuration management system, in the sense that “infrastructure as code” can reflect a configuration management database(CMDB) by way of a version control system, like Git. Other configuration managements systems can use the information from Fugue compositions to inform their CMDB.
Does Fugue support Java applications?
Definitely. Fugue manages infrastructure through APIs, so the implementation language of programs isn’t really a concern. Whatever programming language you’re using – Java included – Fugue can help you deploy and manage it.
Is Fugue compatible with cloud monitoring solutions?
Yes. You can use any kind of monitoring service with infrastructure managed by Fugue. It is also possible to integrate the Fugue Conductor with monitoring services, but there is no support built-in for specific services.
Is Fugue compatible with log management tools?
Yes. As with monitoring, you can use any kind of log management system with infrastructure managed by Fugue. Fugue’s own logs are sent to CloudWatch Logs on AWS, where you can inspect what the system is doing.
Is Fugue compatible with server antivirus and/or firewalls?
Yes, this scenario is similar to custom monitoring. Infrastructure that Fugue manages can be arbitrarily integrated with whatever anti-virus or firewall solutions that meet your needs. The Fugue Conductor can also be especially equipped with antivirus software, though none are officially supported. Firewall protection is generally not a problem so long as the Conductor can reach AWS API endpoints – it requires no network ingress or egress.
Is Fugue compatible with cloud computing PaaS solutions?
It depends. At present, only AWS services are supported. Some AWS services, like Elastic Beanstalk, are PaaS offerings within AWS. These services are compatible with Fugue. For now, PaaS offerings outside of AWS are not supported.
Are you going to natively support EC2-Classic?
We don’t have specific plans to do so. Accounts that have the “EC2” platform (along with “VPC,” as opposed to just “VPC”) are supported, but since AWS is moving toward deprecation of the “EC2” platform, instances must be launched on the “VPC” platform with Fugue.
Is Fugue compatible with continuous integration tools?
Yes. You can easily use the Fugue CLI to integrate Fugue commands into continuous integration (CI) jobs, such as with Travis or Jenkins. At present, there are no special features or integration points for particular CI systems, but the simple command-line interface with Fugue is easily integrated with lots of tools.
Fugue & AWS¶
What cloud platform can I use with Fugue?
The Fugue Client Tools, which run on a local computer, support macOS, Linux, and Windows platforms. For specifics, see the Fugue Quick Setup.
For infrastructure management, at present Fugue only provides support for Amazon Web Services (AWS).
Will Fugue be available for other cloud platforms, like Google Cloud Platform or Microsoft Azure?
We have plans to expand service to include additional cloud platforms and other APIs as well. Watch this space for announcements or reach out directly to our team at email@example.com if you have a suggestion for a platform you’d like to see us support.
How will using Fugue affect my AWS bill?
Fugue’s declarative configuration and process-oriented view of cloud resources tends to cut down on untracked, orphaned infrastructure, so a disciplined use of Fugue should lower the AWS bill of most customers operating at scale. Additionally, lowered management friction and risk mitigation reduce total cost of ownership.
Fugue both uses a small amount of AWS infrastructure for itself, and manages any AWS infrastructure that your compositions define. In both cases, this is infrastructure that runs in your AWS account(s). The infrastructure that Fugue uses is dependent on the amount of work you do with it, and the baseline costs will vary based on both the resources that are used and the type of work performed.
How does Fugue work with Virtual Private Clouds (VPCs)?
Fugue allows you to create and manage infrastructure like VPCs. Using Ludwig you can author and run a composition that defines, creates, and maintains your VPC infrastructure.
If you want to see this in action, try our Building a Network walkthrough.
How is Fugue “installed”?
The Fugue Client Tools are installed on a macOS, Linux, or Windows computer.
Fugue’s Conductor is installed into an Amazon Web Services account. The installation occupies one account, and one region within the account, although it can communicate with any region’s APIs once it is installed. This way, you can install Fugue’s control plane in a single region, but manage your application infrastructure in many.
Details on the installation of Fugue can be found in the User Guide.
What IAM permissions are necessary to run Fugue?
To install Fugue, very broad permissions are required to create infrastructure in VPC, EC2, SQS, S3, and DynamoDB. To operate Fugue and send commands to it, required permissions are far more limited and include read & write permissions to SQS and S3, as well as some permissions to read tags in EC2.
Fugue generates these IAM policies for you upon
install, and you can
What AWS service coverage does Fugue have?
You can see which AWS services can be defined in compositions by browsing the Fugue Standard Library.
What AWS regions does Fugue operate in?
The Fugue Conductor can currently operate in:
However Fugue can create and manage resources in a number of AWS regions such as, US East (N.Virginia), EU (London), and Asia Pacific (Toyko). The most up-to-date list of supported regions where Fugue can manage resources is available here.
Fugue & User Administration¶
How does Fugue handle user access?
Fugue uses RBAC or Role-based Access Control, which determines authentication and authorization, allowing you to create users and author policy governing access to Fugue. You can read more about it here.
Can I access Fugue without an RBAC Policy?
When you install Fugue, an initial (root) user and credential will be created and stored in a credentials file. You can use this default user to access Fugue and attach your initial RBAC policy to create additional users. Or, you can continue to use Fugue in single-user mode (root).
What access does Fugue RBAC control?
RBAC policy defines which actions a principal may take on a subject. In effect, it determines what Fugue CLI commands a user is able to execute at the account level and at the process level, as well as which users may manage RBAC policy or validations. RBAC policy does not control access to specific resources. For additional details about RBAC policy, see Fugue.System.Policy and How It Works.
How does RBAC handle users?
RBAC allows you to create policy files that include users and associated
permissions. The Fugue CLI includes commands to generate user policy
secrets (or passcodes), display a list of users, and change which user
is active. User credentials are stored in a
credentials file. For
additional details, check out How to Use
RBAC, Fugue CLI
Reference, and Fugue User
Does RBAC utilize AWS credentials?
The Fugue CLI communicates with the Fugue Conductor using AWS services (specifically SQS and S3). In order for a Fugue user to operate the CLI, they need the credentials for a minimally authorized AWS user or role in conjunction with their Fugue credentials. Fugue credentials are kept in a file named credentials. To see more about the difference between AWS and Fugue credentials, see Fugue User Credentials vs. AWS Credentials.