Codebase = One codebase tracked in revision control, many deploys - SVN
Dependencies = Explicitly declare and isolate dependencies - pom.xml
Config = Store config in the environment - DEV ,FET , ACC
Backing services = Treat backing services as attached resources
Build, release, run = Strictly separate build and run stages
Processes = Execute the app as one or more stateless processes
Port binding = Export services via port binding
Concurrency = Scale out via the process model
Disposability = Maximize robustness with fast startup and graceful shutdown
Dev/prod parity = Keep development, staging, and production as similar as possibe
Logs = Treat logs as event streams
Admin processes = Run admin/management tasks as one-off processes
Service Registry using Eureka
Client Side load balancer - Ribbon
Fault Tolerance - Hystrix
Feign Client- Easy Intergartion
Router and ZUUL - Cross Cutting Concerns
Distributed Tracking - Sluth and Zipkin
Spring Cloud BUS
Spring Cloud Config