“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 the health checks your app servers need to answer in order to be marked healthy by the load balancer.
Gritting your teeth, you open a high-sev ticket with the infrastructure team and hope they make time for you, before you end up missing your ship date.
Another deployment failure in the cloud strikes. If it isn’t a first-run production scenario like this one that puts you behind schedule, it might be a problem with maintenance—updating and patching buggy code that’s been marring your users’ experience.
The story of Fugue software is a story about solving your real-world, everyday deployment and operations problems. The Pragmatic Bookshelf has just released Scalable Cloud Ops with Fugue, available now as a beta eBook and soon in paperback.
With it, you’ll learn to build, operate, and enforce an evolving application's infrastructure with hands-on tutorials—ultimately running fourteen AWS cloud services in a model that affords low-latency global scaling. That constitutes practical “how-to” portions featured in Part I of the book. In Part II, you deep dive into Fugue’s concise infrastructure programming language, Ludwig, with two chapters devoted to learning how to use the language to its potential. This isn’t just a templating approach. You’ve got the simplicity of a declarative DSL if you want that and the power of a full scope functional language if you want that. Digging into that power with examples will give you a sense of Ludwig’s range and abstractions. Part II also features comprehensive coverage of Vars, Fugue’s distributed variable and service discovery tool. This is a fire-it-up right now how-to, as well as an everything-you-wanted-to-know (with examples and diagrams) explanation of Vars. And, in Part III of the book, you’ll focus on business growth and the technical debt concerns that often accompany it. That involves a look both at Fugue features designed for expanding teams and at Fugue’s management of integrations with some well known tools commonly used in enterprise workflows.
But, that’s still not the whole story.
Back in late 2013, when we first started developing Fugue, it was clear that we were working on something different than what any of us had seen before. Different, because how to address the more vexing challenges of cloud computing was pretty much a blank slate. Cloud itself is a fundamentally new way to compute. This presented a rare opportunity to step back and learn from history and to innovate in practical, but also elegant ways. Fugue isn't a point solution for cloud provisioning or cloud monitoring or even cloud operations—it’s a holistic system for doing all those and much more, using some fundamental patterns from computer science. Fugue is made up of several important parts, all of which interoperate as a system that provides flexibility and extensibility with cloud services.
Writing a book presented a clear way to integrate nuts-and-bolts tutorials with analysis and explanation of the problem space itself. We wanted to tackle why the system is architected as a sort of operating system over cloud and how Fugue’s orchestration and enforcement engine, the Conductor, is different from other software in the space. And, most importantly, why all that’s beneficial to you—front end, back end, and full stack developers, ops, cloud architects, CIOs. We started working on the book within a month or two of starting the company.
Fast forward a couple months, and a mutual friend had reached out to the Pragmatic Programmers about Fugue. When we talked with Andy, we all agreed to join forces to make a better book than we could have alone. The book published today is a result of that constructive collaboration. We thank the patient, encouraging Pragmatic editors, whose expertise improved the text. We're also grateful to our technical reviewers, Mike O’Dell, Dave Merkel, Matthew Peters, Ben Rady, and Glen Messenger. Their time, adroit suggestions, and reasoned consideration were invaluable.
Like all technical books describing rapidly and robustly developing software, this one will continue to be updated. Access to those electronic updates and to new electronic versions, of course, is included if you decide to buy a copy with Pragmatic. If you’re using the free tier of Fugue, that’s not a bad way to gain facility with every part of the software and the language. The book complements Fugue’s docs—it’s advantageous to use them in concert, though you can use either independently. With paid versions of Fugue software, the book will be included by and through us at no additional charge to you.
As always, we hope you give Fugue a try now to radically simplify your cloud operations, to orchestrate configurations and enforce known infrastructure state, and to democratize your team’s cloud use. Check out our Resources page too for webinars, how-to videos, white papers, data sheets, and, of course, books!