SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
Deploy and Manage Composite Apps on
Kubernetes like a Boss with Cellery
Webinar
September 2019
Paul Fremantle, CTO and Co-Founder, WSO2
paul@wso2.com @pzfreo #cellery
Microservices and serverless applications are rapidly
becoming the norm
Source: http://microservices.io
Kubernetes is becoming the de-facto
deployment for cloud native apps
Cellery
https://cellery.io / https://github.com/wso2-cellery/sdk
What have I pre-installed and configured?
Cellery 0.3 - 18Mb download (native, written in Go)
https://product-dist.cellery.io/downloads/0.3.0/cellery-macos-installer-x64-0.3.0.pkg
VSCode - optional for editing
Ballerina 0.991.0 - optional to enable VSCode syntax
support
Set up some hostnames in /etc/hosts
Cellery
setup on
GCP
~10 mins
inc launching
GKE cluster
(Also options
to install on
existing k8s
cluster or
virtualbox)
Hello World
Demonstration
cellery init
cellery build
cellery push
cellery run
cellery list instances
kubectl get cells
Why code-first?
● Type safety and validation
● Compiled into immutable images
● Utilise simple logic during build and run
○ E.g. lookup environment variables, string manipulation,
common functions
● Visual Studio Code and Intellij Code plugins
○ Tab completion, syntax highlighting, error marking
● More compact than YAML
Uber in 2016 - “Several hundred microservices”
in
2019
Bounded Context and Aggregates
from Domain Driven Design / Eric Evans
https://github.com/wso2/reference-architecture
What is a cell in Cellery?
● A cell is an immutable application component
● Is built, deployed, updated and managed as a complete unit.
● Consists of multiple containers, services, managed APIs,
ingress and egress policies, security trust domain, deployment
policies, and defined external dependencies.
● Cells are versioned, pushed/pulled, deployed
○ Become re-usable units of architecture
Demo 2
Demo
cellery build
cellery cell references
cellery view
cellery run -v
login / SSO
observability
Self-contained
Deployable as a unit
API Centric
Data plane and control plane
Cells are building blocks for a composable
enterprise
How does
Cellery
work?
(a recap)
Cellery open source components
• Cellery CLI
– Build, push/pull, run, update, and rollback cells
• Cellery Mesh/Runtime
– Extension to Kubernetes / Istio (CRDs) that add “cells”
– E.g kubectl get cells
• Cellery Observability
– An observability dashboard that enables monitoring and
tracing of cells
Cellery Hub
Observability and visualisation
Cellery and Service Mesh
Cellery automatically configures Istio
● Cell boundaries
● Including load-balancing across replicas
● Auto-scaling
● Security and policy support (OPA)
● Blue-green and canary
… based on your application architecture
Blue-green and Canary
# Update in place
cellery pull wso2cellery/pet-be-cell:latestv2
cellery update pet-be wso2cellery/pet-be-cell:latestv2
# Blue-green / Canary
cellery run wso2cellery/pet-be-cell:1.0.0 
-n pet-be-1.0.0 # run initial cell
cellery run wso2cellery/pet-be-cell:1.0.1 
-n pet-be-1.0.1 # run new version
cellery route-traffic pet-be-1.0.0 -p pet-be-1.0.1=10 # 10% to new
cellery route-traffic pet-be-1.0.0 -p pet-be-1.0.1=100 # 100%
cellery terminate pet-be-1.0.0 # terminate old
HipsterShop
Hipster
Shop in
Cellery
(no code
changes!)
https://www.infoq.com/articles/cellery-code-first-kubernetes/
Cellery code vs YAML
Type-checked, compiled, extensible and 50% less lines of code
Cellery 0.3
https://wso2-cellery.github.io/
● Cellery CLI: code, build and push/pull cells
○ Logic cells: API ingress using OAuth/JWT (Swagger)
○ Web cells: Web ingress inc. SSO enablement
● Deploy and run on Kubernetes / Istio with CRDs
● Observability, API gateway and API manager built in
● Build-time and run-time visualisation of cells and dependencies
● Startup dependencies and healthchecks
● Auto-scaling
● Serverless support (scale to zero) using knative
● Blue/Green and Canary deployment
● cellery test
● cellery -v / show kubectl commands
Roadmap
Cellery 0.4 - October 2019
● Stateful cells
● Composites (naked cells)
● Pre-defined CI/CD pipelines
● Simpler cell testing (telepresence) and inline tests
● Feature flagging and enhanced routing
● Performance improvements
● … and more
Future
● Enhanced cloud capabilities
● Typescript version?
● SMI support
● Applications
+ Your input!
How to get involved?
● Download and try it
○ https://github.com/wso2-cellery/sdk/blob/master/README.md
● Fork / Star on Github :-)
○ https://github.com/wso2-cellery/sdk
● Join the mailing list
○ https://groups.google.com/forum/#!forum/wso2-cellery-dev
● Contribute
○ https://github.com/wso2-cellery/sdk/blob/master/CONTRIBUTING.md
Why Cellery?
● Code completion and validation of cell definitions
● Visualisation of cells
● API-first architecture by default
● Automatic security enablement
● Concise config leads to fewer mistakes
● Scalable architecture
● Cells exist at build, test, run and manage/observe
○ Enables progressive delivery around the right unit
THANK YOU
wso2.com
Thank you / Questions

