WSO2Con2024 - Software Delivery in Hybrid Environments

wso2.org 105 views 22 slides May 09, 2024
Slide 1
Slide 1 of 22
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22

About This Presentation

WSO2Con2024 - Software Delivery in Hybrid Environments


Slide Content

Software Delivery in
Hybrid (Cloud)
Environments
Binura Gunasekara
Associate Director/Architect
WSO2

There are two kinds of people:
those who think Hybrid Clouds are a
fantastic idea, and those who have had
to run them in production.
– Me, circa today

Standard issue definition:
Private infrastructure ↔ Public Cloud
Recap
3

The Whys
4
1.Transitions

The Whys
5
2. Functional reasons

The Whys
6
3. Business continuity

Failure Points
1.Design rot
2.Chasing (the illusion of) portability
3.Developer experience adversity
a.Tooling chaos
b.Platform overhead
7

Design Rot
-“No one knows what that does”
-“No one knows why it works”
-“No one knows where that
(network) goes”


8
“Where should this new thing go?”
“Not sure… chuck it wherever”.

“Portability” might only be skin-deep
-It’s (relatively) easy to move containerized applications around.

-Applications front things that are not-so-easy to move around.
-Or moving them around could be costly.
-Eg. Databases, Queues, …so on and so forth.

-Replicated architectures... on hybrid clouds... for high availability and/or
portability – Is your stack really portable?
9

10
can you spot the problem?
A simplified example, but

Developer
Adversity
11

Fancy CI/CD for the cloud, SSH and cp (copy) to that
on-prem box.
-Observability? What observability?
-Guesswork
-Frustration

-Processes and tools designed to fight you; not support you.

-Too many tools. Too little time to get actual work done.
12

Getting it right

●Design to optimize the benefits of a Hybrid Cloud.
○You can also design to make your life miserable.

●Prefer domain-driven partitioning over replication (if possible)
●Cell-based architecture gives you a scalable framework to build,
reason with and visualize your enterprise architecture.
○A framework to model your enterprise architecture into self-contained
implementation units.
○Controlled ingress and egress points:
■Observability
■Access controls
■…towards zero-trust
Avoiding design rot.
14

Cell-based architecture
15https://github.com/wso2/reference-architecture/blob/master/reference-architecture-cell-based.md

Cell-based architecture
16https://github.com/wso2/reference-architecture/blob/master/reference-architecture-cell-based.md
“A cell is
independently
deployable,
manageable, and
observable.”

17
Source:
github.com/wso2/reference-architecture/blob/
master/reference-architecture-cell-based.md
Loose coupling

●You now have self-contained, portable* units of business/functional
capability – loose coupling.

●*Portability can still be restricted by technology choices.
Eg. Being backed by a proprietary database.

●A great read: Google–“Don't get locked up into avoiding lock-in”
⦿Reference: https://martinfowler.com/articles/oss-lockin.html
Portable units of deployment
18

A centralized control plane
19


Disclaimer: This is definitely not “scientific” ;)

●Centralize control - distribute capability.
●Be (reasonably) opinionated.
○Finding the golden path can take a long time.
○What you think is right today can be wrong tomorrow.
○This will be a continuous, ever-evolving process.

20

North star: Become Platformless!

...How do you do that?

Build to enable your developers.
21

Thank You!
Tags