Armağan Amcalar PRO
Armagan is the founder of Coyotiv GmbH, and is currently on a mission to bring a scalable and nimble engineering culture to startups and enterprises. Armagan is a public speaker, a mentor and a lecturer.
Armagan Amcalar
Özgür Yazılım ve Linux Günleri 2015, Istanbul
27 March 2015
Armağan Amcalar
Co-founder, Chief Software Architect
Startup Kitchen
Single code-base
A single process to rule them all (the whole application)
A bug anywhere can crash the whole system
May consume lots of stale resources
Hard to scale; needs even more stale resources
Request-response flow is one huge piece that can break almost anywhere in-between
(Relatively) easy to manage
Separate code base for each service
Multi processes for each service
A bug in a service crashes only that service
Consumes minimal resources
Scales well, needs minimal additional resources
Request-response flow breakdown into multiple service calls
(Relatively) hard to manage
Just like DOM events, what we're used to build.
Instead of click events, you have custom events (e.g. in jQuery)
Instead of DOM element interaction, you have daemon interaction, acting on certain events
First-of-its-kind event driven pattern
You observe an object property, not an arbitrary event
Like all your click handlers have to have the same name
Limits possibilities
An open-source framework developed at Startup Kitchen for building distributed and fault-tolerant applications
Partially funded by TUBITAK
Used in production from day one
auto-discovery
mesh network, peer-to-peer communication
publisher-subscriber pattern
request-response pattern
client-side communication over websockets
load balancing with different strategies
daemon monitor
var Publisher = require('cote').Publisher,
publisher = new Publisher({
name: 'publisher',
broadcasts: ['update']
}),
workId = 0;
publisher.on('ready', function() {
setInterval(function() {
console.log('emitting', ++workId);
publisher.publish('update', workId);
}, 3000);
});
var Subscriber = require('cote').Subscriber,
subscriber = new Subscriber({
name: 'subscriber'
});
subscriber.on('update', function(message) {
console.log('update', message);
});
Frontend
Back office
Reporting
Payment processor
Data interface
get the code at github
Armağan Amcalar
armagan@amcalar.com
twitter: @aamcalar
github: dashersw
blog: arm.ag
By Armağan Amcalar
Cote.js is an open-source auto-discovery mesh network framework for building fault-tolerant, highly available and scalable software at no additional cost. Cote.js allows developers to build microservices easily with various communication patterns.
Armagan is the founder of Coyotiv GmbH, and is currently on a mission to bring a scalable and nimble engineering culture to startups and enterprises. Armagan is a public speaker, a mentor and a lecturer.