SlideShare a Scribd company logo
Cocktail of Environments
How to Mix Test and Development Environments and Stay Alive
@aatarasoff
@aatarasoff
@aatarasoff
2
@aatarasoff
3
Prologue: No Good Solutions
4
5
No microservices - no problems
6
No microservices - no problems
Testing locally - easy
7
No microservices - no problems
Testing locally - easy
Testing in dev
environment - easy
8
No microservices - no problems
Testing locally - easy
Testing in dev
environment - easy
Testing in test/stage
environment - easy
9
No microservices - no problems
Testing in dev
environment - easy
Testing in test/stage
environment - easy
Testing locally - easy
Testing one - easy
Testing one - easy
Testing many - hard
Chapter 1: Baking Dev Environment
13
14
Work on my machine
15
Work on my machine
Limited number of
services
16
Work on my machine
Limited number of
services
Separated
configuration
17
Telepresence
18
Telepresence
Async processes?
19
Local Async Process Testing
20
Local Async Process Testing
Who will read
a message?
Benefits
● Fast feedback loop
● Good for simple usecases
Drawbacks
● Hard to test complex scenarios
● Hard to collaborate
○ QA
○ other developers
Local Only
21
22
Full Copy for each Developer
23
Full Copy for each Developer
24
Full Copy for each Developer
Own logical DB
25
Full Copy for each Developer
Own logical DB
Own topics and
subscriptions
Issues to
address
● Tool to establish “Vasya” env
○ 10-15 minutes max
● Handle the load
○ 10k workloads and much more
● Support separated infra components
○ dbs in containers
○ emulators for queues
26
Issues to
address
● Tool to establish “Vasya” env
○ 10-15 minutes max
● Handle the load
○ 10k workloads and much more
● Support separated infra components
○ dbs in containers
○ emulators for queues
27
Issues to
address
● Tool to establish “Vasya” env
○ 10-15 minutes max
● Handle the load
○ 10k workloads and much more
● Support separated infra components
○ dbs in containers
○ emulators for queues
28
Optimizations
● Part copy instead of full
○ core services first
○ specific services on-demand
● Shutdown every night
● Env per squad not developer
● Get rid of X
○ do not use service mesh
○ do not keep logs
29
Optimizations
● Part copy instead of full
○ core services first
○ specific services on-demand
● Shutdown every night
● Env per squad not developer
● Get rid of X
○ do not use service mesh
○ do not keep logs
30
Optimizations
● Part copy instead of full
○ core services first
○ specific services on-demand
● Shutdown every night
● Env per squad, not developer
● Get rid of X
○ do not use service mesh
○ do not keep logs
31
Optimizations
● Part copy instead of full
○ core services first
○ specific services on-demand
● Shutdown every night
● Env per squad, not developer
● Get rid of X
○ do not use service mesh
○ do not keep logs
32
Benefits
● Full isolation
● The cognitive load is low
Drawbacks
● Custom configuration
● High resources consumption
● You own - you troubleshooting
Full Copy for each Developer
33
34
Service Injection
35
Service Injection
As a developer I created new
branch: feature/mp-101-bla-bla
36
Service Injection
Deploy each branch to
dev cluster
37
Service Injection
x-service-route: payment-service:mp-101
38
Service Injection
x-service-route: payment-service:mp-101
Nginx unpacks cookie to header
39
We Need More Branches
x-service-route: payment-service:mp-101::cart-service:mp-102
40
We Need More Branches
Async processes?
Benefits
● Low resources consumption
● Less troubleshooting required
● Convinient collaboration
Drawbacks
● Shared resources - poor isolation
● Hard to test async processes
Service Injection
41
Chapter 2: What are You, Stable Dev?
42
43
Typical Environments
44
Atypical Environments
45
Atypical Environments
46
One Cluster - Several Environments
47
Stable Dev
Always contains all the services with
the same versions as in production
48
Stable Dev
Default routes come to it
Always contains all the services with
the same versions as in production
49
Stable Dev
Foundation for developing, testing, and staging
50
Stable Dev
Foundation for developing, testing, and staging
Steady as a rock
51
Stable Dev
Foundation for developing, testing, and staging
Steady as a rock
Developers should
not TEST on it
52
Branch Dev
Developers test
in branch
53
Branch Dev
“x-service-route” Cookie or HTTP Header
54
Canary Dev
Every new release
is deployed as a
candidate first
55
Canary Dev
Every new release
is deployed as a
candidate first
x-service-route: payment-service:rc
56
What if not?
● No dogfooding
○ A silo between QA and developers
○ Developers are pushed to fix the stage
● We should keep stable two environments instead of one
○ Staging should be stable by design
○ The development environment should be stable too
■ If the authorization service doesn’t work -
developer cannot test their branch
57
What if not?
● No dogfooding
○ A silo between QA and developers
○ Developers are pushed to fix the stage
● We should keep stable two environments instead of one
○ Staging should be stable by design
○ The development environment should be stable too
■ If the authorization service doesn’t work -
developer cannot test their branch
58
Chapter 3: Make Some Code
59
Traffic Routing
60
61
Service Injection
x-service-route: payment-service:mp-101
62
Service Injection
x-service-route: payment-service:mp-101
Nginx unpacks cookie to header
Istio Virtual Service
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: payment-service
spec:
...
http:
- name: stable
route:
- destination:
host: payment-service.services.svc.cluster.local
63
Istio Virtual Service
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: payment-service
spec:
...
http:
- name: stable
route:
- destination:
host: payment-service.services.svc.cluster.local
64
Deploy for every stable version
via Helm chart
Route to a Branch
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: payment-service
spec:
...
http:
- name: payment-service-mp-101
match:
- headers:
x-service-route:
regex: ^(payment-service:mp-101.*|.*::payment-service:mp-101.*)$
- name: stable
route:
- destination:
host: payment-service.services.svc.cluster.local 65
We cannot add it with
Helm chart
Virtual Service Merge Operator
---
apiVersion: istiomerger.monime.sl/v1alpha1
kind: VirtualServiceMerge
metadata:
name: payment-service-mp-101
spec:
patch:
http:
- name: payment-service-mp-101
match:
- headers:
x-service-route:
regex: ^(payment-service:mp-101.*|.*::payment-service:mp-101.*)$
target:
name: payment-service
66
Deploy for every branch
via Helm chart
67
Propagation Problem
68
Propagation Problem
x-service-route should be propagated
69
Propagation Problem
x-service-route should be propagated
Tracing is a MUST!
70
Propagation Problem
x-service-route should be propagated
Tracing is a MUST!
x-b3-trace-id in response
71
Tricky Case: Migrations that Break
You want to test
migrations in your branch
72
Tricky Case: Migrations that Break
However, you may
affect Stable Dev
You want to test
migrations in your branch
73
Solution: Migrations that Break
74
Solution: Migrations that Break
We chose this variant
75
Tricky Case: Webhooks
76
Tricky Case: Webhooks
Nobody knows about
your internal
infrastructure
77
Solution #1: Webhooks
We can switch URL
for webhook on the
third-party side
78
Solution #1: Webhooks
We can switch URL
for webhook on the
third-party side
However, we affect
Stable Dev
79
Solution #2: Webhooks
Create advanced mock or Fake
to get rid of
External Service dependency at all
80
Solution #3: Webhooks
Use Smart-Proxy
and some correlation ID
for matching requests
from the external service
81
Solution #3: Webhooks
We chose this approach
Use Smart-Proxy
and some correlation ID
for matching requests
from the external service
Unblocking Async Scenarios
82
83
Async Issues
84
Async Issues
Who should
process a message?
85
Let’s Use the Same Appoach
86
Let’s Use the Same Appoach
Developers can
interfere with one
another
87
Subscription per Branch
Issues to
address
● Static subscription for canary
● Dynamic subscriptions for branches
● Common library
○ context propagation
○ message skip logic
88
Issues to
address
● Static subscription for canary
● Dynamic subscriptions for branches
● Common library
○ context propagation
○ message skip logic
89
90
Service Catalog
91
Service Catalog
Metadata such as
name, team,
domain, resources
92
Service Catalog
On metadata change
the state machine
tries to re-apply
93
Service Catalog
Modules have
unified interface
94
Service Catalog
Modules use Terraform for
resource management
95
Service Catalog
Ot they can also perform
additional tasks such as
auto-filling the Vault
configuration for a service
96
Deployment Process
97
Deployment Process
Developers can change
meta.yml for their service in
Service Catalog repository
98
Deployment Process
New meta data will be applied
99
Deployment Process
The state machine will align
resources with new meta
100
Deployment Process
Application Delivery Pipeline
checks the state
101
Static Subscriptions
Re-run the state
machine
Change the
Pub/Sub module
102
Static Subscriptions
Re-run the state
machine
Change the
Pub/Sub module
some-subscription-rc
some-subscription-qa
Issues to
address
● Static subscription for canary
● Dynamic subscriptions for branches
● Common library
○ context propagation
○ message skip logic
103
104
Dynamic Subscriptions
105
Dynamic Subscriptions
Register on branch
first pipeline
106
Dynamic Subscriptions
Register on branch
first pipeline
Re-apply Pub/Sub
module
107
Dynamic Subscriptions
Register on branch
first pipeline
Re-apply Pub/Sub
module
some-subscription-mp-101
108
Dynamic Subscriptions
Deregister on
branch deletion
109
Dynamic Subscriptions
Deregister on
branch deletion
Re-apply Pub/Sub
module
110
Dynamic Subscriptions
Deregister on
branch deletion
Re-apply Pub/Sub
module
order-subscription-mp-101
111
Deployment Process
Issues to
address
● Static subscription for canary
● Dynamic subscriptions for branches
● Common library
○ context propagation
○ message skip logic
112
113
Common Library
114
Common Library
Skip or Process?
115
Common Library: Decision Maker
It is NOT FOR me
116
Common Library: Decision Maker
It is NOT FOR me It is NOT FOR me
117
Common Library: Decision Maker
It is NOT FOR me It is NOT FOR me
It is FOR me
118
Common Library: Decision Maker
It is NOT FOR me It is NOT FOR me
It is FOR me
?
119
Common Library: Decision Maker
Should be aware of all
other versions
120
Common Library
Skip or Process?
Put it back to the
client context
121
Complex Scenarios Supported
Issues to
Address
● Separated DB for branches
○ the same approach as for subscriptions
122
123
Separated DBs Schema
124
Separated DBs Schema
Issues to
Address
● Separated DB for branches
○ the same approach as for subscriptions
○ the incomplete data
125
Chapter 4: Ephemeral Environments
126
127
Welcome to Real Life
128
Welcome to Ephemeral Environments
Types of
Ephemeral
Environments
● One service branch
● Several services branches
○ under one x-source-route
○ Jira-based
● Custom environments
○ for squad (payment-dev)
○ for domain (warehouse)
129
Types of
Ephemeral
Environments
● One service branch
● Several services branches
○ under one x-source-route
○ Jira-based
● Custom environments
○ for squad (payment-dev)
○ for domain (warehouse)
130
131
Custom Ephemeral Environments
Epilogue: Some Conclusions
132
Benefits
● No silo between Dev and QA
● Low resources consumption
● Environments on-demand
133
Drawbacks
● High cognitive load
● Time investments
● Not-fair isolation
134
@aatarasoff
@aatarasoff
@aatarasoff
Questions?
@aatarasoff
135

