M +33 (0)6 26 60 61 17
Christophe VISENTIN Atos Distinguished Expert Global Center of Excellence Digital Workplace
Setting up a micro-services architecture
Collaborative platforms : the technological barriers to the creation of innovative platforms
FROM SPACE TO UNDERGROUND, DATA AND SERVICES FOR MANAGING TERRITORIES
106th TC OGC – OPEN DAY
Independent
Small
Reliable
Iterative
Make it Simple
Remain Ready
Be Agile
Automated
Fast
Innovative
A/B testing
Ideation
Continuous Int/Del/Dep
DevOps
UX
Analytics
Client - Server (heavy client)
3 tiers (thin client)
Front Single Page Application
Service Oriented Architecture (SOA)
Stateless IT / 2-Speed IT
Micro-services
2
IT Evolution
Monolithic SOA Micro-services
3
Monolithic architecture issues
Monolithic
Difficult to scale
Changes generate big
impacts
Tunnel effect Big teams with silos
Long deployment
process
Heavy system
maintenance
Too complex
Too heavy
Too long
Libs & data coupling
V-cycle
Developers # Admins
4
SOA as an answer, problems remain to be solved
Handle reusability
Manage layers
Mitigate coupling
Service Oriented
Architecture
Still too complex
Still too heavy
Still too long
Fast changing markets -> Innovation
Stronger competition -> Time to market
Usage explosion -> Scalability
5
Why? Micro-services architecture in 3 words
Micro-services
Independent
Small
Reliable
Iterative
Make it Simple
Remain Ready
Be Agile
Automated
Fast
Innovative
A/B testing
Ideation
Continuous Int/Del/Dep
DevOps
UX
Analytics
▶ Because small is beautiful
▶ Avoid coupling between services
▶ Provide & use API to access to data
▶ Have a dedicated database
▶ Use patterns to mitigate data concurrency
▶ Use batches to synchronize data (Lambda)
6
Simple
EVERYTHING SHOULD BE MADE AS SIMPLE AS POSSIBLE, BUT NOT
SIMPLER.
SIMPLE CAN BE HARDER THAN COMPLEX: YOU HAVE TO WORK HARD TO GET YOUR THINKING
CLEAN TO MAKE IT SIMPLE. BUT IT’S WORTH IT IN THE END
BECAUSE ONCE YOU GET THERE, YOU CAN MOVE
MOUNTAINS.
▶ Address the users needs
▶ Ensure the user experience
▶ Be iterative for innovation
▶ Try again and learn from errors
▶ Be vertical and independent
▶ 2 pizzas / feature teams
8
Agile
9
Think, Start, Run, an approach for innovation
Build & Validate ▶ Tackle project challenges with
ambition and pragmatism
▶ An Agile team with the best digital experts and Full Stack profiles
▶ Realize a MVP (Minimum Viable Product) by targeting the deadline
Scale & Industrialize ▶ Deliver and improve the product for
the whole users and customers
▶ DevOps and tools to deliver on resilient and scalable systems
▶ Results analysis, roadmap and continuous improvement
Understand & Design ▶ Co-create with the business and the users:
consultants and analysts focused on the need
▶ Reinvention methodologies: Design Thinking, UX, Customer journey …
▶ Technical and IT criteria studies: Architects and experts, solutions evaluation
Think
Start Run
xx
DevOps
Platform
UX Design
Agile
Product
Solution
Think, Start, Run. Tackle digital challenges, Business and IT, with a disruptive & progressive approach
Iterations and industrialization • Integrate the solution and
deploy to target • Production deployment
Use case and technical solution • Use cases definition • Architecture and solution choice
First operational product in test (MVP) • Solution implementation • Product building and testing
▶ Run Fast, address the Time-To-Market
▶ Automated & Reliable & Reversible
▶ DevOps - Containers - Orchestration
▶ Industrialized and automated deployment
▶ The target is continuous deployment in prod
▶ Have version n & n+1 in prod & A/B Testing
10
Ready
11
Packaging and running apps: containers’ benefits
Docker Inc.
▶ Further accelerate app deployment
▶ Fast build from conf. management
▶ Streamline development and testing
▶ Handle « it works on my machine »
▶ Lower costs of app deployment
▶ Increase server consolidation
▶ Micro-services patterns can be complex
▶ Cultural change: operations with developers
▶ Difficulties with limited IT means & resources
▶ Silos with legacy IT (the 2-speed IT paradigm)
▶ Feature teams overhead on large organizations
▶ Managing bus governance of transversal expertise
12
Micro-services are not suitable for all
13
Micro-services implemented: mundi platform
https://mundiwebservices.com/
Processing Pipeline
Data Sharing
Look & Feel
Global Navigation
Single Sign On
Copernicus Web Services Portal
Login Forms
Identity Provider
Statistics KPI
Platform Management
IaaS
VM VM VM
Security
CMS
Billing Service
View Service
Discovery Service
Download Service
GeoData Access UI
ICT Resources
Management Forge Applications Control
Front Office
LTA 3rd Party Storage
VM VM VM GEANT
UI
Front-office #3
Front-office #1
Front-office #2
Help Desk
Front End
Back Office
Reference Front Office
On-line Cold-line Near-line
3P Front-office
…
Benchmark Front-office
IaaS Statistics
Resources Management
Docker Registry
Kubernetes Orchestrator
Data Lifecycle Management
Identity Federation
Monitoring
Services Manager
PaaS
SaaS
mundi architecture overview
Front End Reference Front Office
Back Office
Front Office
Processing Pipeline
Services Manager
Operation and Maintenance
My Front Offices
Look & Feel
Global Navigation
Single Sign On
Mundi / Copernicus Web Services Portal
Login Forms
https://mundiwebservices.com
CWS Login Form
Identity Provider
Statistics KPI
My Personal Information
My Licenses
Register
Platform Management
IaaS Statistics
IaaS
PaaS
VM VM VM
Security
Monitoring
Authorization /
Access control Identity Federation SAML/…
CMS
Home Page
Latest News
Headless CMS
Reporting
Services performance
Operation and
Maintenance
Identity Federation
Billing Service
Billing Model
Billing Engine
Charging
My Front Offices
View Service
Discovery Service
Download Service
Cloud Management Console URL
GeoData Access UI
ICT Resources
Management
Discovery Client
View Client
https://forge.mundiwebservices.com
Forge
Source Control (Gitlab)
Artifact Repository (Nexus)
Docker Images
Repository
Content Repository
CMS Administration
Download Client
Application Catalogue
Support Framework
Application Catalogue Overview
Applications Control
Resources Management
Docker Registry
Kubernetes Orchestrator
Data Management System Metadata Extraction
Watcher Ingester
On-demand View Server
WMTS
WMS
Discovery Server
Download Server
WCS
DMS
CSW/ OpenSearch
Catalog ACDC
Search
JavaScript frameworks
Analytics Engine
UAVs Data Fusion Multiplat.
datasource
Data cubes Ortho
rectification
Auto mosaicing
Geometric enhancements
Advanced cloud masking
3rd Party Storage
Contact Us /
Onboarding
Reference Benchmark Front-office
Tickets / Level support
VM VM VM
Other possible services in V2
GEANT
UI
Ability to deploy new services
Services Manager
WFS
User accounts management Third parties communities & Software, Nexus binaries storage
Front-office #3
Pre-rendered View Server
Processing Pipeline
WPS Orchestrator
Processing Workbench
Application Dashboard
Front-office #1
Front-office #2
Help Desk
3P Front-office
…
Data Lifecycle Management
LTA On-line Cold-line Near-line
mundi architecture
Data Sharing Ability to
share generated data
SaaS
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Bull, Canopy, equensWorldline, Unify, Worldline and Zero Email are registered trademarks of the Atos group. May 2017. © 2017 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Thank you