SlideShare a Scribd company logo
BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF
HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH
The Big Five
IT Architektur Today
Anatole Tresch, Principal Consultant AD-ZH
anatole.tresch@trivadis.com
Twitter: @atsticks
Agenda
1. Introduction
2. The Big "Five"
Microservices and Container
Cloud and DevOps
Big Data
IoT
Artifial Intelligence
3. And in practice?
The good old times…
Schwarzwaldgipfel3 22.03.2018
• Requirements
• Specification
• Implementation
• Operations
• Maintenance
-> Clear targets
-> Long term and relatively stable
…and as of today?
Schwarzwaldgipfel4 22.03.2018
• New, complex requirements
• Increased flexibility
• Functional
• Time wise
• Multi device support
• Truely distributed systems
• Exploding Complexity and maintenance efforts
• 24x7 world-wide operations
We need new concepts!
Schwarzwaldgipfel6 22.03.2018
The «Big Five»
Microservices
Schwarzwaldgipfel7 22.03.2018
• Unix-Philosophy: „Do One Thing and Do It Well“
• Bounded Context
• APIs encapsulate implementation details
• Isolation
• Decentralized and horizontally scalable
• Failure tolerance
Advantages of Microservices
Schwarzwaldgipfel8 22.03.2018
• Independent teams -> Scaling the development process, enable agility
• Easy to adapt or replace
• Stable architecture
• Long term productivity in development
• Independent scalable
• Emracing with failures of other services rendering the system as a whole stable
• Continuous Delivery
• Managed and flexible Technology stack
Disadvantages of Microservices
Schwarzwaldgipfel9 22.03.2018
• Exposed Complexity
• Network-Latencies, Load balancing or network failures
• Increased failure probability for the system as a whole
• Complex software distribution and rollback
• High efforts for migrating legacy systems towards MS
• Logging and Monitoring
• Different Time zones
• CAP-Theorem (Availability vs. Consistency)
• Multiple programming languages and software stacks
Container
Schwarzwaldgipfel10 22.03.2018
• OS-Virtualization
• Process-Isolation, shared kernel
• Virtual Runtime environment (no additional OS)
• Layered file systems
• Container registries
Advantages of Containers
Schwarzwaldgipfel11 22.03.2018
• Portability
• Efficient ressource consumption (CPU, RAM, FS)
• Restartability, simple recovery
• Simply resettable
• Full runtime isolation incl. dependencies
Disadvantages of Containers
Schwarzwaldgipfel12 22.03.2018
• Kernel isolation is complex
• Update of multiple containers in case of issues/upgrades
• Many configuration options may lead to errors (eg privileged containers)
• Quality of container registries
Cloud
Schwarzwaldgipfel13 22.03.2018
• Services providing IT-Infrastructure eg
Storage, CPU or
application software
• Network access without local installation
• IaaS
• PaaS
• SaaS
• FaaS
Cloud Characterics
Schwarzwaldgipfel14 22.03.2018
• On-demand Self-Service
• Broad network access
• Resource Pooling
• Fast elasticity
• Controlled and measured resource consumption
• Variety of cost models
Cloud Delivery Models
Schwarzwaldgipfel15 22.03.2018
• Public Cloud
• Private Cloud
• Hybrid Cloud
• Community Cloud
• Virtual Private Cloud
• Multi Cloud
DevOps
Schwarzwaldgipfel16 22.03.2018
• Improving the development and
delivery processes for software
• Incentives and tools for more effective
and efficient collaboration of
Dev, Ops and
Quality Control
DevOps in Practice
Schwarzwaldgipfel17 22.03.2018
• Automation of processes with CI- and CD-Tools as „Deployment Pipeline“:
• Code – Development and review, version control and merging/branching
• Build – Continuous-Integration-Tools, Build Status
• Test – Static code analysis and dynamic tests
• Package – Packing into a binary formatted deliverable
• Release – Change Management, Promoting and publishing of releases
• Configure – Configuration / System Management tools
• Monitoring – Application performance, Customer feedback
• Common Tools: Docker, Jenkins, Ansible, Puppet
BigData
Schwarzwaldgipfel18 22.03.2018
• Amount of data, which is
• too big,
• too complex,
• too volatile or
• too unstructured
So it cannot be handled with traditional
methods of data processing.
BigData – «Big»
Schwarzwaldgipfel19 22.03.2018
• Volume
Amount, volume
• Velocity
Speed at which data is generated or transferred
• Variety
Different data types and -sources
BigData – «Data»
Schwarzwaldgipfel20 22.03.2018
• Improvements of bussiness processes in all areas, especially in
• Technology evolution and information technology
• Marketing
• Distribution and service optimization
• Trend research and detection
• Prognosis
IoT
Schwarzwaldgipfel21 22.03.2018
• Internet of Things
• Vision of a global infrastructure
of information societies
• Linking of physical and virtual things
based on information and communication
technology
• Applicable to all areas
IoT
Schwarzwaldgipfel22 22.03.2018
Artificial Intelligence
Schwarzwaldgipfel23 22.03.2018
• Automating intelligent behaviour and
machine learning
• What is „intelligent behaviour“ ?
• Key drivers of the digital revolution
• Artificial model of human comparable decision logic
• Often only «fake» intelligence:
• Simulation of „intelligent behaviour“ with simple algorithms
Impact
Schwarzwaldgipfel24 22.03.2018
• Automatisierung intelligenten Verhaltens und
Maschinenlernen
• „Intelligenz“ ?
• Wegweisende Antriebskräfte der Digitalen Revolution
• Nachbildung menschenähnlicher Entscheidungsstrukturen
• Oftmals «nachgeahmte» Intelligenz:
• Simulation „intelligentes Verhalten“ mit einfachen
Algorithmen
And in Practice?
Modern Architecture in Practice
Schwarzwaldgipfel25 22.03.2018
• Multiple Solution Options
• Distribution and separation creates new concerns
• Combination of *old* and *new*
• Challenging traditional concepts
• Cloud Native Know How is rare
Know How Example – Web-Shop for …
Schwarzwaldgipfel26 22.03.2018
• Webshop
• 1 Database
• 1 Business Tier (REST API)
• 1 Frontend
// Add a product
POST /cart/product/123
// View basket
GET /cart
// View products
GET /products
// Place Order
POST /order (with product data)
Know How Example – Web-Shop
Schwarzwaldgipfel27 22.03.2018
• Let’s split up in «Microservices»
• Products API
• Order API
• Cart API
// Place Order
POST /order (with product data)
// View products
GET /products
// Add a product
POST /cart/product/123
// View basket
GET /cart
Service
Service
Service
Know How Example – Web-Shop
Schwarzwaldgipfel28 22.03.2018
• The «Product» Microservice
• REST Service
• Messaging Service
• Datastore Service
• Monitoring Service
// View products
GET /products
Know How Example – Web-Shop
Schwarzwaldgipfel29 22.03.2018
• Final draft Microservice Architecture
-> Wow! We have already 12 microservices!
Products Orders Cart
REST Service REST Service REST Service
Messagebus Messagebus Messagebus
Datastore Datastore Datastore
Monitoring Monitoring Monitoring
Schwarzwaldgipfel30 22.03.2018
What’s the problem?
Sometimes things break…
Schwarzwaldgipfel31 22.03.2018
Schwarzwaldgipfel32 22.03.2018
...sometimes things break as many...
Schwarzwaldgipfel33 22.03.2018
Schwarzwaldgipfel34 22.03.2018
...or they get lost somehow...
Schwarzwaldgipfel35 22.03.2018
Schwarzwaldgipfel36 22.03.2018
...sometimes you even not know...
Schwarzwaldgipfel37 22.03.2018
Schwarzwaldgipfel38 22.03.2018
...and our new toys do not really help...
Schwarzwaldgipfel39 22.03.2018
Schwarzwaldgipfel40 22.03.2018
Schwarzwaldgipfel41 22.03.2018
We need a resilient architecture!
So how we must built our systems to get all the
advantages we have seen but to ensure stable
operations?
Resilient Architecture
Schwarzwaldgipfel
Resilience = Capability of self-healing
MTTF
Availability =
MTTF + MTTR
Resilient Approach:
Minimize MTTR
42 22.03.2018
Service
Service
Input
Service
Service
Managed state
Service Isolation
Schwarzwaldgipfel43 22.03.2018
Isolation
1. Decoupled communications
(Events)
Enough?
Supervision
Going Resilient…45 19.10.16
Service
Input Output
Service
InputOutput
Queue
Error
Error
Handler
Monitoring
Errors
Super
visor
Going Resilient…46 19.10.16
Characteristics of Resilient Systems
• Asynchronous communication
• Idempotente, self-contained events
• Location transparency
• Isolation & recursive restartability
• Complete Input and Output Validation
• Managed Error Handling and Monitoring
• Supervision
• Minimal shared state, redundancy
Going Resilient…47 19.10.16
Resilient Platforms
• Cloud (resilience delegated to cloud provider)
• Orchestration (zB Mesos, Kubernetes, Openshift)
• Software-Containers
In most cases on-premise operations is not recommened.
Mind Cloud-Vendor-Lock-in.
Going Resilient…48 19.10.16
Resilient Software Design
• Bounded Queues
• Fan out & quickest reply
• Circuit Breakers and Fail Fast
• Timeouts
• Throttling, Semaphores
• Failover
• Degradation of service level
DevOps
• DevOps ensure the required flexibilität and agility
• Without DevOps the archicture and systems will stay inflexible
• DevOps Plattforms can be set in production within hours
• Establish collaborative working and accounting mechanisms
• Use PoCs and Pilot projects
Managing Data
• Storage is cheap
• Store data easy accessible and ready for analysis
• Support on-the-fly queries
• Use advantages of no-sql
• Use event driven mechanisms, zB Event-Sourcing nutzen
• Scale in the cloud (Storage and CPU)
Artificial Intelligece
• Still in ist early days
• All services available in the cloud
• Huge impact on many today‘s manual processes to be expected
Schwarzwaldgipfel52 22.03.2018
Summary
Schwarzwaldgipfel53 22.03.2018
…well, basically «only» microservices…
We just wanted a modern architecture…
…ok. Perhaps also some BigData ând IoT,
Cause it’s so cool...
DevOps belongs to the Charta of Human Rights
for developers ;-)
We simply ignore any Legacy-Systems…
A modern Cloud Architecture
Schwarzwaldgipfel54 22.03.2018
1. Scalable
2. Microservices and Container Based
3. Elastic amd Load Balanced
4. Decoupled by APIs
5. With DevOps and Continuous Deployment in Place
6. With a resilient and Failure Tolerant Design
7. Connected
8. Collecting Data
9. Monitored
Schwarzwaldgipfel55 22.03.2018
Schwarzwaldgipfel56 22.03.2018
DANKE
• Fallacies of Distributed Computing:
https://de.wikipedia.org/wiki/Fallacies_of_Distributed_Computing
• 21 DevOps und Docker Reference Architectures:
https://devops.com/21-devops-docker-reference-architectures/
• Cloud Native Computing Foundation:
https://www.cncf.io/
• Docker: http://docker.com
• Openshift: http://openshift.org
Anatole Tresch
Principal Consultant AD-ZH
anatole.tresch@trivadis.com
Twitter: @atsticks

