Trends in platform and application
architectures
Enterprise Apps World, London, June 17th 2014
Matt Robinson
VP Technology...
© 2014 Progress Software Corporation. All rights reserved.2
Three trends
Application containers
LXC, Docker and the move t...
© 2014 Progress Software Corporation. All rights reserved.3
Micro-virtualization
© 2014 Progress Software Corporation. All rights reserved.4
Benefits of Virtualization
Image from: https://www.chilli-it.c...
© 2014 Progress Software Corporation. All rights reserved.5
Image from: http://www.virtualizemydc.ca/wp-content/uploads/20...
© 2014 Progress Software Corporation. All rights reserved.6
Virtualization led to Infrastructure as a Service (IaaS)
© 2014 Progress Software Corporation. All rights reserved.7
The virtualization model has been squeezed
© 2014 Progress Software Corporation. All rights reserved.8
Micro-virtualization
© 2014 Progress Software Corporation. All rights reserved.9
Micro-virtualization
Image from: http://blog.trifork.com/wp-co...
© 2014 Progress Software Corporation. All rights reserved.10
Leading cloud platforms have used micro-virtualization for ye...
© 2014 Progress Software Corporation. All rights reserved.11
Analyst recommendation
"Organizations looking to simplify app...
© 2014 Progress Software Corporation. All rights reserved.12
Recommended reading
VMs -- The New Infrastructure Anachronism...
© 2014 Progress Software Corporation. All rights reserved.13
Node.js and API-first architectures
© 2014 Progress Software Corporation. All rights reserved.14
JavaScript is growing fast
Sources: http://www.sitepoint.com/...
© 2014 Progress Software Corporation. All rights reserved.15
What Is Node.js?
Node.js is a server-side runtime
that compil...
© 2014 Progress Software Corporation. All rights reserved.16
JavaScript is now a full-stack language
Source: http://www.to...
© 2014 Progress Software Corporation. All rights reserved.17
Key JavaScript and Node.js Takeaways
• JavaScript usage is gr...
© 2014 Progress Software Corporation. All rights reserved.18
Node.js encourages modularized, API-first architectures
1. Wr...
© 2014 Progress Software Corporation. All rights reserved.19
Node.js is a good fit for container-based deployment
VM-1
…
D...
© 2014 Progress Software Corporation. All rights reserved.20
Node.js is a good fit for container-based deployment
VM-1
…
D...
© 2014 Progress Software Corporation. All rights reserved.21
Node Adoption
“Velocity was the key driving point for PayPal'...
© 2014 Progress Software Corporation. All rights reserved.22
Recommended reading
The Business Case for Node.js
Joe McCann
© 2014 Progress Software Corporation. All rights reserved.23
Dedicated UI backends
© 2014 Progress Software Corporation. All rights reserved.24
Traditional web architecture
Frontend
Developers
Backend
Deve...
© 2014 Progress Software Corporation. All rights reserved.25
Modern web architecture
Frontend
Developers
Backend
Developer...
© 2014 Progress Software Corporation. All rights reserved.26
Liberate the back-end UI layer from the rest of the back-end
...
© 2014 Progress Software Corporation. All rights reserved.27
Recommended reading
Node.js and the new web front-end
Nichola...
Matt Robinson
marobins@progress.com
@mattrobinson140
Upcoming SlideShare
Loading in …5
×

Trends in platform and application architectures (Enterprise Apps World, London, June 17th 2014)

1,881 views

Published on

Virtual machine technology revolutionized the use of infrastructure. Hypervisors are at the heart of today's leading infrastructure as a service (IaaS) offerings and are a core component of IaaS platforms. VMs are here for the long term but they are no longer a panacea for virtualization. We have squeezed all of the optimizations out of them and IaaS providers have been in price wars ever since. New container-based technology such as Docker, based on LXC (LinuX Containers), represents a more efficient model than traditional hypervisor virtualization and is poised for massive growth. This will change the way cloud platforms are architected, used, and sold, and how applications are deployed.

Containers are well suited for modular API-first architectures in which purpose-built components can be provisioned and scaled on an as-needed basis. Node.js is a rapidly emerging server-side JavaScript technology that encourages a modular design. It also encourages a natural separation of the backend UI layer from the backend business logic of a modern web architecture, allowing frontend developers and backend developers to focus on what they do best in the languages and frameworks of their choice.