More Related Content

Similar to Cocktail of Environments. How to Mix Test and Development Environments and Stay Alive

Automated testing with Openshift
Automated testing with OpenshiftAutomated testing with Openshift
Automated testing with Openshift
Oleg Popov
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Weaveworks
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Weaveworks
 
First Steps to DevOps
First Steps to DevOpsFirst Steps to DevOps
First Steps to DevOps
Inductive Automation
 
Deploying at will - SEI
 Deploying at will - SEI Deploying at will - SEI
Raising ux bar with offline first design
Raising ux bar with offline first designRaising ux bar with offline first design
Raising ux bar with offline first design
Kyrylo Reznykov
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays
 
Building a Small Datacenter
Building a Small DatacenterBuilding a Small Datacenter
Building a Small Datacenter
ssuser4b98f0
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Ambassador Labs
 
Open source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesOpen source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packages
Rogue Wave Software
 
Building a Small DC
Building a Small DCBuilding a Small DC
Building a Small DC
APNIC
 
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
smalltown
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
OpenStack
 
Antifragility and testing for distributed systems failure
Antifragility and testing for distributed systems failureAntifragility and testing for distributed systems failure
Antifragility and testing for distributed systems failure
DiUS
 
Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy process
Christopher Cundill
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weaveworks
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For Architects
Kevin Brockhoff
 
