Advertisement

Get your mobile app in production in 3 months: Backend

Ackee
Ackee
May. 25, 2017
Advertisement

More Related Content

Advertisement

Get your mobile app in production in 3 months: Backend

  1. Microservices and javascript on the server-side Libor Vilímek
  2. Switching to Node.js Easy to learn Easy to use Easy to become Node.js wizard
  3. Hypetrain is real
  4. Node.js quick summary One thread – no deadlocks, not expensive thread creation Npm install – as easy as possible Javascript – allows almost anything Public modules – always open source, huge community Asynchronous – no worker threads
  5. No more copy-paste solutions
  6. Advantages of small projects Smaller codebase – easier to maintain Change-requests are much more efficient Easy to understand – join and understand new project fast Less bugs – due to lower complexity
  7. Microservices!! Build your application as multiple independent projects Use lightweight communication (i.e. REST API) Create its own database for each microservice
  8. Microservices in 2017 Automated deploy – programmer does not have to manually compile and upload to server Healthchecks – admin does not have „watch“ and repair failing service Docker – admin/programmer does not have to configure each service Cloud hosting – cheap, almost no maintance
  9. Advantages of Microservices Modularity – you can easily deploy one microservice in more applications Development – more developers can work on the same application Small codebase – it has all the advantages of small projects Scalability – different number of instances for each microservice
  10. App4Fest architecture
  11. Pitfalls of Microservice Architecture Stateless – never ever do transactions through microservices Data – more databases = count on desynchronized data „Microservices are great, lets split everything into them“ Have active communication between teams
  12. exports.createPayment = function(object, cb) { var rand = Math.abs((Math.random() * (9999999999 - 1) + 1) | 0).toString(); // console.log(rand); Payment.findOne({vs: rand}, function(err, obj) { if (obj) { rand = Math.abs((Math.random() * (9999999999 - 1) + 1) | 0).toString(); // console.log(rand); Payment.findOne({vs: rand}, function(err, obj) { if (obj) { rand = Math.abs((Math.random() * (9999999999 - 1) + 1) | 0).toString(); // console.log(rand); Payment.findOne({vs: rand}, function(err, obj) { if (obj) { rand = Math.abs((Math.random() * (9999999999 - 1) + 1) | 0).toString(); // console.log(rand); Payment.findOne({vs: rand}, function(err, obj) { if (obj) { rand = Math.abs((Math.random() * (9999999999 - 1) + 1) | 0).toString(); // console.log(rand); Payment.findOne({vs: rand}, function(err, obj) { if (obj) { cb(1, null); } else { object.vs = rand; var create = new Payment(object); create.save(function(err, payment) { cb(err, payment); }); } });
  13. Bad code destroys even great design
  14. What you get with CI, Node.js and Microservices Quick development Easy maintance You can fire admin team (finally) No server downtime
  15. Special slide for business inteligence sitting here
  16. www.ackee.cz Krásní lidé, krásné appky
Advertisement