Choreo: Empowering the Future of Enterprise Software Engineering
wso2.org
212 views
50 slides
May 09, 2024
Slide 1 of 50
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
About This Presentation
Key topics covered:
- Real-world examples of Choreo's comprehensive coverage from application design and deployment, security, scaling, and monitoring
- Running different types of workloads, such as web applications, APIs, microservices, integrations, and tasks at scale, and wire them together t...
Key topics covered:
- Real-world examples of Choreo's comprehensive coverage from application design and deployment, security, scaling, and monitoring
- Running different types of workloads, such as web applications, APIs, microservices, integrations, and tasks at scale, and wire them together to deliver seamless omnichannel digital experiences
- How Choreo improves the developer experience by eliminating repetition, silos, and redundancy through enhanced discoverability and self-serviceability
Size: 5.34 MB
Language: en
Added: May 09, 2024
Slides: 50 pages
Slide Content
Choreo: Empowering the
Future of Enterprise
Software Engineering
Asanka Abeyweera
Associate Director
WSO2
Ramith Jayasinghe
Director - Solutions Architecture
WSO2
The cloud native era is transforming how
we build and deliver technology, creating
more dynamic and immersive digital
experiences than ever before.
3https://wso2.com/choreo/
Choreo allows you to
focus just on on creating
and delivering awesome
digital experiences.
Choreo is an internal developer platform that
facilitates enterprise software engineering and
software delivery & operations.
Enterprise application architecture is evolving
4
APP
APP
APP
BFF
S1
S2
S3
S4
SYSTEMS OF RECORD
STORAGE
API
API
API
API
API
API
API
Interface
Types
APPS EXPERIENCE APIs /
BFF SERVICES
DOMAIN & BUSINESS LOGIC
SERVICES
INTEGRATION SERVICES
Network Data Network Data
T1
T2
T3
T4
Domain Data
5
“CIOs are engineering platforms to foster composable
technology practices.” – Gartner
source: https://www.gartner.com/document/4008081
6
Your digital business, with Choreo
Enterprise Software Engineering
Software Delivery & Operations
Digital Experiences
Internal Developer Platform
IDevP must facilitate enterprise software engineering
7
Marketplace
Domain A
S
S
S
Domain B
S
S
S
S
Development time Runtime
API design
API discovery
Application Developers
Zero trust
API Gateway
Auth/Autz
Observability
CI/CD
S
S
S
S
S
S
A
V1
V2
S
Mesh
Cell A
Cell B
Refine modern software delivery &
operations
●Developer self-service
●Containerization & Kubernetes
●CI/CD & GitOps
●Resource optimization
●Multi-cloud, multi-environment
●Observability & alerting
●Config & secret management
●Resiliency, scalability & HA
●Operational & business insights
Establish your enterprise software
engineering practice
●API-first development
●Domain driven design
●Microservice architecture
●Test driven development
●Automated DevOps
●Secure by default
●Version management
●Iterative architecture
●AI augmented engineering
What does Choreo deliver?
8
9https://wso2.com/choreo/
●Built by productizing 15 years of experience in helping
customers create their own internal platforms
●End to end platform as a service
●Multi-cloud SaaS
●De-risked and more secure
●Pay as you go - no capex
Go platformless and just add developers with WSO2
●Organization: A logical grouping of users and users' resources.
⦿An organization may represent a company, community, or single user.
⦿A user can belong to multiple organizations in Choreo.
●Project: A logical grouping of components you can create in Choreo
allowing users to organize their work effectively. Typically represents a
single cloud native application.
●Component: A component within a project represents a single unit of work
in a cloud native application. Ex: Microservices, manual/scheduled tasks,
web apps, webhooks, API Proxies
⦿All components within a given project are deployed into a single
namespace of the Kubernetes cluster (dataplane).
Choreo Concepts
20
●Endpoint: A network-exposed function that resides within a component.
⦿Service components can expose one or more endpoints.
⦿Each endpoint in a component can have a service contract (OpenAPI,
GraphQL SDL) associated with it.
●An endpoint within a project can be exposed to the internet, to
neighbouring projects, or within the project only.
Choreo Concepts
21
Choreo Concepts
22
●An environment refers to a specific set of configurations and isolated
infrastructure/resources where user workloads are executed.
●Choreo supports any number of environments per organization.
Choreo Concepts
23
Choreo Architecture
24
●Control Plane: Centralized management component of
Choreo that oversees and coordinates the workloads
deployed by customers. It provides a unified point of
control and visibility for the organization, allowing
administrators to manage, monitor, and orchestrate the
organization’s resources efficiently.
●Data Plane: A Choreo integrated computing environment
designed for running customer workloads in a dedicated
cloud infrastructure either owned by the customer (private
data planes) or WSO2 (cloud data plane).
●The control plane and data plane communicate via APIs.
The data plane can continue to operate independently
even if the control plane is out of reach
Choreo Concepts
25
●Internal Marketplace: One stop shop for discovering all reusable assets
within the organization.
Choreo Concepts
26
●Developer Portal: To expose APIs outside of the organization.
⦿Invite third party developers.
⦿Enable Monetization
Choreo Concepts
27
Demo: Service to Service Communication
Service to service communication on Choreo
29
●Connections: Reusable, shareable, governed links to endpoints both
within and outside the organization
Choreo Concepts
30
●Cell Based Architecture: Organizing your applications for agility and scale.
https://github.com/wso2/reference-architecture/blob/master/reference-architecture-cell-based.md
●Internal vs External APIs: Different interfaces, different responsibilities.
Choreo Concepts
31
●Zero Trust architecture on Choreo data plane
-Never Trust, Always Verify
-Least Privilege Access
-Micro-Segmentation
-Layered Security Controls
-Assume Breach
-End-to-End Encryption
-Full User and System Visibility
●Scale to Zero: For optimal usage of resources, especially in non
production environments.
Choreo Concepts
36
Demo: Versioning and Deployment Tracks
Using Deployment Tracks for API Versioning
38
Using Deployment Tracks for API Versioning
39
●Versioning and Deployment Tracks: Handling multiple versions of
services, concurrently
Choreo Concepts
40
Demo: Scheduling a Task
Scheduling a Task in Choreo
42
Advantages with Choreo
43
Without Choreo With Choreo
Dedicated in-house teams managing
infrastructure and production operations
No operations overhead / completely
managed by WSO2
Create and maintain DevOps pipelines Built-in pipelines
Create and maintain different pipelines for
different projects/groups/teams
Unified pipeline access to any kind of
projects - APIs, Java/Python/.Net services
and more…
Create and manage environment config
(Terraform)
Built-in environments. Can create dynamic
environments from UI without Terraform
DevOps manage patches and updates
manually
Patches and updates applied automatically
SSO + auth/authz provided with external
identity management tools
Built-in IAM support AND federation to work
with existing identity + SSO providers
Advantages with Choreo cont.
44
Without Choreo With Choreo
Significant knowledge, effort, time and
investment to use ECS + Kubernetes (in
future)
Fully managed Kubernetes cluster in every
data plane. No K8s expertise required
Total number of developers, Y 20% decrease in number of developers due
to cloud native middleware and rich
developer experience
●Deliver awesome digital
experiences for customers
faster
●Build deeper understanding
of customers
●Freedom to innovate in a
managed environment
approved by IT
●Lower TCO and higher ROI
LoB / CMO
●Freedom to focus on
application design and
architecture, and not
infrastructure
●Code in any language, and
offload all devops + secops
to us
●Design and build secure &
resilient distributed
systems
●More productivity
improvements
45
The value of Choreo for stakeholders
Developers
●Govern distributed systems
and facilitate easy reuse
●Deliver more business
solutions with smaller teams
that skill up on the business
not platforms
●Lockin-free SaaS
●Security by default
Architect / CTO / CIO
46
https://wso2.com/choreo/
JUST ADD DEVELOPERS.
Developer self-service
47
Private data plane
48
Choreo data plane architecture & modularity
49
https://github.com/wso2/reference-architecture/blob/master/reference-architecture-cell-based.md