Erlang The Driver behind WhatsApp s Success. Torben Hoffmann CTO, Erlang Solutions
|
|
- Wilfred McCoy
- 8 years ago
- Views:
Transcription
1 Erlang The Driver behind WhatsApp s Success Torben Hoffmann CTO, Erlang Solutions
2 Background
3 Background Erlanger since 2006
4 Background Erlanger since 2006 Happyness
5 Background Erlanger since 2006 Happyness Mission critical gateway for Tetra
6 Background Erlanger since 2006 Happyness Mission critical gateway for Tetra Hard work
7 Background Erlanger since 2006 Happyness Mission critical gateway for Tetra Hard work Major learnings
8 Background Erlanger since 2006 Happyness Mission critical gateway for Tetra Hard work Major learnings
9 Why this talk?
10 Why this talk? Explain the tech foundation for WhatsApp s succes
11 Why this talk? Explain the tech foundation for WhatsApp s succes Understand the design decisions that makes Erlang unique
12 Why this talk? Explain the tech foundation for WhatsApp s succes Understand the design decisions that makes Erlang unique Show how Erlang s features delivers business value
13 Why this talk? Explain the tech foundation for WhatsApp s succes Understand the design decisions that makes Erlang unique Show how Erlang s features delivers business value Spread the Erlang love
14 Religious Connection Er Lang Shen - Chinese God w/! a 3rd truth seeing eye Erlang Temple in Zunhua source: source:
15 Dealing with disbelievers Source: source: cb /villains/images/e/ef/saruman.jpg source:
16 Dealing with disbelievers Source: source: cb /villains/images/e/ef/saruman.jpg source:
17 Dealing with disbelievers Source: source: source: cb /villains/images/e/ef/saruman.jpg source:
18
19 Founded in 1999 soon after Erlang was released as open source
20 Founded in 1999 soon after Erlang was released as open source Experts at building bespoke scalable, high availability, high performance systems
21 Founded in 1999 soon after Erlang was released as open source Experts at building bespoke scalable, high availability, high performance systems Only company of its kind totally focused on Erlang and Erlang community
22 Founded in 1999 soon after Erlang was released as open source Experts at building bespoke scalable, high availability, high performance systems Only company of its kind totally focused on Erlang and Erlang community Over 300 clients.
23 Founded in 1999 soon after Erlang was released as open source Experts at building bespoke scalable, high availability, high performance systems Only company of its kind totally focused on Erlang and Erlang community Over 300 clients. Headquartered in London, U.K.
24 Founded in 1999 soon after Erlang was released as open source Experts at building bespoke scalable, high availability, high performance systems Only company of its kind totally focused on Erlang and Erlang community Over 300 clients. Headquartered in London, U.K. Offices: Stockholm, Krakow, Copenhagen, Aarhus, Budapest, Seattle and Zurich
25 Founded in 1999 soon after Erlang was released as open source Experts at building bespoke scalable, high availability, high performance systems Only company of its kind totally focused on Erlang and Erlang community Over 300 clients. Headquartered in London, U.K. Offices: Stockholm, Krakow, Copenhagen, Aarhus, Budapest, Seattle and Zurich Organically growing and continually investing in R & D
26 Founded in 1999 soon after Erlang was released as open source Experts at building bespoke scalable, high availability, high performance systems Only company of its kind totally focused on Erlang and Erlang community Over 300 clients. Headquartered in London, U.K. Offices: Stockholm, Krakow, Copenhagen, Aarhus, Budapest, Seattle and Zurich Organically growing and continually investing in R & D
27 Core focus
28 Speed to market Core focus
29 Core focus Speed to market Low lifetime cost
30 Core focus Speed to market Low lifetime cost Extreme reliability
31 Core focus Speed to market Low lifetime cost Extreme reliability True scalability
32 Core focus Speed to market Low lifetime cost Extreme reliability True scalability
33 University Relations
34 Some Customers
35 Some Customers 19,000,000,000 reasons to use Erlang
36 WhatsApp Real-time Messaging Text and Pictures Group chat
37 WhatsApp Numbers
38 WhatsApp Numbers 10 Erlang engineers
39 WhatsApp Numbers 10 Erlang engineers ~500M monthly users
40 WhatsApp Numbers 10 Erlang engineers ~500M monthly users 19B msg/day in / 40B msg/day out
41 WhatsApp Numbers 10 Erlang engineers ~500M monthly users 19B msg/day in / 40B msg/day out 147M concurrent connections
42 WhatsApp Numbers 10 Erlang engineers ~500M monthly users 19B msg/day in / 40B msg/day out 147M concurrent connections peak: 324K msg/s in / 712K msg/s out
43 WhatsApp Numbers 10 Erlang engineers ~500M monthly users 19B msg/day in / 40B msg/day out 147M concurrent connections peak: 324K msg/s in / 712K msg/s out
44 WhatsApp Hardware ~550 servers 2x2690v2 Ivy Bridge 10-core (40 threads total) GB RAM SSD >11,000 cores
45 WhatsApp Software FreeBSD 9.2 Erlang R16B01 (with patches)
46 Other Users of Erlang
47 Bet365
48 Bet365 Resarch team Re-did a Java system in Erlang as a POC
49 Bet365 Resarch team Re-did a Java system in Erlang as a POC Results: 5x connected users in load test 4x rate of data change Better utilisation of CPU resources
50 Bet365 Resarch team Re-did a Java system in Erlang as a POC Results: 5x connected users in load test 4x rate of data change Better utilisation of CPU resources How to convince the developers to switch?
51 Bet365 showed that Erlang
52 Bet365 showed that Erlang makes programming fun
53 Bet365 showed that Erlang makes programming fun scales and is reliable
54 Bet365 showed that Erlang makes programming fun scales and is reliable has enough depth to be interesting
55 Bet365 showed that Erlang makes programming fun scales and is reliable has enough depth to be interesting solves difficult problems with simple code
56 Bet365 showed that Erlang makes programming fun scales and is reliable has enough depth to be interesting solves difficult problems with simple code Results:
57 Bet365 showed that Erlang makes programming fun scales and is reliable has enough depth to be interesting solves difficult problems with simple code Results: production teams quickly started to appreciate the benefits of Erlang
58 Bet365 showed that Erlang makes programming fun scales and is reliable has enough depth to be interesting solves difficult problems with simple code Results: production teams quickly started to appreciate the benefits of Erlang did not want to go back to Java
59 Bet365 showed that Erlang makes programming fun scales and is reliable has enough depth to be interesting solves difficult problems with simple code Results: production teams quickly started to appreciate the benefits of Erlang did not want to go back to Java
60 Riak from Basho Distributed NoSQL database Dynamo inspired key/value store Erlang & C/C++ Powers Rovio, Danish Health Services and many more
61 Erlang History
62 There are two ways of constructing a software design:
63 There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies
64 There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.
65 There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies. - C.A.R. Hoare
66 Erlang s Original Requirements
67 Erlang s Original Requirements Large scale concurrency
68 Erlang s Original Requirements Large scale concurrency Soft real-time
69 Erlang s Original Requirements Large scale concurrency Soft real-time Distributed systems
70 Erlang s Original Requirements Large scale concurrency Soft real-time Distributed systems Hardware interaction
71 Erlang s Original Requirements Large scale concurrency Soft real-time Distributed systems Hardware interaction Very large software systems
72 Erlang s Original Requirements Large scale concurrency Soft real-time Distributed systems Hardware interaction Very large software systems Complex functionality
73 Erlang s Original Requirements Large scale concurrency Soft real-time Distributed systems Hardware interaction Very large software systems Complex functionality Continuous operation for many years
74 Erlang s Original Requirements Large scale concurrency Soft real-time Distributed systems Hardware interaction Very large software systems Complex functionality Continuous operation for many years Software maintenance on-the-fly
75 Erlang s Original Requirements Large scale concurrency Soft real-time Distributed systems Hardware interaction Very large software systems Complex functionality Continuous operation for many years Software maintenance on-the-fly High quality and reliability
76 Erlang s Original Requirements Large scale concurrency Soft real-time Distributed systems Hardware interaction Very large software systems Complex functionality Continuous operation for many years Software maintenance on-the-fly High quality and reliability Fault tolerance Bjarne Däcker s Licentiate Thesis:
77 wanted
78 wanted productivity
79 wanted productivity no down-time
80 wanted productivity no down-time something that always works
81 wanted
82 wanted money
83 wanted money money
84 wanted money money money
85 wanted money money money it s a rich man s world!
86 wanted money money money it s a rich man s world!
87 General vs Domain Specific Telecom
88 General vs Domain Specific Telecom C++/Java
89 General vs Domain Specific Telecom C++/Java
90 General vs Domain Specific Telecom C++/Java Erlang
91 General vs Domain Specific Telecom C++/Java Erlang
92 General vs Domain Specific Telecom C++/Java Erlang Smaller gap = money!
93 The Sweet Spot GUI Middleware Coordination Control Drivers
94 If the glove fits... needs/fit drivers coordination GUI
95 If the glove fits... needs/fit Telecom drivers coordination GUI
96 If the glove fits... needs/fit Telecom C drivers coordination GUI
97 If the glove fits... needs/fit Telecom C Erlang drivers coordination GUI
98 If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather than part of its solution.! - C.A.R. Hoare
99 Good Erlang Domains
100 Good Erlang Domains Low latency over throughput
101 Good Erlang Domains Low latency over throughput Stateful (in contrast to being stateless)
102 Good Erlang Domains Low latency over throughput Stateful (in contrast to being stateless) Massively concurrent
103 Good Erlang Domains Low latency over throughput Stateful (in contrast to being stateless) Massively concurrent Distributed
104 Good Erlang Domains Low latency over throughput Stateful (in contrast to being stateless) Massively concurrent Distributed Fault tolerant
105 Good Erlang Domains Low latency over throughput Stateful (in contrast to being stateless) Massively concurrent Distributed Fault tolerant Uses OTP
106 Good Erlang Domains Low latency over throughput Stateful (in contrast to being stateless) Massively concurrent Distributed Fault tolerant Uses OTP Non-stop operation
107 Good Erlang Domains Low latency over throughput Stateful (in contrast to being stateless) Massively concurrent Distributed Fault tolerant Uses OTP Non-stop operation Under load, Erlang programs usually performs as well as programs in other languages, often way better. Jesper Louis Andersen
108 Other Erlang Domains
109 Messaging - XMPP et al Other Erlang Domains
110 Messaging - XMPP et al Other Erlang Domains ejabberd, MongooseIM
111 Messaging - XMPP et al ejabberd, MongooseIM Webservers Other Erlang Domains
112 Other Erlang Domains Messaging - XMPP et al ejabberd, MongooseIM Webservers Yaws, Chicago Boss, Cowboy
113 Other Erlang Domains Messaging - XMPP et al ejabberd, MongooseIM Webservers Yaws, Chicago Boss, Cowboy Payment switches & soft switches
114 Other Erlang Domains Messaging - XMPP et al ejabberd, MongooseIM Webservers Yaws, Chicago Boss, Cowboy Payment switches & soft switches Vocalink, OpenFlow/LINC
115 Other Erlang Domains Messaging - XMPP et al ejabberd, MongooseIM Webservers Yaws, Chicago Boss, Cowboy Payment switches & soft switches Vocalink, OpenFlow/LINC Distributed Databases
116 Other Erlang Domains Messaging - XMPP et al ejabberd, MongooseIM Webservers Yaws, Chicago Boss, Cowboy Payment switches & soft switches Vocalink, OpenFlow/LINC Distributed Databases Riak, CouchDB, Scalaris
117 Other Erlang Domains Messaging - XMPP et al ejabberd, MongooseIM Webservers Yaws, Chicago Boss, Cowboy Payment switches & soft switches Vocalink, OpenFlow/LINC Distributed Databases Riak, CouchDB, Scalaris Queueing systems
118 Other Erlang Domains Messaging - XMPP et al ejabberd, MongooseIM Webservers Yaws, Chicago Boss, Cowboy Payment switches & soft switches Vocalink, OpenFlow/LINC Distributed Databases Riak, CouchDB, Scalaris Queueing systems RabbitMQ (AMQP)
119 The glove fits! Low latency Stateful Massively concurrent Distributed Fault tolerant Messaging Webservers Soft switches Distributed DBs Queueing systems
120 The Golden Trinity Of Erlang
121 To Share Or Not To Share
122 To Share Or Not To Share Memory
123 To Share Or Not To Share Memory P1
124 To Share Or Not To Share Memory P1 P2
125 To Share Or Not To Share Memory Corrupt P2
126 To Share Or Not To Share Memory Corrupt
127 To Share Or Not To Share Memory Corrupt Memory
128 To Share Or Not To Share Memory Corrupt Memory P1
129 To Share Or Not To Share Memory Corrupt Memory Memory P1
130 To Share Or Not To Share Memory Corrupt Memory Memory P1 P2
131 To Share Or Not To Share Memory Corrupt Corrupt Memory P2
132 To Share Or Not To Share Memory Corrupt Memory P2
133 Message Passing P1 M P2 P1 sends M to P2.
134 Message Passing P1 M P2 P1 sends M to P2. Every process has a mailbox
135 Message Passing P1 M P2 P1 sends M to P2. Every process has a mailbox Messages are received: receive {tag, Value} -> Value; N when is_integer(n) -> N + 42 end
136 Failures Anything that can go wrong, will go wrong Murphy
137 Failures Anything that can go wrong, Programming errors will go wrong Murphy
138 Failures Anything that can go wrong, Programming errors will go wrong Disk failures Murphy
139 Failures Anything that can go wrong, Programming errors will go wrong Disk failures Murphy Network failures
140 Failures Anything that can go wrong, Programming errors will go wrong Disk failures Murphy Network failures Most programming paradigmes are fault in-tolerant
141 Failures Anything that can go wrong, Programming errors will go wrong Disk failures Murphy Network failures Most programming paradigmes are fault in-tolerant must deal with all errors or die
142 Failures Anything that can go wrong, Programming errors will go wrong Disk failures Murphy Network failures Most programming paradigmes are fault in-tolerant must deal with all errors or die
143 Failures Anything that can go wrong, Programming errors will go wrong Disk failures Murphy Network failures Most programming paradigmes are fault in-tolerant must deal with all errors or die Erlang is fault tolerant by design
144 Failures Anything that can go wrong, Programming errors will go wrong Disk failures Murphy Network failures Most programming paradigmes are fault in-tolerant must deal with all errors or die Erlang is fault tolerant by design failures are embraced and managed
145 Failures Anything that can go wrong, Programming errors will go wrong Disk failures Murphy Network failures Most programming paradigmes are fault in-tolerant must deal with all errors or die Erlang is fault tolerant by design failures are embraced and managed source: should-we-be-worried-about-this-brooklyn-measles-outbreak source:
146 Let It Fail convert(monday) -> 1;! convert(tuesday) -> 2;! convert(wednesday) -> 3;! convert(thursday) -> 4;! convert(friday) -> 5;! convert(saturday) -> 6;! convert(sunday) -> 7!;! convert(_) ->! {error, unknown_day}.!
147 Let It Fail convert(monday) -> 1;! convert(tuesday) -> 2;! convert(wednesday) -> 3;! convert(thursday) -> 4;! convert(friday) -> 5;! convert(saturday) -> 6;! convert(sunday) -> 7!.!!
148 Let It Fail convert(monday) -> 1;! convert(tuesday) -> 2;! convert(wednesday) -> 3;! convert(thursday) -> 4;! convert(friday) -> 5;! convert(saturday) -> 6;! convert(sunday) -> 7!.!! Erlang encourages offensive programming
149 Handling Failure P1 P2 P1 monitors P2. P1 P2 P1 and P2 are linked.
150 Intentional Programming a style of programming where the reader of a program can easily see what the programmer intended by their code. [1] [1]
151 Intentional Dictionary data retrieval - dict:fetch(key, Dict) = Val EXIT the programmer knows a specific key should be in the dictionary and it is an error if it is not. search - dict:find(key, Dict) = {ok, Val} error. it is unknown if the key is there or not and both cases must be dealt with. test - dict:is_key(key, Dict) = Boolean knowing if a key is present is enough.
152 Benefits of let-it-fail Data Mobility component breakdown Source: h*p:// JanHenryNystrom/produc;vity- gains- in- erlang
153 Benefits of let-it-fail Data Mobility component breakdown Source: h*p:// JanHenryNystrom/produc;vity- gains- in- erlang code that solves the problem
154 Benefits of let-it-fail Data Mobility component breakdown Source: h*p:// JanHenryNystrom/produc;vity- gains- in- erlang code that solves the problem
155 Benefits of let-it-fail Data Mobility component breakdown Source: h*p:// JanHenryNystrom/produc;vity- gains- in- erlang code that solves the problem
156 Benefits of let-it-fail Data Mobility component breakdown Source: h*p:// JanHenryNystrom/produc;vity- gains- in- erlang code that solves the problem
157 Benefits of let-it-fail Data Mobility component breakdown Source: h*p:// JanHenryNystrom/produc;vity- gains- in- erlang code that solves the problem
158 Benefits of let-it-fail Data Mobility component breakdown Source: h*p:// JanHenryNystrom/produc;vity- gains- in- erlang code that solves the problem
159 Benefits of let-it-fail Data Mobility component breakdown Source: h*p:// JanHenryNystrom/produc;vity- gains- in- erlang code that solves the problem 3x
160 Productivity with Motorola Goal: Development of a mission-critical telecom gateway for TETRA To be developed from scratch using Erlang and some drivers in C The gateway translates between proprietary protocols and the ISI standard Developed using a two six man team over four year A total of 72 staff months used on the work
161 Productivity with Motorola Function point analysis Language agnostic measurement of problem size input input input output output output input Internal storage
162 Show me the money! Function Point Analysis of the size of the problem Conservative estimation of the number of inputs, outputs and internal storage Includes design, box test, system test, project management efforts
163 Isolate Errors
164 PROPAGATING EXIT SIGNALS PidA PidB PidC
165 PROPAGATING EXIT SIGNALS PidA PidB PidC
166 PROPAGATING EXIT SIGNALS {'EXIT', PidA, Reason} PidB PidC
167 PROPAGATING EXIT SIGNALS PidB PidC
168 PROPAGATING EXIT SIGNALS {'EXIT', PidB, Reason} PidC
169 PROPAGATING EXIT SIGNALS
170 TRAPPING AN EXIT SIGNAL PidA PidB PidC
171 TRAPPING AN EXIT SIGNAL PidA PidB PidC
172 TRAPPING AN EXIT SIGNAL {'EXIT', PidA, Reason} PidB PidC
173 TRAPPING AN EXIT SIGNAL PidB PidC
174 Supervision Trees supervisor supervisor worker worker worker worker worker The OTP library is built on this principle Erlang Solutions Ltd. 45
175 The OTP Supervisor Specifies a default restart strategy supervisor one_for_one one_for_all rest_for_one simple_one_for_one worker worker worker Child spec for how a child is restarted permanent transient temporary Erlang Solutions Ltd. 46
176 Supervisors
177 Simple Manager/Worker Pattern
178 Realities of software development???? Source:
179 Realities of software development Product Owner Source:
180 Business benefits of supervisors
181 Business benefits of supervisors Only one process dies
182 Business benefits of supervisors Only one process dies isolation gives continuous service
183 Business benefits of supervisors Only one process dies isolation gives continuous service Everything is logged
184 Business benefits of supervisors Only one process dies isolation gives continuous service Everything is logged you know what is wrong
185 Business benefits of supervisors Only one process dies isolation gives continuous service Everything is logged you know what is wrong Corner cases can be fixed at leisure
186 Business benefits of supervisors Only one process dies isolation gives continuous service Everything is logged you know what is wrong Corner cases can be fixed at leisure Product owner in charge!
187 Business benefits of supervisors Only one process dies isolation gives continuous service Everything is logged you know what is wrong Corner cases can be fixed at leisure Product owner in charge! Not the software!
188 Business benefits of supervisors Only one process dies isolation gives continuous service Everything is logged you know what is wrong Corner cases can be fixed at leisure Product owner in charge! Not the software! Software architecture that supports iterative development
189 Preparing for battle Source:
190 When do I get my ROI? Speed Proto-typing Development Live
191 When do I get my ROI? Speed Some Cool Technology Proto-typing Development Live
192 When do I get my ROI? Speed Erlang Some Cool Technology Proto-typing Development Live
193 When do I get my ROI? Speed Proto-typing Development Live
194 When do I get my ROI? Speed Erlang Proto-typing Development Live
195 When do I get my ROI? Speed Erlang Some Cool Technology Proto-typing Development Live
196 Erlang/OTP
197 Middleware
198 Design Patterns Middleware
199 Middleware Design Patterns Fault Tolerance
200 Middleware Design Patterns Fault Tolerance Distribution
201 Middleware Design Patterns Fault Tolerance Distribution Upgrades
202 Middleware Design Patterns Fault Tolerance Distribution Upgrades Packaging
203 Middleware Design Patterns Fault Tolerance Distribution Upgrades Packaging
204 OTP Tools
205 Development OTP Tools
206 OTP Tools Development Test Frameworks
207 OTP Tools Development Test Frameworks Release & Deployment
208 OTP Tools Development Test Frameworks Release & Deployment Debugging & Monitoring
209 OTP Benefits
210 Less Code OTP Benefits
211 OTP Benefits Less Code Less Bugs
212 OTP Benefits Less Code Less Bugs More Solid Code
213 OTP Benefits Less Code Less Bugs More Solid Code More Tested Code More Free Time
214 Behaviours GENERIC BEHAVIOUR MODULE Server process SPECIFIC CALLBACK MODULE
215 OTP Behaviours
216 OTP Behaviours Servers
217 OTP Behaviours Servers Finite State Machines
218 OTP Behaviours Servers Finite State Machines Event Handlers
219 OTP Behaviours Servers Finite State Machines Event Handlers Supervisors
220 OTP Behaviours Servers Finite State Machines Event Handlers Supervisors Applications
221 Nasty Things Handled by OTP
222 Nasty Things Handled by OTP Who are you gonna call?
223 Client Server
224 {request, Pid, Message} Client Server call(name, Message) ->! Name! {request, self(), Message},! receive! {reply, Reply} -> Reply! end.
225 {request, Pid, Message} Client {reply, Reply} Server call(name, Message) ->! Name! {request, self(), Message},! receive! {reply, Reply} -> Reply! end. reply(pid, Reply) ->! Pid! {reply, Reply}.
226 {request, Pid, Message} Client {reply, Reply} Server
227 {request, Pid, Message} Client {reply, Reply} Server Server 2
228 {request, Pid, Message} Client {reply, Reply} Server {reply, Reply} Server 2
229 {request, Pid, Message} Client {reply, Reply} Server {reply, Reply} Server 2 call(name, Msg) ->! Ref = make_ref(),! Name! {request, {Ref, self()}, Msg},! receive {reply, Ref, Reply} -> Reply end.!! reply({ref, Pid}, Reply) ->! Pid! {reply, Ref, Reply}.
230 {request, {Ref, self()}, Message} Client {reply, Ref, Reply} Server {reply, Reply} Server 2 call(name, Msg) ->! Ref = make_ref(),! Name! {request, {Ref, self()}, Msg},! receive {reply, Ref, Reply} -> Reply end.!! reply({ref, Pid}, Reply) ->! Pid! {reply, Ref, Reply}.
231 {request, {Ref, self()}, Message} Client {reply, Ref, Reply} Server {reply,???, Reply} Server 2 call(name, Msg) ->! Ref = make_ref(),! Name! {request, {Ref, self()}, Msg},! receive {reply, Ref, Reply} -> Reply end.!! reply({ref, Pid}, Reply) ->! Pid! {reply, Ref, Reply}.
232 PidA PidB
233 {request, {Ref, PidA}, Msg} PidA PidB
234 PidA
235 PidA call(name, Msg) ->! Ref = erlang:monitor(process, Name),! Name! {request, {Ref, self()}, Msg},! receive!! {reply, Ref, Reply} ->!! erlang:demonitor(ref),!! Reply;!! {'DOWN', Ref, process, _Name, _Reason} ->!! {error, no_proc}! end.
236 PidA PidB
237 {request, {Ref, PidA}, Msg} PidA PidB
238 PidA {reply, Ref, Reply} PidB
239 PidA {'DOWN', Ref, process, PidB, Reason}
240 {'DOWN', Ref, process, PidB, Reason} PidA call(name, Msg) ->! Ref = erlang:monitor(process, Name),! Name! {request, {Ref, self()}, Msg},! receive!! {reply, Ref, Reply} ->!! erlang:demonitor(ref, [flush]),!! Reply;!! {'DOWN', Ref, process, _Name, _Reason} ->!! {error, no_proc}! end.
241 Dealing with deadlocks
242 Dealing with deadlocks 7 years of coding Erlang
243 Dealing with deadlocks 7 years of coding Erlang Time spent on deadlock issues.
244 Dealing with deadlocks 7 years of coding Erlang Time spent on deadlock issues. 1 hour (due to lack of experience with OTP)
245 Selling Others on Erlang
246 In Theory... You conquer the TALC group by group in one smooth motion Erlang Solutions Ltd. 66
247 In Theory... You conquer the TALC group by group in one smooth motion Erlang Solutions Ltd. 66
248 In Theory... You conquer the TALC group by group in one smooth motion Erlang Solutions Ltd. 66
249 In Theory... You conquer the TALC group by group in one smooth motion Erlang Solutions Ltd. 66
250 In Theory... You conquer the TALC group by group in one smooth motion Erlang Solutions Ltd. 66
251 In Theory... You conquer the TALC group by group in one smooth motion Erlang Solutions Ltd. 66
252 In Theory... You conquer the TALC group by group in one smooth motion but it s just an illusion :-( Erlang Solutions Ltd. 66
253 Cracks and a Chasm Erlang Solutions Ltd. 67
254 Cracks and a Chasm Technology enthusiasts Erlang Solutions Ltd. 67
255 Cracks and a Chasm Visionaries Technology enthusiasts Erlang Solutions Ltd. 67
256 Cracks and a Chasm Pragmatists Visionaries Technology enthusiasts Erlang Solutions Ltd. 67
257 Cracks and a Chasm Pragmatists Conservatives Visionaries Technology enthusiasts Erlang Solutions Ltd. 67
258 Cracks and a Chasm Pragmatists Conservatives Technology enthusiasts Visionaries Laggards Erlang Solutions Ltd. 67
259 Cracks and a Chasm Crack Pragmatists Conservatives Technology enthusiasts Visionaries Laggards Erlang Solutions Ltd. 67
260 Cracks and a Chasm Crack Crack Pragmatists Conservatives Technology enthusiasts Visionaries Laggards Erlang Solutions Ltd. 67
261 Cracks and a Chasm Chasm Crack Crack Pragmatists Conservatives Technology enthusiasts Visionaries Laggards Erlang Solutions Ltd. 67
262 The Chasm
263 The Chasm From Visionaries to Pragmatists
264 The Chasm From Visionaries to Pragmatists Visionaries buy a change agent to get a radical discontinuity
265 The Chasm From Visionaries to Pragmatists Visionaries buy a change agent to get a radical discontinuity Pragmatists want a productivity improvement for existing operations
266 The Chasm From Visionaries to Pragmatists Visionaries buy a change agent to get a radical discontinuity Pragmatists want a productivity improvement for existing operations Pragmatists want evolution, not revolution
267 The Chasm From Visionaries to Pragmatists Visionaries buy a change agent to get a radical discontinuity Pragmatists want a productivity improvement for existing operations Pragmatists want evolution, not revolution Pragmatists wants references
268 Visionaries vs Pragmatists Visionaries have four characteristics that alienate Pragmatists: Erlang Solutions Ltd. 69
269 Visionaries vs Pragmatists Visionaries have four characteristics that alienate Pragmatists: Lack of respect for their colleagues experiences Erlang Solutions Ltd. 69
270 Visionaries vs Pragmatists Visionaries have four characteristics that alienate Pragmatists: Lack of respect for their colleagues experiences Takes greater interest in technology than in their industry Erlang Solutions Ltd. 69
271 Visionaries vs Pragmatists Visionaries have four characteristics that alienate Pragmatists: Lack of respect for their colleagues experiences Takes greater interest in technology than in their industry Fail to recognise the importance of existing product infrastructure Erlang Solutions Ltd. 69
272 Visionaries vs Pragmatists Visionaries have four characteristics that alienate Pragmatists: Lack of respect for their colleagues experiences Takes greater interest in technology than in their industry Fail to recognise the importance of existing product infrastructure Overall disruptiveness Erlang Solutions Ltd. 69
273 Whole Product Planning Simplified for chasm crossing Training & Support Standards & Procedures Generic Product Additional Software Additional Hardware Anything else to achieve your compelling reason to buy Installation & Debugging System Integration Erlang Solutions Ltd. 70
274 Whole Product Planning Simplified for chasm crossing Training & Support Standards & Procedures Generic Product Additional Software Additional Hardware Anything else to achieve your compelling reason to buy = marketing promise to win the sale Installation & Debugging System Integration Erlang Solutions Ltd. 70
275 Erlang Whole Product 1/2 Generic product: Erlang compiler and runtime Additional software: rich library shipped with each release many open source libraries Training & support: ESL provides many courses ErlangCamp also provides training Erlang Solutions Ltd. 71
276 Erlang Whole Product 2/2 System integration: mostly case-by-case few public success stories Installation & Debugging: Adequate functionalities for installing applications Wombat: ESL tool for Operations and Maintenance Good debugging tools, but not well publicised Erlang Solutions Ltd. 72
277 The EuroVision Link Or why Java is used more than Erlang source: source: source: v=1&c=iwsasset&k=2&d=x7wjla88cweo9hktrlanxrtyxdj3bsapheprrdcrbmiaeiszj73mxej82t5ovccz
278 The EuroVision Link Or why Java is used more than Erlang Lots of wrapping source: source: source: v=1&c=iwsasset&k=2&d=x7wjla88cweo9hktrlanxrtyxdj3bsapheprrdcrbmiaeiszj73mxej82t5ovccz
279 The EuroVision Link Or why Java is used more than Erlang Lots of wrapping The real McCoy source: source: source: v=1&c=iwsasset&k=2&d=x7wjla88cweo9hktrlanxrtyxdj3bsapheprrdcrbmiaeiszj73mxej82t5ovccz
280 Source:
281 Learning Erlang
282 Learning Erlang ESL training courses
283 Learning Erlang ESL training courses Learn You Some Erlang
284 Learning Erlang ESL training courses Learn You Some Erlang Use the erlang-questions mailing list
285 Learning Erlang ESL training courses Learn You Some Erlang Use the erlang-questions mailing list Do it hands-on
286 Learning Erlang ESL training courses Learn You Some Erlang Use the erlang-questions mailing list Do it hands-on Give it time to sink in!!!
287 Elixir
288 Elixir Built on top of the Erlang VM
289 Elixir Built on top of the Erlang VM More Ruby-like syntax
290 Elixir Built on top of the Erlang VM More Ruby-like syntax Hygienic macros - easy to do DSLs
291 Elixir Built on top of the Erlang VM More Ruby-like syntax Hygienic macros - easy to do DSLs But you still have to learn the Erlang programming model
292 Key building blocks
293 Key building blocks Share nothing processes
294 Key building blocks Share nothing processes Message passing
295 Key building blocks Share nothing processes Message passing Fail fast approach
296 Key building blocks Share nothing processes Message passing Fail fast approach Link/monitor concept
297 Key building blocks Share nothing processes Message passing Fail fast approach Link/monitor concept You can deal with failures in a sensible manner because you have a language for them.
298 Cruising with Erlang
299 Cruising with Erlang Understand the failure model
300 Cruising with Erlang Understand the failure model Embrace failure!
301 Cruising with Erlang Understand the failure model Embrace failure! Use supervision patterns to deliver business value
302 Cruising with Erlang Understand the failure model Embrace failure! Use supervision patterns to deliver business value Stay in charge!
303 Cruising with Erlang Understand the failure model Embrace failure! Use supervision patterns to deliver business value Stay in charge!
Erlang and the Chasm. A tour of the interac5on between engineering and marke5ng. Torben Hoffmann
Erlang and the Chasm A tour of the interac5on between engineering and marke5ng Torben Hoffmann Product & Research Manager Erlang Solu5ons Ltd @LeHoff Session code: #3799 1 Have you ever... 2 Have you ever...
More informationBuilding highly available systems in Erlang. Joe Armstrong
Building highly available systems in Erlang Joe Armstrong How can we get 10 nines reliability? Why Erlang? Erlang was designed to program fault-tolerant systems Overview n Types of HA systems n Architecture/Algorithms
More informationErlang in Production. I wish I'd known that when I started Or This is nothing like the brochure :-(
Erlang in Production I wish I'd known that when I started Or This is nothing like the brochure :-( Who the Hell are you? ShoreTel Sky http://shoretelsky.com Enterprise Grade VoIP Elevator Pitch Our Systems
More informationMicroservices and Erlang/OTP. Christoph Iserlohn
Microservices and Erlang/OTP Christoph Iserlohn About me Senior Consultant @ innoq MacPorts Team member Agenda > Microservices > Erlang / OTP > How they fit together Microservices Attempt of definition
More informationmembase.org: The Simple, Fast, Elastic NoSQL Database NorthScale Matt Ingenthron OSCON 2010
membase.org: The Simple, Fast, Elastic NoSQL Database NorthScale Matt Ingenthron OSCON 2010 Membase is an Open Source distributed, key-value database management system optimized for storing data behind
More informationErlang in E-Commerce and Banking
Erlang in E-Commerce and Banking or Painless Payment Processing by Erik Stenman CTO, Kreditor Europe AB Creative Payment Solutions The business model: Kreditor Bring trust to Internet shopping. Bring old
More informationRadware ADC-VX Solution. The Agility of Virtual; The Predictability of Physical
Radware ADC-VX Solution The Agility of Virtual; The Predictability of Physical Table of Contents General... 3 Virtualization and consolidation trends in the data centers... 3 How virtualization and consolidation
More informationRadware ADC-VX Solution. The Agility of Virtual; The Predictability of Physical
Radware ADC-VX Solution The Agility of Virtual; The Predictability of Physical Table of Contents General... 3 Virtualization and consolidation trends in the data centers... 3 How virtualization and consolidation
More informationAlcatel-Lucent IMS Application Server
September Alain Grignac, Gérard Tixier Application BD/ CTO Office History 1999/2000/2001 Java middleware initiated as basis for a high-performances WAP Gateway. First commercial deployments 2002/2003/2004
More informationThe WLCG Messaging Service and its Future
The WLCG Messaging Service and its Future Lionel Cons, Massimo Paladin CERN - IT Department, 1211 Geneva 23, Switzerland E-mail: Lionel.Cons@cern.ch, Massimo.Paladin@cern.ch Abstract. Enterprise messaging
More informationepages Flex Technical White Paper e-commerce. now plug & play. epages.com
epages Flex Technical White Paper epages.com e-commerce. now plug & play. The information contained in this document is subject to change without notice at any time. This document and all of its parts
More informationErlang a platform for developing distributed software systems
Erlang a platform for developing distributed software systems Lars-Åke Fredlund 1 / 55 Problems of distributed systems Distributed programming is hard Challenges for concurrency: process coordination and
More informationOpenSAF A Standardized HA Solution
OpenSAF A Standardized HA Solution LinuxCON Edinburgh, UK 2013-10-21 Anders Widell Ericsson AB Outline What are OpenSAF and SA Forum? What is Service Availability? Simple Use Case: Web server The OpenSAF
More informationWhat to base your Brand Portal on: SharePoint, custom build it or buy Brandworkz offthe shelf
What to base your Brand Portal on: SharePoint, custom build it or buy Brandworkz offthe shelf From time to time we hear variations on the following from potential clients: We already have Microsoft SharePoint
More informationWhat can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.
What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications. 2 Contents: Abstract 3 What does DDS do 3 The Strengths of DDS 4
More informationThe Top 10 Advantages of a Windows Based PBX
Whitepaper The Top 10 Advantages of a Windows Based PBX Why Your Next Phone System Should be Software Based This whitepaper outlines the top 10 advantages of choosing a Windows based PBX as your next phone
More informationVirtualization of the MS Exchange Server Environment
MS Exchange Server Acceleration Maximizing Users in a Virtualized Environment with Flash-Powered Consolidation Allon Cohen, PhD OCZ Technology Group Introduction Microsoft (MS) Exchange Server is one of
More informationThe top 10 advantages of a Windows based PBX
Whitepaper The top 10 advantages of a Windows based PBX Why your next Phone System should be software based This whitepaper outlines the top 10 advantages of choosing a Windows based PBX as your next phone
More informationUnderstanding Hardware Transactional Memory
Understanding Hardware Transactional Memory Gil Tene, CTO & co-founder, Azul Systems @giltene 2015 Azul Systems, Inc. Agenda Brief introduction What is Hardware Transactional Memory (HTM)? Cache coherence
More informationMasters in Information Technology
Computer - Information Technology MSc & MPhil - 2015/6 - July 2015 Masters in Information Technology Programme Requirements Taught Element, and PG Diploma in Information Technology: 120 credits: IS5101
More informationMessaging with Erlang and Jabber
Messaging with Erlang and Jabber Erlang User Conference '04 21st. October 2004 Mickaël Rémond www.erlang-projects.org What are XMPP and Jabber? XMPP stands for extensible
More informationAn Oracle White Paper July 2011. Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide
Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide An Oracle White Paper July 2011 1 Disclaimer The following is intended to outline our general product direction.
More informationWhite Paper: Build vs. Buy: Mass Management Tools for Your Workstations Rev 0-12/8/03
White Paper: Build vs. Buy: Mass Management Tools for Your Workstations Rev 0-12/8/03 Written by Philip Lieberman (phil@lanicu.com) Lieberman & Associates http://www.lanicu.com Abstract This whitepaper
More informationCisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database
Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database Built up on Cisco s big data common platform architecture (CPA), a
More informationServer Virtualization with VMWare
Server Virtualization with VMware Information Technology Server Virtualization with VMWare A look at server virtualization, what it is and why it should be considered. By Alex Dewar, Head of IT & IM Solutions,
More informationTechnology Change Management
The PROJECT PERFECT White Paper Collection Introduction Technology Change Management Sandeep Mehta This article takes an objective look at Technology Change Management (TCM). It covers a number of topics
More informationGeorgiana Macariu, Dana Petcu, CiprianCraciun, Silviu Panica, Marian Neagul eaustria Research Institute Timisoara, Romania
Open source API and platform for heterogeneous Cloud computing environments Georgiana Macariu, Dana Petcu, CiprianCraciun, Silviu Panica, Marian Neagul eaustria Research Institute Timisoara, Romania Problem
More informationBest Practices for Monitoring Databases on VMware. Dean Richards Senior DBA, Confio Software
Best Practices for Monitoring Databases on VMware Dean Richards Senior DBA, Confio Software 1 Who Am I? 20+ Years in Oracle & SQL Server DBA and Developer Worked for Oracle Consulting Specialize in Performance
More informationHigh-Performance Batch Processing Framework
High-Performance Batch Processing Framework It is hard to find a mid to large sized business today that does not have at least a batch job or process that runs independent of the web application running
More informationNoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases
NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases Background Inspiration: postgresapp.com demo.beatstream.fi (modern desktop browsers without
More informationAn Oracle White Paper November 2010. Oracle Real Application Clusters One Node: The Always On Single-Instance Database
An Oracle White Paper November 2010 Oracle Real Application Clusters One Node: The Always On Single-Instance Database Executive Summary... 1 Oracle Real Application Clusters One Node Overview... 1 Always
More informationBENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB
BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB Planet Size Data!? Gartner s 10 key IT trends for 2012 unstructured data will grow some 80% over the course of the next
More informationDistribution One Server Requirements
Distribution One Server Requirements Introduction Welcome to the Hardware Configuration Guide. The goal of this guide is to provide a practical approach to sizing your Distribution One application and
More informationEUCIP IT Administrator - Module 2 Operating Systems Syllabus Version 3.0
EUCIP IT Administrator - Module 2 Operating Systems Syllabus Version 3.0 Copyright 2011 ECDL Foundation All rights reserved. No part of this publication may be reproduced in any form except as permitted
More informationResource Management and Containment for Active Services
Resource Management and Containment for Active Services M. Ranganathan, Doug Montgomery, Kevin Mills Advanced Networking Technologies Division National Inst. Of Standards and Technology Gaithersburg, MD
More informationThis paper defines as "Classical"
Principles of Transactional Approach in the Classical Web-based Systems and the Cloud Computing Systems - Comparative Analysis Vanya Lazarova * Summary: This article presents a comparative analysis of
More informationThe Service Availability Forum Specification for High Availability Middleware
The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum Timo.Jokiaho@nokia.com, Frederic.Herrmann@sun.com,
More informationEWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications
ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani
More informationAkuda Labs. Leverages Peak Hosting s Operations-as-a-Service Managed Hosting Solution to Process Big Data Analytics 500 Faster without Big Costs
Akuda Labs Leverages Peak Hosting s Operations-as-a-Service Managed Hosting Solution to Process Big Data Analytics 500 Faster without Big Costs INDUSTRY: BIG DATA ANALYTICS This case study provides a high-level
More informationIBM Platform Computing Cloud Service Ready to use Platform LSF & Symphony clusters in the SoftLayer cloud
IBM Platform Computing Cloud Service Ready to use Platform LSF & Symphony clusters in the SoftLayer cloud February 25, 2014 1 Agenda v Mapping clients needs to cloud technologies v Addressing your pain
More informationInside Track Research Note. In association with. Enterprise Storage Architectures. Is it only about scale up or scale out?
Research Note In association with Enterprise Storage Architectures Is it only about scale up or scale out? August 2015 About this The insights presented in this document are derived from independent research
More informationExploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence
Exploring Oracle E-Business Suite Load Balancing Options Venkat Perumal IT Convergence Objectives Overview of 11i load balancing techniques Load balancing architecture Scenarios to implement Load Balancing
More informationMulti-Channel Clustered Web Application Servers
THE AMERICAN UNIVERSITY IN CAIRO SCHOOL OF SCIENCES AND ENGINEERING Multi-Channel Clustered Web Application Servers A Masters Thesis Department of Computer Science and Engineering Status Report Seminar
More informationMasters in Human Computer Interaction
Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from
More informationHigh Frequency Trading and NoSQL. Peter Lawrey CEO, Principal Consultant Higher Frequency Trading
High Frequency Trading and NoSQL Peter Lawrey CEO, Principal Consultant Higher Frequency Trading Agenda Who are we? Brief introduction to OpenHFT. What does a typical trading system look like What requirements
More informationChapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
More informationChapter 9 Software Evolution
Chapter 9 Software Evolution Summary 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes
More informationAbove the Clouds: Introducing Akka
Above the Clouds: Introducing Akka Jonas Bonér CTO Typesafe Email: jonas@typesafe.com Twitter: @jboner The problem It is way too hard to build: 1. correct highly concurrent systems 2. truly scalable systems
More informationLessons learned How we use Erlang to analyze millions of messages per day
Erlang Factory Lite Paris Lessons learned How we use Erlang to analyze millions of messages per day A few words about us What we do with Erlang A few words about us Semiocast processes social media conversations
More informationCloudy Middleware MARK LITTLE <MLITTLE@REDHAT.COM> TOBIAS KUNZE <TKUNZE@REDHAT.COM>
Cloudy Middleware MARK LITTLE TOBIAS KUNZE About Mark Little Sr Director of Engineering, Red Hat Tobias Kunze PaaS Architect, Red Hat CTO/Co-founder of Makara 2
More informationMasters in Computing and Information Technology
Masters in Computing and Information Technology Programme Requirements Taught Element, and PG Diploma in Computing and Information Technology: 120 credits: IS5101 CS5001 or CS5002 CS5003 up to 30 credits
More informationMasters in Networks and Distributed Systems
Masters in Networks and Distributed Systems Programme Requirements Taught Element, and PG Diploma in Networks and Distributed Systems: 120 credits: IS5101 CS5001 CS5021 CS4103 or CS5023 in total, up to
More informationArchitecting For Failure Why Cloud Architecture is Different! Michael Stiefel www.reliablesoftware.com development@reliablesoftware.
Architecting For Failure Why Cloud Architecture is Different! Michael Stiefel www.reliablesoftware.com development@reliablesoftware.com Outsource Infrastructure? Traditional Web Application Web Site Virtual
More informationA standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist Macnair@us.ibm.com Copyright IBM Corporation 2005. All rights
More informationCelebrus Apex Programme
Celebrus Apex Programme Introduction This document outlines the benefits of becoming a Celebrus Apex Partner, explains how the programme is structured and how to become a part of it. Why become a Celebrus
More informationOracle to SQL Server 2005 Migration
Oracle to SQL Server 2005 Migration Methodology and Practice Presented By: Barry Young Copyright 2006 by Proactive Performance Solutions, Inc. Agenda Introduction Migration: Oracle to SQL Server Methodology:
More informationApplications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61
F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase
More informationSoftware Engineering. So(ware Evolu1on
Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers
More informationChapter 7: Distributed Systems: Warehouse-Scale Computing. Fall 2011 Jussi Kangasharju
Chapter 7: Distributed Systems: Warehouse-Scale Computing Fall 2011 Jussi Kangasharju Chapter Outline Warehouse-scale computing overview Workloads and software infrastructure Failures and repairs Note:
More informationScaling to Millions of Simultaneous Connections
Scaling to Millions of Simultaneous Connections Rick Reed WhatsApp Erlang Factory SF March 30, 2012 1 About... Joined WhatsApp in 2011 New to Erlang Background in performance of C-based systems on FreeBSD
More informationBasics in Energy Information (& Communication) Systems Virtualization / Virtual Machines
Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines Dr. Johann Pohany, Virtualization Virtualization deals with extending or replacing an existing interface so as to
More informationReal Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
More informationBusiness Application Services Testing
Business Application Services Testing Curriculum Structure Course name Duration(days) Express 2 Testing Concept and methodologies 3 Introduction to Performance Testing 3 Web Testing 2 QTP 5 SQL 5 Load
More informationAn Architecture Vision
An Architecture Vision Universal Cloud Communications Stack Cloud Telecom. Software that turns communications into a service. 1 Software Architecture That Matters Universal Cloud Communications Stack (UCCS),
More informationzen Platform technical white paper
zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant
More informationStreaming Big Data Performance Benchmark for Real-time Log Analytics in an Industry Environment
Streaming Big Data Performance Benchmark for Real-time Log Analytics in an Industry Environment SQLstream s-server The Streaming Big Data Engine for Machine Data Intelligence 2 SQLstream proves 15x faster
More informationServer Virtualization in Manufacturing
W H I T E P A P E R Server Virtualization in Manufacturing Do s and Don ts for Business- and Mission-critical Manufacturing Systems Uptime. All the time. 1 Abstract While the benefits of server virtualization
More informationWHITE PAPER. How To Compare Virtual Devices (NFV) vs Hardware Devices: Testing VNF Performance
WHITE PAPER How To Compare Virtual Devices (NFV) vs Hardware Devices: Testing VNF Performance www.ixiacom.com 915-3132-01 Rev. B, June 2014 2 Table of Contents Network Functions Virtualization (NFV): An
More informationInside the Erlang VM
Rev A Inside the Erlang VM with focus on SMP Prepared by Kenneth Lundin, Ericsson AB Presentation held at Erlang User Conference, Stockholm, November 13, 2008 1 Introduction The history of support for
More informationCache Database: Introduction to a New Generation Database
Cache Database: Introduction to a New Generation Database Amrita Bhatnagar Department of Computer Science and Engineering, Birla Institute of Technology, A 7, Sector 1, Noida 201301 UP amritapsaxena@gmail.com
More informationThe K 2 System: Lisp at the Core of the ISP Business
The K 2 System: Lisp at the Core of the ISP Business Espen J. Vestre Nextra AS 1 Introduction The Nextra Group, a subsidiary of Telenor (the norwegian Telecom), is Norway s largest ISP, with over 400.000
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationEloquence Training What s new in Eloquence B.08.00
Eloquence Training What s new in Eloquence B.08.00 2010 Marxmeier Software AG Rev:100727 Overview Released December 2008 Supported until November 2013 Supports 32-bit and 64-bit platforms HP-UX Itanium
More informationCOMMODITIZING THE DATACENTER. Exploring the Impacts of the Shift to Virtualization and Cloud Computing
COMMODITIZING THE DATACENTER Exploring the Impacts of the Shift to Virtualization and Cloud Computing 3/5/2015 AGENDA Changing Environments What Is The Datacenter Why Do We Use Them Adapting To A Changing
More informationWhitepaper. The Top 10 Advantages of 3CX Phone System. Why your next phone system should be software based and by 3CX
Whitepaper The Top 10 Advantages of 3CX Phone System Why your next phone system should be software based and by 3CX This whitepaper outlines the top 10 advantages of choosing 3CX Phone System, a Windows
More informationSERVICE SCHEDULE PULSANT ENTERPRISE CLOUD SERVICES
SERVICE SCHEDULE PULSANT ENTERPRISE CLOUD SERVICES This is a Service Schedule as defined in the Conditions. Where the Services set out in this Service Schedule form part of the Services to be supplied
More informationTHE BASIC SERVER IN ERLANG
THE BASIC SERVER IN ERLANG The first common pattern I'll describe is one we've already used. When writing the event server, we had what could be called a client-server model. The event server would calls
More informationsocketio Documentation
socketio Documentation Release 0.1 Miguel Grinberg January 17, 2016 Contents 1 What is Socket.IO? 3 2 Getting Started 5 3 Rooms 7 4 Responses 9 5 Callbacks 11 6 Namespaces 13 7 Using a Message Queue 15
More informationStreaming Big Data Performance Benchmark. for
Streaming Big Data Performance Benchmark for 2 The V of Big Data Velocity means both how fast data is being produced and how fast the data must be processed to meet demand. Gartner Static Big Data is a
More informationAKIPS Network Monitor Installation, Configuration & Upgrade Guide Version 15. AKIPS Pty Ltd
AKIPS Network Monitor Installation, Configuration & Upgrade Guide Version 15 AKIPS Pty Ltd November 12, 2015 1 Copyright Copyright 2015 AKIPS Holdings Pty Ltd. All rights reserved worldwide. No part of
More informationCloud Operating Systems for Servers
Cloud Operating Systems for Servers Mike Day Distinguished Engineer, Virtualization and Linux August 20, 2014 mdday@us.ibm.com 1 What Makes a Good Cloud Operating System?! Consumes Few Resources! Fast
More informationLOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS
LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS Venkat Perumal IT Convergence Introduction Any application server based on a certain CPU, memory and other configurations
More informationBIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON
BIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON Overview * Introduction * Multiple faces of Big Data * Challenges of Big Data * Cloud Computing
More informationCS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson
CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,
More informationOperating System Organization. Purpose of an OS
Slide 3-1 Operating System Organization Purpose of an OS Slide 3-2 es Coordinate Use of the Abstractions he Abstractions Create the Abstractions 1 OS Requirements Slide 3-3 Provide resource abstractions
More informationAKIPS Network Monitor Installation, Configuration & Upgrade Guide Version 16. AKIPS Pty Ltd
AKIPS Network Monitor Installation, Configuration & Upgrade Guide Version 16 AKIPS Pty Ltd July 5, 2016 1 Copyright Copyright 2015 AKIPS Holdings Pty Ltd. All rights reserved worldwide. No part of this
More informationStreamServe Persuasion SP5 Microsoft SQL Server
StreamServe Persuasion SP5 Microsoft SQL Server Database Guidelines Rev A StreamServe Persuasion SP5 Microsoft SQL Server Database Guidelines Rev A 2001-2011 STREAMSERVE, INC. ALL RIGHTS RESERVED United
More information- An Essential Building Block for Stable and Reliable Compute Clusters
Ferdinand Geier ParTec Cluster Competence Center GmbH, V. 1.4, March 2005 Cluster Middleware - An Essential Building Block for Stable and Reliable Compute Clusters Contents: Compute Clusters a Real Alternative
More informationCLOUD DEVELOPMENT BEST PRACTICES & SUPPORT APPLICATIONS
whitepaper CLOUD DEVELOPMENT BEST PRACTICES & SUPPORT APPLICATIONS - Cloud Development Best Practices and Support Applications CLOUD DEVELOPMENT BEST PRACTICES 1 Cloud-based solutions are increasingly
More informationLast time. Data Center as a Computer. Today. Data Center Construction (and management)
Last time Data Center Construction (and management) Johan Tordsson Department of Computing Science 1. Common (Web) application architectures N-tier applications Load Balancers Application Servers Databases
More informationWHITE PAPER. Data Center Fabrics. Why the Right Choice is so Important to Your Business
WHITE PAPER Data Center Fabrics Why the Right Choice is so Important to Your Business Introduction Data center fabrics are emerging as the preferred architecture for next-generation virtualized data centers,
More informationSpotify services. The whole is greater than the sum of the parts. Niklas Gustavsson. måndag 4 mars 13
Spotify services The whole is greater than the sum of the parts Niklas Gustavsson Me Distributed systems geek Spotify since 2011 ngn@spotify.com @protocol7 Last year Architectural overview Lots of questions!
More informationBuild Your Own Performance Test Lab in the Cloud. Leslie Segal Testware Associate, Inc. leslie.segal@testwareinc.com
Build Your Own Performance Test Lab in the Cloud Leslie Segal Testware Associate, Inc. leslie.segal@testwareinc.com Problem(s) I was trying to Solve Need more VUs Don t have Tool Times up reschedule test
More informationMasters in Advanced Computer Science
Masters in Advanced Computer Science Programme Requirements Taught Element, and PG Diploma in Advanced Computer Science: 120 credits: IS5101 CS5001 up to 30 credits from CS4100 - CS4450, subject to appropriate
More informationHow To Choose Between A Relational Database Service From Aws.Com
The following text is partly taken from the Oracle book Middleware and Cloud Computing It is available from Amazon: http://www.amazon.com/dp/0980798000 Cloud Databases and Oracle When designing your cloud
More informationVirtual Server Hosting Service Definition. SD021 v1.8 Issue Date 20 December 10
Virtual Server Hosting Service Definition SD021 v1.8 Issue Date 20 December 10 10 Service Overview Virtual Server Hosting is InTechnology s hosted managed service for virtual servers. Our virtualisation
More informationNetwork Management and Monitoring Software
Page 1 of 7 Network Management and Monitoring Software Many products on the market today provide analytical information to those who are responsible for the management of networked systems or what the
More informationPart V Applications. What is cloud computing? SaaS has been around for awhile. Cloud Computing: General concepts
Part V Applications Cloud Computing: General concepts Copyright K.Goseva 2010 CS 736 Software Performance Engineering Slide 1 What is cloud computing? SaaS: Software as a Service Cloud: Datacenters hardware
More informationIT Architecture Review. ISACA Conference Fall 2003
IT Architecture Review ISACA Conference Fall 2003 Table of Contents Introduction Business Drivers Overview of Tiered Architecture IT Architecture Review Why review IT architecture How to conduct IT architecture
More informationUsing Linux Clusters as VoD Servers
HAC LUCE Using Linux Clusters as VoD Servers Víctor M. Guĺıas Fernández gulias@lfcia.org Computer Science Department University of A Corunha funded by: Outline Background: The Borg Cluster Video on Demand.
More information