Learnings from the Field. Lessons from Working with Dozens of Small & Large D...
Learnings from the Field. Lessons from Working with Dozens of Small & Large D...Learnings from the Field. Lessons from Working with Dozens of Small & Large D...
Learnings from the Field. Lessons from Working with Dozens of Small & Large D...
HostedbyConfluent
 
Netflix Data Pipeline With Kafka
Netflix Data Pipeline With KafkaNetflix Data Pipeline With Kafka
Netflix Data Pipeline With Kafka
Steven Wu
 
Netflix Data Pipeline With Kafka
Netflix Data Pipeline With KafkaNetflix Data Pipeline With Kafka
Netflix Data Pipeline With Kafka
Allen (Xiaozhong) Wang
 

Similar to Cocktail of Environments. How to Mix Test and Development Environments and Stay Alive (20)

Automated testing with Openshift
Automated testing with OpenshiftAutomated testing with Openshift
Automated testing with Openshift
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and Linkerd
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
 
First Steps to DevOps
First Steps to DevOpsFirst Steps to DevOps
First Steps to DevOps
 
Deploying at will - SEI
 Deploying at will - SEI Deploying at will - SEI
Deploying at will - SEI
 
Raising ux bar with offline first design
Raising ux bar with offline first designRaising ux bar with offline first design
Raising ux bar with offline first design
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
 
