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
“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.”