| | 1 | = Collaboration with Autistici-Inventati Resistant Network = |
|---|
| | 2 | |
|---|
| | 3 | Attached to this page is the A/I "Orange Book" which describes how they have set up their resistant network. I chatted with a couple of them and I think we could benefit from their CFengine ideas (and others) and the could benefit from our use of ICE. An English version of the Orange Book is attached and a transcript of our chat together follows. |
|---|
| | 4 | {{{ |
|---|
| | 5 | 09:14 <&bomboclat> porcodio |
|---|
| | 6 | 09:15 <&lesion> eh quante ne vuoi |
|---|
| | 7 | 09:15 < Avvelenato> perch`e usare skype??? |
|---|
| | 8 | 09:15 <&bomboclat> nel 2008 voglio delle interfaccie grafiche |
|---|
| | 9 | 09:15 < Avvelenato> non puoi usare quei grazioni programmi opensource? |
|---|
| | 10 | 09:15 <&bomboclat> Avvelenato, per provare la webcam? |
|---|
| | 11 | 09:15 <&bomboclat> FUORI I NOMI |
|---|
| | 12 | 09:15 <&bomboclat> a parte ekiga |
|---|
| | 13 | 09:15 < Avvelenato> :p |
|---|
| | 14 | 09:15 <&bomboclat> io voglio streammare su icecast 2 |
|---|
| | 15 | 09:15 <&bomboclat> la mia faccia di cazzo |
|---|
| | 16 | 09:15 < Avvelenato> io non uso skipe.. ma sono molti i programmi che lo emulano |
|---|
| | 17 | 09:15 <&bomboclat> che programma uso GPL ? |
|---|
| | 18 | 09:15 < Avvelenato> si |
|---|
| | 19 | 09:30 -!- bomboclat [bomboclat@mufhd0-95E6567E.fastres.net] has quit [Leaving] |
|---|
| | 20 | 09:35 < Avvelenato> Porco dio cane onnipotente |
|---|
| | 21 | 09:36 < Avvelenato> SApete per caso se sono io ad avere problemi con il .zip o `e noblogs? |
|---|
| | 22 | 09:54 -!- babau [rizomo@mufhd0-EB72053.t2.dsl.vodafone.it] has quit [Input/output error] |
|---|
| | 23 | 10:02 -!- Avvelenato [dario@mufhd0-A6E2E5B1.cust-adsl.tiscali.it] has quit [Ping timeout] |
|---|
| | 24 | 10:13 < ryan> hello hello |
|---|
| | 25 | 10:13 <&lesion> hello |
|---|
| | 26 | 10:15 < ryan> buscando mais info di Plan R* |
|---|
| | 27 | 10:15 <&lesion> que info ? |
|---|
| | 28 | 10:16 < ryan> specifiches |
|---|
| | 29 | 10:17 < ryan> stiamo lavorando con un progetto simile |
|---|
| | 30 | 10:17 < ryan> -> http://dev.bunke.indymedia.org/ |
|---|
| | 31 | 10:18 < ryan> http://linefeed.org/ |
|---|
| | 32 | 10:19 <&lesion> :D |
|---|
| | 33 | 10:20 <&lesion> so what kind of info do you need ? |
|---|
| | 34 | 10:20 < ryan> posso falar em portugues melhor que italiano :) |
|---|
| | 35 | 10:20 <&lesion> eh porugues is a problem. what about english ? |
|---|
| | 36 | 10:20 < ryan> yes, english is fine |
|---|
| | 37 | 10:20 <&lesion> nice |
|---|
| | 38 | 10:20 < ryan> i'm interested in architecture details |
|---|
| | 39 | 10:21 <&lesion> have you seen the pdf ? |
|---|
| | 40 | 10:21 < ryan> no! |
|---|
| | 41 | 10:21 <&lesion> the orange book I mean |
|---|
| | 42 | 10:21 < ryan> i dont think so! |
|---|
| | 43 | 10:24 <&lesion> ok wait |
|---|
| | 44 | 10:25 < nah> http://dev.autistici.org/orangebook/ :x |
|---|
| | 45 | 10:25 <&lesion> http://dev.autistici.org/orangebook/index.html.en |
|---|
| | 46 | 10:25 <&lesion> yep |
|---|
| | 47 | 10:25 < nah> :) |
|---|
| | 48 | 10:25 <&lesion> thanks :P |
|---|
| | 49 | 10:26 < nah> disponha |
|---|
| | 50 | 10:27 < ryan> mm thanks |
|---|
| | 51 | 10:28 < ryan> this is interesting.. |
|---|
| | 52 | 10:28 < ryan> our plan involves the use of ICE |
|---|
| | 53 | 10:28 < ryan> http://www.zeroc.com/ice.html |
|---|
| | 54 | 10:32 < ryan> i think 8.1.3 is mostly where we are focused |
|---|
| | 55 | 10:33 < ryan> because we want to build a network where all IMC sites are hosted on all the servers in the network |
|---|
| | 56 | 10:33 < ryan> interesting |
|---|
| | 57 | 10:34 < ryan> not exactly what we have planned but -we- can definitely use parts of what you have (especially the cfengine stuff) |
|---|
| | 58 | 10:34 < ryan> and this orange book could contain some of the parts that we have (especially the ICE stuff) |
|---|
| | 59 | 10:34 < ryan> is this being worked on? |
|---|
| | 60 | 10:35 < ryan> is this network implemented in any way? |
|---|
| | 61 | 10:35 <&megabug> autistici/inventati is a working example |
|---|
| | 62 | 10:36 <&megabug> lesion ! tesoro :) |
|---|
| | 63 | 10:36 < ryan> how many servers are in the network? |
|---|
| | 64 | 10:36 <&megabug> 9 actually |
|---|
| | 65 | 10:37 <&megabug> 4 are the main server for services like web mail etc. |
|---|
| | 66 | 10:37 <&megabug> and 5 servers are for backup / monitor / statistics and minor services |
|---|
| | 67 | 10:37 <&lesion> 5 |
|---|
| | 68 | 10:37 <&megabug> ah! right 5 :P |
|---|
| | 69 | 10:38 < ryan> are any of them supporting italy indymedia? |
|---|
| | 70 | 10:38 <&lesion> nope |
|---|
| | 71 | 10:38 <&lesion> to host a web service replicated on a lot of hosts the key point is replicate database stuff |
|---|
| | 72 | 10:38 < ryan> our main objective is to build a network such that if we suffer server seizure (by law enforcement), hardware failure or donation loss (like ahimsa), |
|---|
| | 73 | 10:39 < ryan> there is no interruption in service |
|---|
| | 74 | 10:39 <&lesion> cool |
|---|
| | 75 | 10:39 < ryan> yes, we manage the data with ICE |
|---|
| | 76 | 10:39 < ryan> so ICE is an object-store for us |
|---|
| | 77 | 10:39 < ryan> using a database as a backup |
|---|
| | 78 | 10:40 <&lesion> but have you developed the indymedia cms to use ice ? |
|---|
| | 79 | 10:40 < ryan> well, this is what we're working on |
|---|
| | 80 | 10:40 < ryan> we decided to merge the indymedia CMS teams |
|---|
| | 81 | 10:40 <&lesion> cool |
|---|
| | 82 | 10:40 < ryan> at least, mir & sf-active |
|---|
| | 83 | 10:40 < ryan> because we were stretched too thin |
|---|
| | 84 | 10:40 <&lesion> nice idea :D |
|---|
| | 85 | 10:41 <&megabug> argh :) |
|---|
| | 86 | 10:41 < ryan> so we are working on a new front end, which i believe will be something like joomla, extended by cakephp |
|---|
| | 87 | 10:41 <&lesion> noooooooooo joomla buuuuuuuuu |
|---|
| | 88 | 10:41 <&lesion> :) |
|---|
| | 89 | 10:41 < ryan> why not? |
|---|
| | 90 | 10:42 < ryan> the days of mir and sf-active are numbered |
|---|
| | 91 | 10:42 < ryan> soon, they will be only memories |
|---|
| | 92 | 10:42 <&megabug> how much time take a new front end to be developed? |
|---|
| | 93 | 10:43 < ryan> well, if we begin with an existing one, not much time at all :) |
|---|
| | 94 | 10:43 < ryan> our point was to find a CMS which already has a large development community |
|---|
| | 95 | 10:43 < ryan> but, none of them were very good |
|---|
| | 96 | 10:43 < ryan> so, then we thought we would write our own, using CakePHP |
|---|
| | 97 | 10:44 < ryan> but, we didnt want to write from scratch |
|---|
| | 98 | 10:44 < ryan> then, we found a Joomla<->CakePHP bridge |
|---|
| | 99 | 10:44 < ryan> and i think we will use that |
|---|
| | 100 | 10:44 < ryan> so we can get all the benefits of the large development community of joomla AND cakephp |
|---|
| | 101 | 10:45 <&lesion> adapting joomla to your needs will need more time than develop a new front end from scratch imho |
|---|
| | 102 | 10:45 < ryan> how so? |
|---|
| | 103 | 10:45 <&lesion> eh you will see ;) |
|---|
| | 104 | 10:45 < ryan> nah |
|---|
| | 105 | 10:46 <&lesion> hope so |
|---|
| | 106 | 10:46 <&megabug> uhm i don't now, how much joomla is good for you? |
|---|
| | 107 | 10:46 < ryan> who will make the admin interface for our cms-from-scratch? |
|---|
| | 108 | 10:46 < ryan> design the nice interface? |
|---|
| | 109 | 10:46 < ryan> make all the extensions? |
|---|
| | 110 | 10:46 < ryan> etc etc |
|---|
| | 111 | 10:46 < ryan> i've written an indymedia cms from scratch before, so i know how it goes |
|---|
| | 112 | 10:46 < ryan> for instance -> http://extensions.joomla.org/ |
|---|
| | 113 | 10:46 <&lesion> ok but now you have experience with you :D |
|---|
| | 114 | 10:46 <&megabug> maybe you can write plugins |
|---|
| | 115 | 10:47 < ryan> that would -never- happen with our own cms |
|---|
| | 116 | 10:47 < ryan> yes, and my experience tells me: reusable code is king :) |
|---|
| | 117 | 10:47 <&megabug> to giva joomla the features needed by imc |
|---|
| | 118 | 10:48 <&megabug> give |
|---|
| | 119 | 10:48 <&lesion> but also, modify others code is a pain |
|---|
| | 120 | 10:48 < ryan> but, what features an imc needs that joomla does not have? |
|---|
| | 121 | 10:49 <&megabug> i don't know :) |
|---|
| | 122 | 10:49 < ryan> none! |
|---|
| | 123 | 10:49 < ryan> in fact, it offers much more than we could build ourselves |
|---|
| | 124 | 10:49 <&megabug> you tell us that you want to developo with cakephp :) |
|---|
| | 125 | 10:49 <&megabug> and joomla |
|---|
| | 126 | 10:49 < ryan> we want to extend with cakephp |
|---|
| | 127 | 10:50 < ryan> to develop the ICE interface |
|---|
| | 128 | 10:50 <&lesion> ah diobono vero |
|---|
| | 129 | 10:50 < ryan> and, if we want to add new features, we can do it |
|---|
| | 130 | 10:50 <&megabug> ah ok |
|---|
| | 131 | 10:50 < ryan> for instance, joomla currently has 27 extensions for listing articles |
|---|
| | 132 | 10:50 <&megabug> but why ice? |
|---|
| | 133 | 10:51 <&lesion> to spread contents over servers |
|---|
| | 134 | 10:51 < ryan> i havent found something else as good as ice |
|---|
| | 135 | 10:51 <&lesion> mysql replication ? |
|---|
| | 136 | 10:52 < ryan> we will also use mysql replication |
|---|
| | 137 | 10:52 < ryan> but ice will act between the web server tier and the db tier |
|---|
| | 138 | 10:52 < ryan> for instance, mysql is a poor and slow object store |
|---|
| | 139 | 10:52 < ryan> ice is a fast object store |
|---|
| | 140 | 10:54 <&megabug> you want to switch from mysql to ice? |
|---|
| | 141 | 10:54 <&megabug> i don't know how ice does really |
|---|
| | 142 | 10:54 < ryan> ice is middleware |
|---|
| | 143 | 10:55 < ryan> it sits between the web tier and the db tier |
|---|
| | 144 | 10:55 < ryan> so, for instance, if a user logs into Web Server #10 |
|---|
| | 145 | 10:55 < ryan> it stores the session, via ice, in mysql but ice remembers it |
|---|
| | 146 | 10:55 < ryan> so, when the user returns to Web Server #4, and asks for the session, |
|---|
| | 147 | 10:55 <&megabug> ok |
|---|
| | 148 | 10:55 < ryan> ice gives it the session object |
|---|
| | 149 | 10:56 < ryan> without going to mysql |
|---|
| | 150 | 10:56 <&megabug> ah interesting |
|---|
| | 151 | 10:56 < ryan> ice also understands where all the webservers are |
|---|
| | 152 | 10:56 <&megabug> but in your replication model |
|---|
| | 153 | 10:56 < ryan> and where all the dbservers are |
|---|
| | 154 | 10:57 <&megabug> replicating sessions is a different level from replicating data |
|---|
| | 155 | 10:57 < ryan> what do you mean? |
|---|
| | 156 | 10:57 <&megabug> sessions are not stored on mysql |
|---|
| | 157 | 10:58 < ryan> we intend to |
|---|
| | 158 | 10:58 <&megabug> is a web server issue |
|---|
| | 159 | 10:58 <&megabug> we got the same session problem with our services |
|---|
| | 160 | 10:59 < ryan> i read about it in the orange book |
|---|
| | 161 | 10:59 < ryan> you use sticky sessions |
|---|
| | 162 | 10:59 < ryan> but if you store the sessions in the db, you dont have this problem |
|---|
| | 163 | 10:59 <&megabug> yes maybe we can reconsider the solution |
|---|
| | 164 | 10:59 < ryan> yes, sticky sessions mess up your load balancing |
|---|
| | 165 | 11:00 <&megabug> mmmhh, not really |
|---|
| | 166 | 11:00 <&megabug> with an high number of users the difference is not significant |
|---|
| | 167 | 11:00 < ryan> well, the point of round-robin dns is so that hits to the server can be all over the place, right? |
|---|
| | 168 | 11:01 <&megabug> yep |
|---|
| | 169 | 11:01 < ryan> but if you have a number of heavy users "stuck" to a particular web server, then you have defeated this purpose |
|---|
| | 170 | 11:02 < ryan> by "heavy users" i mean... 4-5 users uploading 50MB videos to an imc all at once |
|---|
| | 171 | 11:02 <&megabug> yep but its the worst case scenario |
|---|
| | 172 | 11:02 <&megabug> its very unlike to happen |
|---|
| | 173 | 11:02 < ryan> i think it would be quite common with IMC, especially during a period of heavy usage (like a big protest) |
|---|
| | 174 | 11:02 < ryan> how unlikely it is to happen depends on how many webservers you have :) |
|---|
| | 175 | 11:02 <&megabug> and users... |
|---|
| | 176 | 11:02 < ryan> if it is 2, it is very likely to happen |
|---|
| | 177 | 11:03 <&megabug> uhm |
|---|
| | 178 | 11:03 <&megabug> it's 1 possibility on 2^users |
|---|
| | 179 | 11:03 < ryan> well.. our goal is to host over 140 websites on the network |
|---|
| | 180 | 11:03 <&megabug> (when all the 5 uploaders match the same server) |
|---|
| | 181 | 11:03 < ryan> all of them receiving or sending large media files |
|---|
| | 182 | 11:04 < ryan> so we want to make sure that we get the advantage of round-robin dns |
|---|
| | 183 | 11:04 <&megabug> the balancing with rrdns is very good |
|---|
| | 184 | 11:04 <&megabug> the problem is another |
|---|
| | 185 | 11:05 <&megabug> and is that not all the user make the same use of services |
|---|
| | 186 | 11:05 <&megabug> so you got 500 lurker and 1 heavy uploader for example |
|---|
| | 187 | 11:06 <&megabug> in this case this single uploader can exausth all resources on a server |
|---|
| | 188 | 11:07 <&megabug> but it's very rare, we got similar problem 6/7 times in 5 years |
|---|
| | 189 | 11:08 < ryan> sure, that could happen |
|---|
| | 190 | 11:08 < ryan> but it's even more likely to happen with the model we have now which is 15 IMC's on one webserver :) |
|---|
| | 191 | 11:08 <&megabug> ghghghgh |
|---|
| | 192 | 11:08 <&megabug> yes i imagine :D |
|---|
| | 193 | 11:09 < ryan> well, this is interesting.. i think we will definitely want to use your cfengine stuff |
|---|
| | 194 | 11:10 < ryan> and maybe you will be interested in how we use ICE for web applications |
|---|
| | 195 | 11:10 <&lesion> yep |
|---|
| | 196 | 11:10 <&lesion> we have to replicate lifetype |
|---|
| | 197 | 11:10 <&megabug> yep, for our front-end maybe interesting |
|---|
| | 198 | 11:10 < ryan> who are the main people who work on this for a/i? |
|---|
| | 199 | 11:10 <&megabug> for user websites maybe not :) but we'll see |
|---|
| | 200 | 11:10 <&lesion> on cfengine stuff? |
|---|
| | 201 | 11:11 < ryan> well, yeah, just the whole idea of the resistant network? |
|---|
| | 202 | 11:11 -!- lesion [lesion@mufhd0-6BDA3380.ip.fastwebnet.it] has quit [.] |
|---|
| | 203 | 11:11 <&megabug> the r* come from A/I collective altogheter |
|---|
| | 204 | 11:11 < ryan> also do you mind if i share this chat with other people in our group working on this? |
|---|
| | 205 | 11:12 <&megabug> from discussion internal to the group |
|---|
| | 206 | 11:12 <&megabug> yes of course |
|---|
| | 207 | 11:12 <&megabug> all R* stuff is public :) |
|---|
| | 208 | 11:12 < ryan> nice, same with our stuff |
|---|
| | 209 | 11:12 < ryan> also we are meeting in rio de janeiro |
|---|
| | 210 | 11:12 < ryan> in september |
|---|
| | 211 | 11:13 < ryan> to advance this project |
|---|
| | 212 | 11:13 < ryan> at techmeet |
|---|
| | 213 | 11:13 < ryan> (techmeet.org) |
|---|
| | 214 | 11:13 < ryan> the groups involved in this project are: |
|---|
| | 215 | 11:13 <&megabug> cool :) |
|---|
| | 216 | 11:13 < ryan> techmeet.org |
|---|
| | 217 | 11:13 < ryan> linefeed.org |
|---|
| | 218 | 11:13 < ryan> imc-cms group in indymedia, lists.indymedia.org/imc-cms |
|---|
| | 219 | 11:13 < ryan> dev.bunke.indymedia.org |
|---|
| | 220 | 11:14 < ryan> come to rio! |
|---|
| | 221 | 11:14 < ryan> :) |
|---|
| | 222 | |
|---|
| | 223 | }}} |
|---|
| | 224 | |