The basic concept of Microservies, the architecture of Microservices frameworks, including Mesosphere with Docker and Microsoft Service Fabric, and then some demos, discussion time to share ideas and experiences.
6. MICROSERVICES
Microservices is a software architecture style, in which
complex applications are composed of small,
independent processes communicating with each
other using language-agnostic APIs.
Wikipedia - Microservices
9. MONOLITHS - EXAMPLE
▪ Traditional application architecture
Browser
Load
balancer
Database
http://www.slideshare.net/chris.e.richardson/developing-apps-with-a-microservice-architecture-svforum-microservices-meetup
Developing applications with a microservice architecture / Chris Richardson
StoreFront
UI
Product
Service
Recommendation
Service
Review
Service
Order
Service
10. MICROSERVICES - EXAMPLE
▪ An example of Microservices architecture
Browser
API
Gateway
http://www.slideshare.net/chris.e.richardson/developing-apps-with-a-microservice-architecture-svforum-microservices-meetup
Developing applications with a microservice architecture / Chris Richardson
REST
Product
Service
Recommendation
Service
Review
Service
Order
Service
REST
REST
REST
Web
application
DB
DB
DB
DB
11. LANGUAGE-AGNOSTIC API
▪ You can choose a language for your purpose.
Posts
<<ruby>>
Friends
<<golang>>
Pictures
<<java>>
Building Microservices – Sam Newman
Document
Store
Graph
DB
Blob
store
12. SCALING AND DEPLOYMENT
▪ You can deploy and scale micorservices separately
Instance
1
Instance
2
Instance
3
Instance
1
Instance
2
Instance
3
Instance
4
Instance
5
Instance
6
Instance
1
Instance
2
Posts
friends
pictures
Building Microservices – Sam Newman
13. 3 LEVELS OF MICROSERIVCES
Task
Service
Container
Executed only one time like a command
Live longer than task like a daemon
An instance of a machine image
E.g. Actor, Microsoft Service Fabric
E.g. Service / Microsoft Service Fabric
E.g. Docker container
14. MICROSERVICES
Pros
▪ Small and Simple Application
▪ Scalable
▪ Fault tolerance
▪ Isolation
▪ Multi frameworks
Cons
▪ Complexity of developing a
distributed system
▪ Multiple database
▪ Transaction management
▪ Debug / Test
▪ Deploy and operation
17. WHY MICROSERVICE PLATFORMS ARE IMPORTANT?
Conquer the short comings
Developing
a distributed system
Deploy and Operation
Debug and Test Mesosphere DCOS Microsoft Service Fabric
It makes incredibly easy to develop microservices.
18. MESOSPHERE DCOS
A new kind of operating system that spans all of the
servers in a physical or cloud-based datacenter, and
runs on top of any Linux distribution.
You can operate cluster as if you use
an os of single machine.
19. DATACENTER OS
Datacenter OS make us possible to operate cluster like
an Operation system.
Cluster
Client
Task execution
Service Deploy /Remove
Up and Running
Scale out / in
Resource Allocation
Task execution
Service
Deploy / Remove
Fault tolerant
Scale out/in
Monitoring
20. TASK EXECUTION
Command execution image
master
slave 1
:
slave 2
slave 3
master: Hey, Does anyone have a resource?
0.5 cpus and 512 mem, please
slave 2: Hi, I have one. I allocate it.
master: Great, lets do it.
slave 2: Done!
tasktask
23. MESOS + MARATHON + DOCKER ON VAGRANT
▪ You can try Mesos cluster for free
Container
Demo
instruction : https://github.com/TsuyoshiUshio/MesosClusterSpyke
Virtual Box
24. PRODUCTS
▪ Apache Mesos (http://mesos.apache.org/)
▪ A distributed systems kernel
▪ Marathon (https://mesosphere.github.io/marathon/)
▪ A cluster-wide init and control system for
▪ Apache ZooKeeper (https://zookeeper.apache.org/)
▪ An open-source server which enables highly reliable distributed cordination
▪ Docker (https://www.docker.com/)
▪ An open platform for developers and sysadmins to build , ship, and run distributed
applications.
25. GET STARTED
▪ Mesosphere DCOS beta/alpha on AWS and Azure
▪ Mesos + Docker cluster on Vagrant
https://docs.mesosphere.com/getting-started/
https://github.com/TsuyoshiUshio/MesosClusterSpyke
27. SERVICE FABRIC AS A MICROSERVICES PLATFORM
▪ Easy to develop
▪ Cluster Orchestration
▪ Fault tolerance
▪ Resource Balancing
▪ Rolling update / rollback
Azure SQL Database
Azure Document DB
Skype for Business
:
Microsoft uses this platform in production for years
28. DEMO CLUSTER IMAGE
It will be automatically created by Service Fabric.
Node 1
Node 2 Node 3
Node 4 Node 5
P 1
S 1
S 1
P 2
S 2
S 2 P 3
S 3
S 3
P 4S 4
S 4
P n
S n
Primary
Secondary
State share
State share
30. GET STARTED
Set up your Service Fabric development environment
https://azure.microsoft.com/en-us/documentation/articles/service-fabric-get-started
Visual Studio 2015 RC + Service Fabric SDK Service Fabric Explorer
32. MISSION #1 FORM A TEAM
▪ Form a team which includes 3 – 4 members.
▪ Self introduction
▪ Share your favorite thing
3 min
33. MISSION #2 MICROSERVICES DISCUSSION
▪ Choose a subject from these listed below
▪ What would it change your working environment?
▪ What would it change your services / world?
▪ What would you want to do after going back you
workplace?
Tweet your ideas on Twitter!
Hashtag #DevDayDaNang2015 #EML
#<team name>
10 min
35. Thank you very much indeed.
I hope you enjoy it!
Tsuyoshi Ushio
wikipedia
36. REFERENCE
Mesosphere tutorials
http://open.mesosphere.com/tutorials/
Running Docker Containers on Marathon
https://mesosphere.github.io/marathon/docs/native-docker.html#bridged-networking-
mode
If you want to know about Service Fabric architcture
http://channel9.msdn.com/events/Ignite/2015/BRK3485
Deploy a Mesos Cluster with 7 Commands Using Docker
https://medium.com/@gargar454/deploy-a-mesos-cluster-with-7-commands-
using-docker-57951e020586
Building Microservices – Sam Newman
Microservices
http://martinfowler.com/articles/microservices.html