Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Hot answers tagged

29

TL;DR: Chaos Monkey was developed in 2010 at Netflix and released into wild in 2012 is part of the Simian Army, wildly popular among devoted followers. Built on principles of chaos engineering, the army increases resiliency to failure by injecting constant failure to the system. Concept Chaos Monkey was developed specifically for AWS where it will randomly ...


15

The term Phoenix Server was coined by a fellow of Martin Fowler, and all three terms described in short articles on Martin's bliki. Snowflake Server Phoenix Server Immutable Server The pros and cons of each such server are described in the articles. The main difference being in the way the server is managed. Servers exist to fulfill the role of a ...


9

As I was more thinking of a listing of advantages and drawbacks of each type, here's is my view (not exhaustive, it's the important operational ones in my opinion): Snowflakes Servers What they are: Systems with their specific configuration, no other servers in the data centre have the exact same parameters. They are usually manually administered. ...


8

Some additions to your own answer to this question ... Additional monkeys The article about "How chaos boosts performance" describes a few more of these monkeys, i.e.: 10-18 Monkey: finds configuration and run time problems in instances that serve customers in multiple regions. Chaos Kong: simulates an outage of an Amazon region. Remark: The ...


6

Does the Docker engine abstract away the OS such that this configuration will run both apps? No, it does not. Docker uses containerisation as a core technology, which relies on the concept of sharing a kernel between containers. If one Docker image relies on a Windows kernel and another relies on a Linux kernel, you cannot run those two images on the same ...


5

Tuning the parameters you have identified will certainly have an effect - to degrade performance. For example, net.ipv4.tcp_window_scaling is an on or off option. Similarly, net.ipv4.tcp_sack is either on or off. Both default to a value of on on Linux and on all load balancers. Both of these were defined in RFC1323 which was published in order to give us the ...


4

In your approach I see a few scalability problems - I'm judging from a Google App Engine (GAE) context, where scalability is achieved via breakdown of the work in small tasks/work items and strict limitation of the response time for a task execution: you're duplicating some piece of functionality: both scripts need to parse the same page, leading to your ...


3

A good rule of thumb is to try and avoid using one bit of logical kit (be it a single VM or a single physical host) for more than one thing. If a physical server is going to be a VM host then that's all it should be. If a VM or a physical host is going to be a source code repository then that's all it should be etc. You can squeeze a bit extra out of your ...


2

All three are patterns of sorts, it isn't is a case of picking and choosing which to use in any specific circumstance but a case of knowing when to recognise the patterns that can help or hurt you. Snowflake Server A Snowflake Server is very much an anti-pattern representing the case when a server evolves in an uncontrolled manner to the point when it ...


2

One Server to rule them all, One Server to find them, One Server to bring them all and in the outage bind them You, Sauron, forged this One Server, in the Darkness of Mount Doom your Datacenter in a desire to rule All applications. Hopefully the Fellowship of Devops did unite to tell you: After a long fight, Frodo the Chaos Monkey has been able to melt ...


2

Use environment variables on your host that are read by your docker-compose.yml file. There are a couple ways to accomplish this. One way is to create a .env file on the host that contains your variables. Docker Compose will read these variables and apply them to your configuration. Alternatively, or in conjunction with a .env file, you can set ...


2

Yes, there are plenty of providers which make the first step redundant; i.e. they give you a working, optimized, running Linux box just by clicking a button, without you having to care how it works. Or they skip the need to have a "box" (VM) running at all. AWS, Azure, GCP, OpenShift etc. all do that, and do it well. In my neck of the woods, we use Vagrant ...


2

Yeah go nuts, you can run whatever you want in the container so long as the host supports virtualisation and can run the docker binary!


1

One could replace rewrite /(.*) /ipns/QmdpoFuwY/$1 break; with rewrite ^(.*[^/]) /ipns/QmdpoFuwY/$1 break; and try again. The issue was solved by inspecting the logs. If for example one navigated to /foo/ instead of /foo/ the log indicated: 2017/10/15 14:51:28 [error] 7#7: *1 "/etc/nginx/html/index.html/foo.html" is not found (20: Not a directory) It ...


1

As I see it, the basic problem you have is that you aren't looking at the Total Cost of Ownership (TCO). While you may eventually save on the hardware costs, this is costing you in man-hours - either yours or your employees - a cost which you also pay out of pocket until you begin generating revenue. The reason for this is this: Instead of using a ready to ...


Only top voted, non community-wiki answers of a minimum length are eligible