Building a Small Datacenter
Building a Small DatacenterBuilding a Small Datacenter
Building a Small Datacenter
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
 
Open source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesOpen source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packages
 
Building a Small DC
Building a Small DCBuilding a Small DC
Building a Small DC
 
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
 
Antifragility and testing for distributed systems failure
Antifragility and testing for distributed systems failureAntifragility and testing for distributed systems failure
Antifragility and testing for distributed systems failure
 
Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy process
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For Architects
 
Learnings from the Field. Lessons from Working with Dozens of Small & Large D...
Learnings from the Field. Lessons from Working with Dozens of Small & Large D...Learnings from the Field. Lessons from Working with Dozens of Small & Large D...
Learnings from the Field. Lessons from Working with Dozens of Small & Large D...
 
Netflix Data Pipeline With Kafka
Netflix Data Pipeline With KafkaNetflix Data Pipeline With Kafka
Netflix Data Pipeline With Kafka
 
Netflix Data Pipeline With Kafka
Netflix Data Pipeline With KafkaNetflix Data Pipeline With Kafka
Netflix Data Pipeline With Kafka
 

More from Aleksandr Tarasov

Service Discovery. More that it seems
Service Discovery. More that it seemsService Discovery. More that it seems
Service Discovery. More that it seems
Aleksandr Tarasov
 
