2. AGENDA
Service Oriented Architectures
Micro-services Architecture
Why it is helpful
Insights about Docker and MEAN Stack
Role of Docker
Demo (Micro-services based MEAN stack application on DOCKER)
3. WHO AM I?
Cloud and DevOps Engineer
DevOps by Profession and developer by
Heart
Blogger (oss-world.blogspot.in)
Linkedin:
https://in.linkedin.com/in/rahulkhengare
7. MONOLITHIC
All functionality is in single process
Macro or single tier application
Resides on single machine
Front end, business logic and data access merged in single code
8. BENEFITS OF MONOLITHIC
Easy to Develop
Easy to Test
Easy to Scale: Just run multiple instances of application on different
servers
Easy Deployment Process (just one war file in case of JAVA)
9. DRAWBACKS OF MONOLITHIC
Manageability of code
Difficult to deploy or rebuild
Stuck with same technology stacks
Scaling of Application
Rigorous testing after change deployment
Application Downtime
10. MICRO-SERVICES
Composed of small, independent, narrowly-focused processes
communicating with each other using language independent APIs
Like UNIX commands, which are designed to do one single thing but can
be piped together to perform some complex operations
Loosely coupled, fine-grained, follows the Single Responsibility Principle
Resource Independent
Netflix, Amazon, LinkedIn, Groupon, PayPal, Airbnb, The Guardian are
using already
14. QUESTIONS??
How to architect my application?
How to manage micro-services locally?
How to ensure latest version of application?
How to deploy them to production?
What technology should I use?
16. WHAT IS DOCKER
Open Source Container Framework
Helps developer or sysadmin to develop, ship, and run distributed
applications
Operating system level virtualization
Container uses kernel features such as CGROUPS, NAMESPACES,
SELINUX, AUFS
Docker images are IMMUTABLE
19. HOW DOCKER HELP
Docker Mission: Build, ship, run any application anywhere
Use as platform for management of application containers
Create a Docker container of your micro-services
Run each micro-service in separate container
Scaling is fun with Docker
Use of Docker compose will stack your micro-service application as
single application
22. ONLINE TEST APP
Docker Host
SERVER
NGINX
Docker
Test functionality
container
MongoDB
container
Security
functionality
container
CLIENT APP
Container
PORT 5000
PORT 80
PORT 5002
PORT 5001
PORT 27017
23. TARGET APPLICATIONS
Not suitable for simple applications
Highly scalable applications
Distributed functionality
24. CHALLENGES
How to break application in micro-services
Unmanageability
Performance about series of dependent services
Learning curve for new developer