Scalable applications are by nature resource intensive, expensive to build and difficult to manage. What if we can change this perception and help developers design full-stack applications that are low cost and low maintenance? This session describes the underlying architecture behind www.deep.mg, the microservices marketplace built by Mitoc Group using AngularJS, NodeJS and powered by abstracted services like AWS Lambda, Amazon CloudFront, Amazon DynamoDB, and so on.
Eugene Istrati, Technology Partner at Mitoc Group, will dive deep into their approach to microservices architecture using serverless platform from AWS and demonstrate how anyone can use serverless computing to achieve high scalability, high availability, and high performance without huge efforts or expensive resources allocation.
4. Everything Fails
• on weekends, when you’re having
couple of drinks with friends
• on vacation, when you’re enjoying
quality time with entire family
8. 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
11. 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
13. 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
17. 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
18. 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
20. 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
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.
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.
To quote Amazon.com CTO Werner Vogels: Everything fails, all the time.
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.
And yes, we didn’t literally do it, but we were close to do it.
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.
My goal today is to explain as much as I can serverless computing, microservices architecture and show case some real life examples.
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.
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.
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.
This is a blogpost that we’ve published last year on how to do it yourself serverless on AWS.
Now, we have a lot to digest around serverless concept, so why do we need another concept, like microservices?
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.
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.
Finally, let’s get to the demo.
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.
todo.deep.mg, inspired from todomvc.com and open-sourced on github. I will follow the instructions from README, Getting Started section.
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.
And that is all for today.
Before jumping to Q&A, I would like to thank Abbey from The Linux Foundation. And open to questions if there are any.