More Related Content

The Gib Five - Modern IT Architecture

  • 1. BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH The Big Five IT Architektur Today Anatole Tresch, Principal Consultant AD-ZH anatole.tresch@trivadis.com Twitter: @atsticks
  • 2. Agenda 1. Introduction 2. The Big "Five" Microservices and Container Cloud and DevOps Big Data IoT Artifial Intelligence 3. And in practice?
  • 3. The good old times… Schwarzwaldgipfel3 22.03.2018 • Requirements • Specification • Implementation • Operations • Maintenance -> Clear targets -> Long term and relatively stable
  • 4. …and as of today? Schwarzwaldgipfel4 22.03.2018 • New, complex requirements • Increased flexibility • Functional • Time wise • Multi device support • Truely distributed systems • Exploding Complexity and maintenance efforts • 24x7 world-wide operations
  • 5. We need new concepts!
  • 7. Microservices Schwarzwaldgipfel7 22.03.2018 • Unix-Philosophy: „Do One Thing and Do It Well“ • Bounded Context • APIs encapsulate implementation details • Isolation • Decentralized and horizontally scalable • Failure tolerance
  • 8. Advantages of Microservices Schwarzwaldgipfel8 22.03.2018 • Independent teams -> Scaling the development process, enable agility • Easy to adapt or replace • Stable architecture • Long term productivity in development • Independent scalable • Emracing with failures of other services rendering the system as a whole stable • Continuous Delivery • Managed and flexible Technology stack
  • 9. Disadvantages of Microservices Schwarzwaldgipfel9 22.03.2018 • Exposed Complexity • Network-Latencies, Load balancing or network failures • Increased failure probability for the system as a whole • Complex software distribution and rollback • High efforts for migrating legacy systems towards MS • Logging and Monitoring • Different Time zones • CAP-Theorem (Availability vs. Consistency) • Multiple programming languages and software stacks
  • 10. Container Schwarzwaldgipfel10 22.03.2018 • OS-Virtualization • Process-Isolation, shared kernel • Virtual Runtime environment (no additional OS) • Layered file systems • Container registries
  • 11. Advantages of Containers Schwarzwaldgipfel11 22.03.2018 • Portability • Efficient ressource consumption (CPU, RAM, FS) • Restartability, simple recovery • Simply resettable • Full runtime isolation incl. dependencies
  • 12. Disadvantages of Containers Schwarzwaldgipfel12 22.03.2018 • Kernel isolation is complex • Update of multiple containers in case of issues/upgrades • Many configuration options may lead to errors (eg privileged containers) • Quality of container registries
  • 13. Cloud Schwarzwaldgipfel13 22.03.2018 • Services providing IT-Infrastructure eg Storage, CPU or application software • Network access without local installation • IaaS • PaaS • SaaS • FaaS
  • 14. Cloud Characterics Schwarzwaldgipfel14 22.03.2018 • On-demand Self-Service • Broad network access • Resource Pooling • Fast elasticity • Controlled and measured resource consumption • Variety of cost models
  • 15. Cloud Delivery Models Schwarzwaldgipfel15 22.03.2018 • Public Cloud • Private Cloud • Hybrid Cloud • Community Cloud • Virtual Private Cloud • Multi Cloud
  • 16. DevOps Schwarzwaldgipfel16 22.03.2018 • Improving the development and delivery processes for software • Incentives and tools for more effective and efficient collaboration of Dev, Ops and Quality Control
  • 17. DevOps in Practice Schwarzwaldgipfel17 22.03.2018 • Automation of processes with CI- and CD-Tools as „Deployment Pipeline“: • Code – Development and review, version control and merging/branching • Build – Continuous-Integration-Tools, Build Status • Test – Static code analysis and dynamic tests • Package – Packing into a binary formatted deliverable • Release – Change Management, Promoting and publishing of releases • Configure – Configuration / System Management tools • Monitoring – Application performance, Customer feedback • Common Tools: Docker, Jenkins, Ansible, Puppet
  • 18. BigData Schwarzwaldgipfel18 22.03.2018 • Amount of data, which is • too big, • too complex, • too volatile or • too unstructured So it cannot be handled with traditional methods of data processing.
  • 19. BigData – «Big» Schwarzwaldgipfel19 22.03.2018 • Volume Amount, volume • Velocity Speed at which data is generated or transferred • Variety Different data types and -sources
  • 20. BigData – «Data» Schwarzwaldgipfel20 22.03.2018 • Improvements of bussiness processes in all areas, especially in • Technology evolution and information technology • Marketing • Distribution and service optimization • Trend research and detection • Prognosis
  • 21. IoT Schwarzwaldgipfel21 22.03.2018 • Internet of Things • Vision of a global infrastructure of information societies • Linking of physical and virtual things based on information and communication technology • Applicable to all areas
  • 23. Artificial Intelligence Schwarzwaldgipfel23 22.03.2018 • Automating intelligent behaviour and machine learning • What is „intelligent behaviour“ ? • Key drivers of the digital revolution • Artificial model of human comparable decision logic • Often only «fake» intelligence: • Simulation of „intelligent behaviour“ with simple algorithms
  • 24. Impact Schwarzwaldgipfel24 22.03.2018 • Automatisierung intelligenten Verhaltens und Maschinenlernen • „Intelligenz“ ? • Wegweisende Antriebskräfte der Digitalen Revolution • Nachbildung menschenähnlicher Entscheidungsstrukturen • Oftmals «nachgeahmte» Intelligenz: • Simulation „intelligentes Verhalten“ mit einfachen Algorithmen And in Practice?
  • 25. Modern Architecture in Practice Schwarzwaldgipfel25 22.03.2018 • Multiple Solution Options • Distribution and separation creates new concerns • Combination of *old* and *new* • Challenging traditional concepts • Cloud Native Know How is rare
  • 26. Know How Example – Web-Shop for … Schwarzwaldgipfel26 22.03.2018 • Webshop • 1 Database • 1 Business Tier (REST API) • 1 Frontend // Add a product POST /cart/product/123 // View basket GET /cart // View products GET /products // Place Order POST /order (with product data)
  • 27. Know How Example – Web-Shop Schwarzwaldgipfel27 22.03.2018 • Let’s split up in «Microservices» • Products API • Order API • Cart API // Place Order POST /order (with product data) // View products GET /products // Add a product POST /cart/product/123 // View basket GET /cart Service Service Service
  • 28. Know How Example – Web-Shop Schwarzwaldgipfel28 22.03.2018 • The «Product» Microservice • REST Service • Messaging Service • Datastore Service • Monitoring Service // View products GET /products
  • 29. Know How Example – Web-Shop Schwarzwaldgipfel29 22.03.2018 • Final draft Microservice Architecture -> Wow! We have already 12 microservices! Products Orders Cart REST Service REST Service REST Service Messagebus Messagebus Messagebus Datastore Datastore Datastore Monitoring Monitoring Monitoring
  • 33. ...sometimes things break as many... Schwarzwaldgipfel33 22.03.2018
  • 35. ...or they get lost somehow... Schwarzwaldgipfel35 22.03.2018
  • 37. ...sometimes you even not know... Schwarzwaldgipfel37 22.03.2018
  • 39. ...and our new toys do not really help... Schwarzwaldgipfel39 22.03.2018
  • 41. Schwarzwaldgipfel41 22.03.2018 We need a resilient architecture! So how we must built our systems to get all the advantages we have seen but to ensure stable operations?
  • 42. Resilient Architecture Schwarzwaldgipfel Resilience = Capability of self-healing MTTF Availability = MTTF + MTTR Resilient Approach: Minimize MTTR 42 22.03.2018
  • 43. Service Service Input Service Service Managed state Service Isolation Schwarzwaldgipfel43 22.03.2018 Isolation 1. Decoupled communications (Events)
  • 45. Supervision Going Resilient…45 19.10.16 Service Input Output Service InputOutput Queue Error Error Handler Monitoring Errors Super visor
  • 46. Going Resilient…46 19.10.16 Characteristics of Resilient Systems • Asynchronous communication • Idempotente, self-contained events • Location transparency • Isolation & recursive restartability • Complete Input and Output Validation • Managed Error Handling and Monitoring • Supervision • Minimal shared state, redundancy
  • 47. Going Resilient…47 19.10.16 Resilient Platforms • Cloud (resilience delegated to cloud provider) • Orchestration (zB Mesos, Kubernetes, Openshift) • Software-Containers In most cases on-premise operations is not recommened. Mind Cloud-Vendor-Lock-in.
  • 48. Going Resilient…48 19.10.16 Resilient Software Design • Bounded Queues • Fan out & quickest reply • Circuit Breakers and Fail Fast • Timeouts • Throttling, Semaphores • Failover • Degradation of service level
  • 49. DevOps • DevOps ensure the required flexibilität and agility • Without DevOps the archicture and systems will stay inflexible • DevOps Plattforms can be set in production within hours • Establish collaborative working and accounting mechanisms • Use PoCs and Pilot projects
  • 50. Managing Data • Storage is cheap • Store data easy accessible and ready for analysis • Support on-the-fly queries • Use advantages of no-sql • Use event driven mechanisms, zB Event-Sourcing nutzen • Scale in the cloud (Storage and CPU)
  • 51. Artificial Intelligece • Still in ist early days • All services available in the cloud • Huge impact on many today‘s manual processes to be expected
  • 53. Schwarzwaldgipfel53 22.03.2018 …well, basically «only» microservices… We just wanted a modern architecture… …ok. Perhaps also some BigData ând IoT, Cause it’s so cool... DevOps belongs to the Charta of Human Rights for developers ;-) We simply ignore any Legacy-Systems…
  • 54. A modern Cloud Architecture Schwarzwaldgipfel54 22.03.2018 1. Scalable 2. Microservices and Container Based 3. Elastic amd Load Balanced 4. Decoupled by APIs 5. With DevOps and Continuous Deployment in Place 6. With a resilient and Failure Tolerant Design 7. Connected 8. Collecting Data 9. Monitored
  • 56. Schwarzwaldgipfel56 22.03.2018 DANKE • Fallacies of Distributed Computing: https://de.wikipedia.org/wiki/Fallacies_of_Distributed_Computing • 21 DevOps und Docker Reference Architectures: https://devops.com/21-devops-docker-reference-architectures/ • Cloud Native Computing Foundation: https://www.cncf.io/ • Docker: http://docker.com • Openshift: http://openshift.org Anatole Tresch Principal Consultant AD-ZH anatole.tresch@trivadis.com Twitter: @atsticks