Skip to content

    Latest Posts

    Why Write a Book?

    Drew Wright

    “It worked on my laptop!” Seven weeks into your latest project, you’ve gotten to the point where management wants a demo. Your first spike was run from a node server that you ran on your laptop. When another developer joined, you moved the environment to Vagrant so you could share an image. When the third and fourth bodies were assigned, you decided to save time by automating the installation with Chef. You’ve all been collaborating effectively for weeks and now you need to put it out on a cloud provider to give your stakeholders access. Your cloud infrastructure was set up by a different team with domain expertise on the platform. Sadly, that did not confer upon them a psychic ability to anticipate the networking needs of your Riak cluster. Nor did it allow them to anticipate...

    Read More

    A Holiday Season Kickoff at AWS re:Invent 2016 — Gifts From the Cloud

    Drew Wright

    We’re a couple of weeks out of re:Invent and its dizzying buzz—the slew of service and feature announcements, the industry tracks and community meetings, the Mini Cons, the integration and how-to session deep dives, the intensive networking, the mall of sponsors with every manner of product presentation … even festive bling from the ever-present registration DJ. We’ve had some time to digest what we saw and learned this time around and to think about a few of the more compelling offerings. In this post, we’re not going to recap the full laundry list of new services introduced or feature enhancements (many especially targeted at enterprise). Good overviews are abundant; here are ones from InfoQ, VentureBeat, and Rackspace. Instead, let’s zero in on a handful of provocative...

    Read More

    The Next-Generation Cloud CMDB: Ludwig Code

    Drew Wright

    In a recent report, Ovum described Fugue as "a CMDB for APIs." A configuration management database (CMDB) is a single source of truth for configuration of complex systems. This is a crucial aspect of Fugue, one where running your operations with Fugue offers a lot of value to you. Fugue's CMDB is an effect of our declarative model for configuration, built around our typesafe, compiled Ludwig language. The Fugue CMDB is not a proprietary store with a form-based interface; it is Ludwig code, managed in a VCS of your choice, like git or svn. That code is a declarative configuration of infrastructure (or other API) state. Once it is run as a process in Fugue, that declaration is made real and immutable with machine precision. In this way, a well-managed body of Ludwig compositions and a...

    Read More

    Architecting a Serverless Web Application in AWS

    Drew Wright

    Here at Fugue, the Web Team is a small but spirited minority—in favor of JavaScript, 60 frames per second, and keeping our DevOps simple. We like experimentation and new approaches to computing that favor substance and elegance over fad and bling. For some time, we’ve been using AWS Lambda with SNS topics and votebots, but we hadn’t tried anything big with it. Until now. The Serverless framework gave us the push we needed. Our goal? To power an application useful to a business function via an API built with Lambda and API Gateway, harming no EC2 instances in the process. Let’s rewind for just a moment to give a brief explanation of AWS Lambda. Like IBM OpenWhisk, Google Cloud Functions, and Azure Functions, it's a service “for executing code in response to specific events such as a...

    Read More

    Regions Beyond Regions: Global Cloud Infrastructure Expansions

    Drew Wright

    Think about the cloud as a massive global computer. That paradigm—with developers and users managing hyperscale cloud services within its framework—means tapping into a kind of pattern recognition. Cloud data centers, substations, and fiber are physical components of a cloud motherboard. Genuine cloud operating systems like Fugue can be built. Cloud processes can be represented with a pid equivalent. And so on. This year, 2016, is a year of expansion. Below, you see an aggregate mapping of a wide swath of Earth’s cloud “hardware”—installed by Amazon Web Services, Microsoft Azure, Google Cloud Platform, and IBM/Softlayer. All of it, arguably, can be and eventually will be manipulated as parts of the same machine. Shown are 78 global regions with cloud data centers for the four...

    Read More

    It’s Not All Unicorns and Rainbows: Managing Slack for Productivity

    Drew Wright

    Slack is amazing. We, here at Fugue, are an engineering-centric organization distributed across three offices with several developers located in one-off locations around the world. Having a real-time, easily accessible hub for communication has helped us stay gelled as a community. It’s a technical resource, a sounding board, and a water cooler all in one. But Slack is not all unicorns and rainbows. Like many other organizations, we’ve discovered that replacing email (for the most part) with Slack has brought some challenges. As the company grew, the volume of discourse on Slack became unwieldy. Channels propagated and we were faced with Slack bloat. The problem was not just one of noise, it was one of uncertainty as well. What Kind of Uncertainty? You see, important conversations...

    Read More

    Testing Migration: Shifting from Manual to Automatic

    Drew Wright

    Testing is the process of executing a program or system with the intent of finding errors. — Glenford Myers, The Art of Software Testing, 1979 Testing is any activity aimed at evaluating an attribute of a program or system. Testing is the measurement of software quality. — Bill Hetzel, The Complete Guide to Software Testing, 1983 Testing is a concurrent life cycle process of engineering, using and maintaining testware in order to measure and improve the quality of the software being tested. — R. Craig and S. Jaskiel, Systematic Software Testing, 2002 Here at Fugue, we’re building a system that automates and enforces the operation of your cloud infrastructure. It’s powerful, resilient, and easy to use. Under the hood, this system is made up of a collection of services...

    Read More

    Our Functional Future or: How I Learned to Stop Worrying and Love Haskell

    Drew Wright

    This fall, I had the chance to dive headfirst into functional programming languages. It’s not a journey for the dabbler or the faint of heart, but it's one that’s worthwhile. I'd been aware of functional programming and Haskell in particular for some time, but my attempts to learn it had been less than successful. The problem wasn’t lack of resources; there are some good ones out there, e.g., Learn You A Haskell For Great Good and What I Wish I Knew When Learning Haskell. Maybe it was the novelty of functional programming to me or my lack of dedication, but even after substantial effort, I still couldn't understand the first line of code in our Ludwig DSL compiler. It was disappointing. Programming languages aren’t new to me. Having recently completed a Ph.D. in computational fluid...

    Read More

    Managing Secrets at Scale at Velocity EU

    Drew Wright

    UPDATE, 1/12/16 Our own Alex Schoof spoke at Velocity EU 2015 in Amsterdam on managing secrets at scale in the cloud. It was a highly rated talk that earned a write-up in InfoQ. Alex will be presenting this talk at tonight’s DevOps DC Meetup in Arlington, VA. You can view the slides from his talk on SlideShare and view his talk on Vimeo below: ORIGINAL POST Modern systems are full of secrets. There are secrets we think about all the time, like private keys for SSL certificates or the password for the prod database, and there are secrets that we ignore or forget, like the secret used to generate HMACs for session cookies. All these secrets present management hurdles: They need to be safely and securely distributed to servers that need them. They must have some kind of...

    Read More

    Happy Holidays from the Fugue Team

    Drew Wright

    We were feeling a little wistful, so we asked our team: What was your favorite technology you received as a holiday gift when you were a kid? Here are their answers, in alphabetical order: Andrew "When I was in third grade, my mother brought home a copy of Macromedia (now Adobe) Flash. I was totally dazzled with how easily I could create animations, and from then on, I made all of my school PowerPoint assignments in Flash. I also used to post my animations on my friends' Myspaces, back when that was still cool. Additionally, my experience learning ActionScript paved the way for me to be the JavaScript developer I am today." Becki "Cosmic Osmo, a surreal point-and-click children's game from 1989, is not as well-known as Cyan's later games (hello, Myst!). But it was a gift I'll...

    Read More
    Fugue Developer

    Free Cloud Security for Engineers

    • Visualize your cloud infrastructure
    • Run policy checks and get feedback
    • Detect change and eliminate misconfiguration
    GET STARTED CONTACT SALES