13. Common Modern IT Challenges
Integrate SaaS Apps
Customer and Partner
Access
Enable Customer Facing
Apps via Many Channels
Extend Legacy Apps
IoT Devices and
Architectures
Data Access for
Business Users
21. Agile Manifesto
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
24. Agile Manifesto
Individuals and interactions =>
Focus on Teams and Interactions
APIs, Pipelines, Traffic Patterns, Interdependencies are
the new subject of discourse
25. Agile Manifesto
Working software =>
24/7 Infrastructure
Rock solid deployment, testing and roll out processes,
global coordination around Dev/Test/Prod
26. Agile Manifesto
Customer collaboration =>
Alignment with overall business goals
Company strategic and technical goals drive the
roadmap, balance between short and long term goals
27. Agile Manifesto
Responding to change =>
Capacity to respond to real-time change
Having the capability adjust capacity, failover, combine
APIs in different ways to react with speed
29. • Codebase: One codebase tracked in revision
control, many deploys
• Dependencies: Explicitly declare and isolate
dependencies
• Configuration: Store configuration in the
environment
• 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 possible
• Logs: Treat logs as event streams
• Admin processes: Run admin/management
tasks as one-off processes
Focus on how to build a single (Micro)Service
Example: 12 Factor Apps
Heroku / 12 Factor App Model