Attendees of this session will learn about:
Application Containers: Docker, LXC and the move toward micro-virtualization
Modules: The rise of Node.js and API-first architectures
UI Freedom: Separating the UI backend from the data backend

Published in: Software, Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,881
On SlideShare
0
From Embeds
0
Number of Embeds
72
Actions
Shares
0
Downloads
33
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • “PayPal built a Node.js version of a Java app in parallel and found that they were able to build the app to the same spec in half the time with fewer developers” – Joe McCann, The Node Firm

    Many companies are finding that recruiting and retaining developer talent is easier because developers are excited to use Node.
  • In a traditional web architecture the front-end is the browser and everything else is the backend. That’s pretty much how it was until very recently.

    This relegates UI engineers to an inferior role; they don’t have control over how information is delivered to them, the entire flow of the user experience backend is not in their hands.

    As the importance of user experience has risen, front-end specialists are one of the most sought after candidates in the world. We need to give them control to over the entire front-end which means given them control over the backend layer that powers the user experience.
  • Node is a great fit for this.

    “It liberates the back-end UI layer from the rest of the back-end. “

    “With a lot of companies moving towards service-oriented architectures and RESTful interfaces, it now becomes feasible to split the back-end UI layer out into its own server. ”

    “If all of an application’s key business logic is encapsulated in REST calls, then all you really need is the ability to make REST calls to build that application. Do back-end engineers care about how users travel from page to page? Do they care whether or not navigation is done using Ajax or with full page refreshes? Do they care whether you’re using jQuery or YUI? Generally, not at all. What they do care about is that data is stored, retrieved, and manipulated in a safe, consistent way.”

  • “Node.js gives front-end engineers the ability to wholly control the UI layer (front-end and back-end), which is something that allows us to do our jobs more effectively. We know best how to output a quality front-end experience and care very little about how the back-end goes about processing its data. Tell us how to get the data we need and how to tell the business logic what to do with the data, and we are able to craft beautiful, performant, accessible interfaces that customers will love.”

    “Using Node.js for the back-end UI layer also frees up the back-end engineers from worrying about a whole host of problems in which they have no concerns or vested interest. We can get to a web application development panacea: where front-end and back-end only speak to each other in data, allowing rapid iteration of both without affecting the other so long as the RESTful interfaces remain intact.”
  • Trends in platform and application architectures (Enterprise Apps World, London, June 17th 2014)

    1. 1. Trends in platform and application architectures Enterprise Apps World, London, June 17th 2014 Matt Robinson VP Technology Progress Software
    2. 2. © 2014 Progress Software Corporation. All rights reserved.2 Three trends Application containers LXC, Docker and the move toward micro-virtualization Modules The rise of Node.js and API-first architectures UI Freedom Separating the UI backend from the data backend
    3. 3. © 2014 Progress Software Corporation. All rights reserved.3 Micro-virtualization
    4. 4. © 2014 Progress Software Corporation. All rights reserved.4 Benefits of Virtualization Image from: https://www.chilli-it.co.uk/vmware-vsphere
    5. 5. © 2014 Progress Software Corporation. All rights reserved.5 Image from: http://www.virtualizemydc.ca/wp-content/uploads/2013/10/vm_11.gif Benefits of Virtualization
    6. 6. © 2014 Progress Software Corporation. All rights reserved.6 Virtualization led to Infrastructure as a Service (IaaS)
    7. 7. © 2014 Progress Software Corporation. All rights reserved.7 The virtualization model has been squeezed
    8. 8. © 2014 Progress Software Corporation. All rights reserved.8 Micro-virtualization
    9. 9. © 2014 Progress Software Corporation. All rights reserved.9 Micro-virtualization Image from: http://blog.trifork.com/wp-content/uploads/2013/07/Screenshot_from_docker.io_about.png
    10. 10. © 2014 Progress Software Corporation. All rights reserved.10 Leading cloud platforms have used micro-virtualization for years
    11. 11. © 2014 Progress Software Corporation. All rights reserved.11 Analyst recommendation "Organizations looking to simplify application deployment and improve operational efficiency and infrastructure utilization should consider standardized containerization approaches such as Docker.” Al Hilwa, IDC
    12. 12. © 2014 Progress Software Corporation. All rights reserved.12 Recommended reading VMs -- The New Infrastructure Anachronism Simon Crosby
    13. 13. © 2014 Progress Software Corporation. All rights reserved.13 Node.js and API-first architectures
    14. 14. © 2014 Progress Software Corporation. All rights reserved.14 JavaScript is growing fast Sources: http://www.sitepoint.com/best-programming-language-of-2013/ http://redmonk.com/jgovernor/2013/11/01/one-chart-that-tells-you-everything-you-need-to-know-about-github-going-mainstream/
    15. 15. © 2014 Progress Software Corporation. All rights reserved.15 What Is Node.js? Node.js is a server-side runtime that compiles and executes JavaScript at high speeds
    16. 16. © 2014 Progress Software Corporation. All rights reserved.16 JavaScript is now a full-stack language Source: http://www.toptal.com/javascript/guide-to-full-stack-javascript-initjs JavaScript Frontend (jQuery, Boostrap, Angular.js, Backbone, Marionette, etc.) JavaScript Backend (Node.js, Express, Socket.io, Mongoose, etc.) JavaScript Database (NoSQL databases with JSON such as MongoDB, CouchDB, etc.)
    17. 17. © 2014 Progress Software Corporation. All rights reserved.17 Key JavaScript and Node.js Takeaways • JavaScript usage is growing faster than any other language • JavaScript is a ubiquitous language, well known by millions of developers • Using Node.js, JavaScript is a fully-functional programming language • Using Node.js, JavaScript is a full stack language • Node.js has a fast-growing community and ecosystem • Node.js is well-suited for APIs • Node.js is well-suited for real-time, data-intensive apps • Node.js is well-suited for IoT, wearables, and emergent devices
    18. 18. © 2014 Progress Software Corporation. All rights reserved.18 Node.js encourages modularized, API-first architectures 1. Write lots of tiny apps: Instead of putting a lot of logic into a single process, separate functionality into smaller independent components that talk to each other via APIs. 2. Fine-grained scalability and failover: By writing lots of tiny API-first apps, you can independently scale out each functional component and gracefully fail-over when one instance goes down or crashes. 3. Clean, extensible design: An API-based network boundary between functional components forces you to make state very explicit. Reference: http://www.quora.com/What-are-some-best-architecture-practices-when-designing-a-nodejs-system
    19. 19. © 2014 Progress Software Corporation. All rights reserved.19 Node.js is a good fit for container-based deployment VM-1 … Docker Node.js Containers VM-2 Docker VM-3 Docker Node.js Containers VM-X Docker VM-4 Docker Node.js Containers OpenStack ComputeModulus Enterprise Admin Modulus deploys Node.js applications to a dynamic set of virtual containers across a dynamic set of VMs and load balances requests across them. Failover and auto-recovery are built into the platform. Node.js Containers Node.js Containers
    20. 20. © 2014 Progress Software Corporation. All rights reserved.20 Node.js is a good fit for container-based deployment VM-1 … Docker Node.js Containers VM-2 Docker VM-3 Docker Node.js Containers VM-X Docker VM-4 Docker Node.js Containers OpenStack ComputeModulus Enterprise Admin Modulus deploys Node.js applications to a dynamic set of virtual containers across a dynamic set of VMs and load balances requests across them. Failover and auto-recovery are built into the platform. Node.js Containers Node.js Containers Deploy, load balance, failover, auto-recover
    21. 21. © 2014 Progress Software Corporation. All rights reserved.21 Node Adoption “Velocity was the key driving point for PayPal's move to Node.js. We found it enabled a huge boost to our workflow allowing us to iterate faster and innovate more.” –Jeff Harrel, Director of User Interface Engineering
    22. 22. © 2014 Progress Software Corporation. All rights reserved.22 Recommended reading The Business Case for Node.js Joe McCann
    23. 23. © 2014 Progress Software Corporation. All rights reserved.23 Dedicated UI backends
    24. 24. © 2014 Progress Software Corporation. All rights reserved.24 Traditional web architecture Frontend Developers Backend Developers Source: http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/
    25. 25. © 2014 Progress Software Corporation. All rights reserved.25 Modern web architecture Frontend Developers Backend Developers Source: http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/
    26. 26. © 2014 Progress Software Corporation. All rights reserved.26 Liberate the back-end UI layer from the rest of the back-end "The needs of the front-end are fundamentally different than the needs of the back-end. …It seems almost silly that we didn’t have this separation before… Except before, Node.js didn’t exist.” Nicholas Zakas
    27. 27. © 2014 Progress Software Corporation. All rights reserved.27 Recommended reading Node.js and the new web front-end Nicholas Zakas
    28. 28. Matt Robinson marobins@progress.com @mattrobinson140

    ×