SlideShare une entreprise Scribd logo
1  sur  28
Trends in platform and application
architectures
Enterprise Apps World, London, June 17th 2014
Matt Robinson
VP Technology
Progress Software
© 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
© 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.co.uk/vmware-vsphere
© 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
© 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-content/uploads/2013/07/Screenshot_from_docker.io_about.png
© 2014 Progress Software Corporation. All rights reserved.10
Leading cloud platforms have used micro-virtualization for years
© 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
© 2014 Progress Software Corporation. All rights reserved.12
Recommended reading
VMs -- The New Infrastructure Anachronism
Simon Crosby
© 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/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/
© 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
© 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.)
© 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
© 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
© 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
© 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
© 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
© 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
Developers
Source: http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/
© 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/
© 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
© 2014 Progress Software Corporation. All rights reserved.27
Recommended reading
Node.js and the new web front-end
Nicholas Zakas
Matt Robinson
marobins@progress.com
@mattrobinson140

Contenu connexe

Dernier

JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 

Dernier (20)

JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 

En vedette

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 

En vedette (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

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

  • 1. Trends in platform and application architectures Enterprise Apps World, London, June 17th 2014 Matt Robinson VP Technology Progress Software
  • 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. © 2014 Progress Software Corporation. All rights reserved.3 Micro-virtualization
  • 4. © 2014 Progress Software Corporation. All rights reserved.4 Benefits of Virtualization Image from: https://www.chilli-it.co.uk/vmware-vsphere
  • 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. © 2014 Progress Software Corporation. All rights reserved.6 Virtualization led to Infrastructure as a Service (IaaS)
  • 7. © 2014 Progress Software Corporation. All rights reserved.7 The virtualization model has been squeezed
  • 8. © 2014 Progress Software Corporation. All rights reserved.8 Micro-virtualization
  • 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. © 2014 Progress Software Corporation. All rights reserved.10 Leading cloud platforms have used micro-virtualization for years
  • 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. © 2014 Progress Software Corporation. All rights reserved.12 Recommended reading VMs -- The New Infrastructure Anachronism Simon Crosby
  • 13. © 2014 Progress Software Corporation. All rights reserved.13 Node.js and API-first architectures
  • 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 2014 Progress Software Corporation. All rights reserved.22 Recommended reading The Business Case for Node.js Joe McCann
  • 23. © 2014 Progress Software Corporation. All rights reserved.23 Dedicated UI backends
  • 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. © 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. © 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. © 2014 Progress Software Corporation. All rights reserved.27 Recommended reading Node.js and the new web front-end Nicholas Zakas

Notes de l'éditeur

  1. “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.
  2. 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.
  3. 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.”
  4. “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.”