Everything as a code
Everything as a codeEverything as a code
Everything as a code
Aleksandr Tarasov
 
Service Discovery. Spring Cloud Internals
Service Discovery. Spring Cloud InternalsService Discovery. Spring Cloud Internals
Service Discovery. Spring Cloud Internals
Aleksandr Tarasov
 
Continuous Delivery with Jenkins: Lessons Learned
Continuous Delivery with Jenkins: Lessons LearnedContinuous Delivery with Jenkins: Lessons Learned
Continuous Delivery with Jenkins: Lessons Learned
Aleksandr Tarasov
 
WILD microSERVICES v2 (JEEConf Edition)
WILD microSERVICES v2 (JEEConf Edition)WILD microSERVICES v2 (JEEConf Edition)
WILD microSERVICES v2 (JEEConf Edition)
Aleksandr Tarasov
 
WILD microSERVICES v2
WILD microSERVICES v2WILD microSERVICES v2
WILD microSERVICES v2
Aleksandr Tarasov
 
Расширь границы возможного вместе с Gradle
Расширь границы возможного вместе с GradleРасширь границы возможного вместе с Gradle
Расширь границы возможного вместе с Gradle
Aleksandr Tarasov
 
Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot Starter
Aleksandr Tarasov
 
Хипстеры в энтерпрайзе
Хипстеры в энтерпрайзеХипстеры в энтерпрайзе
Хипстеры в энтерпрайзе
Aleksandr Tarasov
 
микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубы
Aleksandr Tarasov
 
Joker 2015. WILD microSERVICES
Joker 2015. WILD microSERVICESJoker 2015. WILD microSERVICES
Joker 2015. WILD microSERVICES
Aleksandr Tarasov
 
Docker In the Bank
Docker In the BankDocker In the Bank
Docker In the Bank
Aleksandr Tarasov
 
Docker In Bank Unrated
Docker In Bank UnratedDocker In Bank Unrated
Docker In Bank Unrated
Aleksandr Tarasov
 

More from Aleksandr Tarasov (13)

Service Discovery. More that it seems
Service Discovery. More that it seemsService Discovery. More that it seems
Service Discovery. More that it seems
 
Everything as a code
Everything as a codeEverything as a code
Everything as a code
 
Service Discovery. Spring Cloud Internals
Service Discovery. Spring Cloud InternalsService Discovery. Spring Cloud Internals
Service Discovery. Spring Cloud Internals
 
Continuous Delivery with Jenkins: Lessons Learned
Continuous Delivery with Jenkins: Lessons LearnedContinuous Delivery with Jenkins: Lessons Learned
Continuous Delivery with Jenkins: Lessons Learned
 
WILD microSERVICES v2 (JEEConf Edition)
WILD microSERVICES v2 (JEEConf Edition)WILD microSERVICES v2 (JEEConf Edition)
WILD microSERVICES v2 (JEEConf Edition)
 
WILD microSERVICES v2
WILD microSERVICES v2WILD microSERVICES v2
WILD microSERVICES v2
 
Расширь границы возможного вместе с Gradle
Расширь границы возможного вместе с GradleРасширь границы возможного вместе с Gradle
Расширь границы возможного вместе с Gradle
 
Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot Starter
 
Хипстеры в энтерпрайзе
Хипстеры в энтерпрайзеХипстеры в энтерпрайзе
Хипстеры в энтерпрайзе
 
микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубы
 
Joker 2015. WILD microSERVICES
Joker 2015. WILD microSERVICESJoker 2015. WILD microSERVICES
Joker 2015. WILD microSERVICES
 
Docker In the Bank
Docker In the BankDocker In the Bank
Docker In the Bank
 
Docker In Bank Unrated
Docker In Bank UnratedDocker In Bank Unrated
Docker In Bank Unrated
 

Recently uploaded

Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 

Recently uploaded (20)

Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 

Cocktail of Environments. How to Mix Test and Development Environments and Stay Alive