SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
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

Contenu connexe

Plus de WSO2

CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 
API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)WSO2
 
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...WSO2
 
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It![ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!WSO2
 
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital EcosystemWSO2
 
[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAM[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAMWSO2
 
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...WSO2
 
[apidays Live Australia] How does leveraging de-centralised architecture impr...
[apidays Live Australia] How does leveraging de-centralised architecture impr...[apidays Live Australia] How does leveraging de-centralised architecture impr...
[apidays Live Australia] How does leveraging de-centralised architecture impr...WSO2
 
[apidays Live Australia] How do you enhance customer experience through event...
[apidays Live Australia] How do you enhance customer experience through event...[apidays Live Australia] How do you enhance customer experience through event...
[apidays Live Australia] How do you enhance customer experience through event...WSO2
 

Plus de WSO2 (20)

CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 
API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)
 
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
 
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It![ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
 
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
 
[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAM[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAM
 
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
 
[apidays Live Australia] How does leveraging de-centralised architecture impr...
[apidays Live Australia] How does leveraging de-centralised architecture impr...[apidays Live Australia] How does leveraging de-centralised architecture impr...
[apidays Live Australia] How does leveraging de-centralised architecture impr...
 
[apidays Live Australia] How do you enhance customer experience through event...
[apidays Live Australia] How do you enhance customer experience through event...[apidays Live Australia] How do you enhance customer experience through event...
[apidays Live Australia] How do you enhance customer experience through event...
 

Dernier

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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 WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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...Miguel Araújo
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Dernier (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

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