Vagrant: Up and Running by Mitchell Hashimoto
Author:Mitchell Hashimoto
Language: eng
Format: epub, pdf
Tags: COMPUTERS / System Administration / General
ISBN: 9781449335823
Publisher: O’Reilly Media
Published: 2013-05-29T16:00:00+00:00
Chapter 5. Modeling Multimachine Clusters
Modern web applications are created using multiple distinct parts, sometimes known as services. At the most common level, this is seen with the separation of a web and database server. There can also be cache services, worker queues, and more. Complex websites are often created with hundreds of these services.
When websites are designed this way, it is often called a service-oriented architecture.
As explained in The Tao of Vagrant, Vagrant is supposed to provide the developer with a complete development environment when vagrant up is run. In some cases, this means multiple machines are required or preferable as part of a single development environment.
Historically, development on these sorts of applications was done by cramming all of the required services down onto one machine. This isn’t ideal for many reasons. First, this isn’t how the services exist in production, so it is easy to have things work in development in a way they don’t work in production, quickly leading to “works on my machine” bugs. Second, it is very difficult to test failure scenarios in development. What happens if a node in a cluster dies? What happens if there is too much backlog in the worker queue?
Vagrant lets you accurately model these scenarios using a feature called multimachine environments, which builds multiple virtual machines based on one Vagrantfile.
This is useful for properly isolating separate services as they are in production. You can then put your web server and database server in two separate virtual machines. It is trivial, in this case, to simulate network failure and observing how your application responds.
Of course, running many virtual machines is taxing on the computer, and there is a reasonable limit to the number of virtual machines that can be run at any given time. Because of this, some strategy must be taken to determine what services will be separated and onto how many virtual machines.
Download
Vagrant: Up and Running by Mitchell Hashimoto.pdf
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Hello! Python by Anthony Briggs(9929)
The Mikado Method by Ola Ellnestam Daniel Brolund(9794)
Dependency Injection in .NET by Mark Seemann(9350)
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(7796)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(7571)
Svelte with Test-Driven Development by Daniel Irvine(7308)
Test-Driven Development with PHP 8 by Rainier Sarabia(7046)
Layered Design for Ruby on Rails Applications by Dementyev Vladimir;(6900)
Secrets of the JavaScript Ninja by John Resig & Bear Bibeault(6542)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(6429)
Web Development with Django by Ben Shaw Saurabh Badhwar(6364)
React Application Architecture for Production by Alan Alickovic(6084)
Jquery UI in Action : Master the concepts Of Jquery UI: A Step By Step Approach by ANMOL GOYAL(5817)
Kotlin in Action by Dmitry Jemerov(5077)
Audition by Ryu Murakami(4595)
Software Architecture for Web Developers by Mihaela Roxana Ghidersa(4530)
Accelerating Server-Side Development with Fastify by Manuel Spigolon Maksim Sinik & Matteo Collina(4381)
Hands-On Full-Stack Web Development with GraphQL and React by Sebastian Grebe(4325)
Solidity Programming Essentials by Ritesh Modi(4085)
