Building Scalable Web Apps
using Microservices Architecture
and NodeJS inside AWS Lambda
Eugene Istrati, Mitoc Group
Web App Challenges
Everything Fails
Everything Fails
• on weekends, when you’re having
couple of drinks with friends
• on vacation, when you’re enjoying
quality time with entire family
Vacation? Let’s Pray!
About
Eugene Istrati
• eugene@mitocgroup.com
• Partner @ Mitoc Group
• 15+ years in IT; 7+ years on AWS
• AWS Certified Solution Architect
• Companies: Hearst, Amazon,
GruHub, Tenaris (Europe)
Mitoc Group
• www.mitocgroup.com
• Technology Company focusing on
Innovative Enterprise Solutions
• AWS Technology Partner
• Featured AWS Lambda Partner
• Media & Publishing Vertical
Agenda
• Serverless Computing
• Microservices Architecture
• Demo: Scalable Web App
• Q&A + Next Steps
What is Serverless?
Not involving a server; composed only of clients.
http://www.wordsense.eu/serverless
Serverless doesn’t mean servers are no longer
involved. It simply means that developers no
longer have to think "that much" about them.
Computing resources get used as services
without having to manage around physical
capacities or limits.
https://www.quora.com/What-is-Serverless-Computing
What is Serverless?
Serverless Options
Storage DatabaseNetwork
Compute Content DeliveryMessaging and QueuesSecurity
Gateways
User Management Monitoring & Logging
Internet of Things
Machine Learning
Streaming Analytics
Do It Yourself on AWS
Do It Yourself:
https://blog.mitocgroup.com/how-to-create-
serverless-environments-on-aws-8485ae039765
and
https://www.youtube.com/playlist?list=PLPGfD-
tGOl7sr6R9fZjNp3-qwWIxiShT5
Agenda
• Serverless Computing
• Microservices Architecture
• Demo: Scalable Web App
• Q&A + Next Steps
What is Microservices?
In computing, microservices is a software
architecture style in which complex applications
are composed of small, independent processes
communicating with each other using language-
agnostic APIs. These services are small, highly
decoupled and focus on doing a small task,
facilitating a modular approach to system-building.
https://en.wikipedia.org/wiki/Microservices
Term: Microservices
Agenda
• Serverless Computing
• Microservices Architecture
• Demo: Scalable Web App
• Q&A + Next Steps
Demo: Scalable Web App
www.deep.mg
www.adtechmedia.io
Demo: todo.deep.mg
• Inspired from open source
• www.todomvc.com
• Go to the GitHub repository
• github.com/MitocGroup/dee
p-microservices-todomvc
• Follow the steps from Getting
Started to build and deploy
• todo.deep.mg
DEEP Framework
DEEP Framework is a full-stack JavaScript
framework, core component of the Platform-as-a-
Service that abstracts web apps and web services
from specific cloud providers. This framework
enables developers build cloud-native applications
or platforms using microservices architecture in a
completely serverless approach
https://github.com/MitocGroup/deep-framework
Agenda
• Serverless Computing
• Microservices Architecture
• Demo: Scalable Web App
• Q&A + Next Steps
Q&A + Next Steps
github.com/MitocGroup blog.mitocgroup.com
Thanks: Abbey from The Linux Foundation
Hosting Team from Node.js Interactive
slideshare.net/MitocGroup
Credits & Thanks
• Slide 2: Web Applications Challenges
• https://i.stack.imgur.com/qvFJW.png
• http://www.blog.usefulfreetips.com/wp-
content/uploads/2010/05/google_server_error_502.gif
• https://gigaom.com/wp-content/uploads/sites/1/2011/11/5151041232_676410f62d_z.jpg
Thank you!
The End :-)