Más contenido relacionado

Más de WSO2

Más de WSO2 (20)

WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in Uganda
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

Deploy and Manage Composite Apps on Kubernetes like a Boss with Cellery

  • 1. Deploy and Manage Composite Apps on Kubernetes like a Boss with Cellery Webinar September 2019 Paul Fremantle, CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo #cellery
  • 2. Microservices and serverless applications are rapidly becoming the norm Source: http://microservices.io
  • 3. Kubernetes is becoming the de-facto deployment for cloud native apps
  • 4.
  • 6. What have I pre-installed and configured? Cellery 0.3 - 18Mb download (native, written in Go) https://product-dist.cellery.io/downloads/0.3.0/cellery-macos-installer-x64-0.3.0.pkg VSCode - optional for editing Ballerina 0.991.0 - optional to enable VSCode syntax support Set up some hostnames in /etc/hosts
  • 7. Cellery setup on GCP ~10 mins inc launching GKE cluster (Also options to install on existing k8s cluster or virtualbox)
  • 8.
  • 10. Demonstration cellery init cellery build cellery push cellery run cellery list instances kubectl get cells
  • 11. Why code-first? ● Type safety and validation ● Compiled into immutable images ● Utilise simple logic during build and run ○ E.g. lookup environment variables, string manipulation, common functions ● Visual Studio Code and Intellij Code plugins ○ Tab completion, syntax highlighting, error marking ● More compact than YAML
  • 12. Uber in 2016 - “Several hundred microservices”
  • 14. Bounded Context and Aggregates from Domain Driven Design / Eric Evans
  • 16. What is a cell in Cellery? ● A cell is an immutable application component ● Is built, deployed, updated and managed as a complete unit. ● Consists of multiple containers, services, managed APIs, ingress and egress policies, security trust domain, deployment policies, and defined external dependencies. ● Cells are versioned, pushed/pulled, deployed ○ Become re-usable units of architecture
  • 18. Demo cellery build cellery cell references cellery view cellery run -v login / SSO observability
  • 19. Self-contained Deployable as a unit API Centric Data plane and control plane Cells are building blocks for a composable enterprise
  • 21. Cellery open source components • Cellery CLI – Build, push/pull, run, update, and rollback cells • Cellery Mesh/Runtime – Extension to Kubernetes / Istio (CRDs) that add “cells” – E.g kubectl get cells • Cellery Observability – An observability dashboard that enables monitoring and tracing of cells
  • 24. Cellery and Service Mesh Cellery automatically configures Istio ● Cell boundaries ● Including load-balancing across replicas ● Auto-scaling ● Security and policy support (OPA) ● Blue-green and canary … based on your application architecture
  • 25. Blue-green and Canary # Update in place cellery pull wso2cellery/pet-be-cell:latestv2 cellery update pet-be wso2cellery/pet-be-cell:latestv2 # Blue-green / Canary cellery run wso2cellery/pet-be-cell:1.0.0 -n pet-be-1.0.0 # run initial cell cellery run wso2cellery/pet-be-cell:1.0.1 -n pet-be-1.0.1 # run new version cellery route-traffic pet-be-1.0.0 -p pet-be-1.0.1=10 # 10% to new cellery route-traffic pet-be-1.0.0 -p pet-be-1.0.1=100 # 100% cellery terminate pet-be-1.0.0 # terminate old
  • 29. Cellery code vs YAML Type-checked, compiled, extensible and 50% less lines of code
  • 30. Cellery 0.3 https://wso2-cellery.github.io/ ● Cellery CLI: code, build and push/pull cells ○ Logic cells: API ingress using OAuth/JWT (Swagger) ○ Web cells: Web ingress inc. SSO enablement ● Deploy and run on Kubernetes / Istio with CRDs ● Observability, API gateway and API manager built in ● Build-time and run-time visualisation of cells and dependencies ● Startup dependencies and healthchecks ● Auto-scaling ● Serverless support (scale to zero) using knative ● Blue/Green and Canary deployment ● cellery test ● cellery -v / show kubectl commands
  • 31. Roadmap Cellery 0.4 - October 2019 ● Stateful cells ● Composites (naked cells) ● Pre-defined CI/CD pipelines ● Simpler cell testing (telepresence) and inline tests ● Feature flagging and enhanced routing ● Performance improvements ● … and more Future ● Enhanced cloud capabilities ● Typescript version? ● SMI support ● Applications + Your input!
  • 32. How to get involved? ● Download and try it ○ https://github.com/wso2-cellery/sdk/blob/master/README.md ● Fork / Star on Github :-) ○ https://github.com/wso2-cellery/sdk ● Join the mailing list ○ https://groups.google.com/forum/#!forum/wso2-cellery-dev ● Contribute ○ https://github.com/wso2-cellery/sdk/blob/master/CONTRIBUTING.md
  • 33. Why Cellery? ● Code completion and validation of cell definitions ● Visualisation of cells ● API-first architecture by default ● Automatic security enablement ● Concise config leads to fewer mistakes ● Scalable architecture ● Cells exist at build, test, run and manage/observe ○ Enables progressive delivery around the right unit