Building Scalable Web Applications using Microservices Architecture and NodeJS inside AWS Lambda

  • 1.
    Building Scalable WebApps using Microservices Architecture and NodeJS inside AWS Lambda Eugene Istrati, Mitoc Group
  • 2.
  • 3.
  • 4.
    Everything Fails • onweekends, when you’re having couple of drinks with friends • on vacation, when you’re enjoying quality time with entire family
  • 5.
  • 6.
    About Eugene Istrati • eugene@mitocgroup.com •Partner @ Mitoc Group • 15+ years in IT; 7+ years on AWS • AWS Certified Solution Architect • Companies: Hearst, Amazon, GruHub, Tenaris (Europe) Mitoc Group • www.mitocgroup.com • Technology Company focusing on Innovative Enterprise Solutions • AWS Technology Partner • Featured AWS Lambda Partner • Media & Publishing Vertical
  • 7.
    Agenda • Serverless Computing •Microservices Architecture • Demo: Scalable Web App • Q&A + Next Steps
  • 8.
    What is Serverless? Notinvolving a server; composed only of clients. http://www.wordsense.eu/serverless Serverless doesn’t mean servers are no longer involved. It simply means that developers no longer have to think "that much" about them. Computing resources get used as services without having to manage around physical capacities or limits. https://www.quora.com/What-is-Serverless-Computing
  • 9.
  • 10.
    Serverless Options Storage DatabaseNetwork ComputeContent DeliveryMessaging and QueuesSecurity Gateways User Management Monitoring & Logging Internet of Things Machine Learning Streaming Analytics
  • 11.
    Do It Yourselfon AWS Do It Yourself: https://blog.mitocgroup.com/how-to-create- serverless-environments-on-aws-8485ae039765 and https://www.youtube.com/playlist?list=PLPGfD- tGOl7sr6R9fZjNp3-qwWIxiShT5
  • 12.
    Agenda • Serverless Computing •Microservices Architecture • Demo: Scalable Web App • Q&A + Next Steps
  • 13.
    What is Microservices? Incomputing, microservices is a software architecture style in which complex applications are composed of small, independent processes communicating with each other using language- agnostic APIs. These services are small, highly decoupled and focus on doing a small task, facilitating a modular approach to system-building. https://en.wikipedia.org/wiki/Microservices
  • 14.
  • 15.
    Agenda • Serverless Computing •Microservices Architecture • Demo: Scalable Web App • Q&A + Next Steps
  • 16.
    Demo: Scalable WebApp www.deep.mg www.adtechmedia.io
  • 17.
    Demo: todo.deep.mg • Inspiredfrom open source • www.todomvc.com • Go to the GitHub repository • github.com/MitocGroup/dee p-microservices-todomvc • Follow the steps from Getting Started to build and deploy • todo.deep.mg
  • 18.
    DEEP Framework DEEP Frameworkis a full-stack JavaScript framework, core component of the Platform-as-a- Service that abstracts web apps and web services from specific cloud providers. This framework enables developers build cloud-native applications or platforms using microservices architecture in a completely serverless approach https://github.com/MitocGroup/deep-framework
  • 19.
    Agenda • Serverless Computing •Microservices Architecture • Demo: Scalable Web App • Q&A + Next Steps
  • 20.
    Q&A + NextSteps github.com/MitocGroup blog.mitocgroup.com Thanks: Abbey from The Linux Foundation Hosting Team from Node.js Interactive slideshare.net/MitocGroup
  • 21.
    Credits & Thanks •Slide 2: Web Applications Challenges • https://i.stack.imgur.com/qvFJW.png • http://www.blog.usefulfreetips.com/wp- content/uploads/2010/05/google_server_error_502.gif • https://gigaom.com/wp-content/uploads/sites/1/2011/11/5151041232_676410f62d_z.jpg
  • 22.

Editor's Notes

  • #2 Hello everybody and welcome! Thank you for taking the time to attend this session. I feel very humble and honored to be here today to talk about building scalable web applications using microservices architecture and serverless computing from AWS.
  • #3 The fundamental goal of every web application is to be up and running 24/7. But it’s a huge challenge to do it at scale. Failures can happen to anyone, even the big guys. No name calling today.
  • #4 To quote Amazon.com CTO Werner Vogels: Everything fails, all the time.
  • #5 And my two cents: I don’t know about you guys, but in my experience, it usually doesn’t happen during business hours, when you are in front of your computer.
  • #6 And yes, we didn’t literally do it, but we were close to do it.
  • #7 My name is Eugene Istrati. I’m the Technology Partner at Mitoc Group. This slide describes a little bit about myself and my company. I am planning to speak from our experience and share some of our knowledge.
  • #8 My goal today is to explain as much as I can serverless computing, microservices architecture and show case some real life examples.
  • #9 Let’s start with serverless concept. What does serverless mean? Intuitively, there should be something that involves “no servers”. Yes, to be precise, we as developers don’t need to deal with servers and all associated operations to keep them up and running at scale. Instead, we are getting abstracted services that are highly secure and highly available, pre-provisioned and pre-scaled.
  • #10 But my favorite explanation is by Netflix former Chief Architect, Adrian Cockcroft: If your PaaS can efficiently start instances in 20ms that run for half a second, then call it serverless.
  • #11 AWS offers a large variety of serverless options. To emphasize how big this is, please raise your hand if you’re using Amazon S3. Now look around.
  • #12 This is a blogpost that we’ve published last year on how to do it yourself serverless on AWS.
  • #13 Now, we have a lot to digest around serverless concept, so why do we need another concept, like microservices?
  • #14 To understand why, let’s see what does microservices mean. In a nutshell, it is an architectural pattern that can be applied almost anywhere, either we are talking about infrastructure, or platform, or application. Think of it like a shredder for software, that makes from complex into simple and from difficult into easy. If it’s software driven, it could be designed as microservices.
  • #15 Microservices architecture is the new trend that makes all of us really curious and very excited. That is why it’s so surprising that 2 years ago microservices as a term almost didn’t exist, according to Google Trends.
  • #16 Finally, let’s get to the demo.
  • #17 I would like to demo the more complex application like www.adtechmedia.io that uses a dozen of cloud services and hundreds of microservices. But I lack enough time, so I’ll show smaller, but still relevant one.
  • #18 todo.deep.mg, inspired from todomvc.com and open-sourced on github. I will follow the instructions from README, Getting Started section.
  • #19 Last, but not the least, I’d like to call out DEEP Framework – full-stack JavaScript framework for building scalable and cloud-native web applications. Check it out on Github.
  • #20 And that is all for today.
  • #21 Before jumping to Q&A, I would like to thank Abbey from The Linux Foundation. And open to questions if there are any.