SlideShare une entreprise Scribd logo
1  sur  46
Solum
PaaS/ALM for OpenStack
Devdatta Kulkarni, PTL, Solum
devdatta.kulkarni@rackspace.com
(irc: devkulkarni)
Outline
• Project goals
• Early trials and use-cases
• Solum architecture
• Factors influencing adoption
• Upcoming features
• Question and answers
2
OpenStack User survey – April 2016
3
What is Solum?
System which provides a declarative model for application developers to
deploy and run their application’s on OpenStack starting from
application’s source code
Why should you care?
– For developers, Solum provides an easy-to-use platform for building, testing, and
deploying applications on OpenStack clouds
– For operators, Solum provides ability to make their OpenStack cloud more useful
to their application developers by enabling CI/CD capabilities for applications to
OpenStack clouds
4
Project goals
Developer Productivity
Ability to perform CI/CD, integration with github, integration with existing CI solutions
Application Stack Flexibility
Ability to support applications written in different languages
Add-On Services Extensibility
Ability to support different add-on services
Application Portability
Ability to deploy applications across different OpenStack clouds
5
Solum - System for building and deploying applications to OpenStack
Clouds
Solum in context with other
OpenStack services
Cinder
(Block)
Manila
(File)
Trove
(DB)
Neutron
(Network)
Nova
(VM)
Glance
(Image)
Magnum
(Container
orchestration
& lifecycle)
Heat
(Orchestration)
Solum
(App lifecycle)
Keystone
(Identity)
Horizon
(UI)
Murano
(App catalog)
Mistral
(Workflow)
Ironic
(Baremetal)
Swift
(Object)
Barbican
(KeyMgmt)
Ceilometer
(Monitoring)
6
Early trials & usecases
7
Solum in the wild
8
Solum in use
Users/use-cases:
• Wipro
• Rackspace
• Paderborn University
Interest / References:
9
https://blog.jasoncallaway.com/
http://www.tcpcloud.eu/en/blog/2015/06/27/beyond-horizon-part-1/
http://ronaldbradford.com/blog/using-your-devstack-cloud-2016-04-05/
http://egonzalez.org/nova-docker-driver/
https://www.ctl.io/developers/blog/post/openstack-solum-on-the-centurylink-
cloud/
How to use existing Jenkins setup with Solum for performing seamless
application CI/CD on OpenStack?
Solum features used: App image storage in Glance, API to deploy a pre-built DU
Usecase 1
Wipro: Jenkins for CI, Solum for CD
Build
Test
Release
Deploy
Continuous
Integration with
Jenkins
Continuous
Deployment with
Solum
10
Easily deploy applications to Carina (container cluster service from Rackspace)
Usecase 2
Rackspace: Deploying apps to Docker Swarm
User sends
command as
“Deploy
Application”
from Rackspace
UI
Solum deploys
requested
application on
Carina
Rackspace UI
shows the
deployment
progress status
Solum features used: Pluggable deployer architecture; Built a Carina specific
deployer in Solum
11
Easily deploy applications to Virtual Machines
Usecase 3
Rackspace: Deploying apps to VMs
Solum features used: Pluggable deployer architecture, Used Solum’s Heat
deployer
User sends
command as
“Deploy
Application”
from Rackspace
UI
Solum deploys
requested
application on
Nova using Heat
Rackspace UI
shows the
deployment
progress status
12
Continuous integration and testing of Chef recipes
Solum features used:
Custom languagepacks: Developed a custom languagepack containing chef testing
tools (rubocop, foodcritic, chef-spec, test-kitchen)
https://github.com/openstack/solum/tree/master/examples/language-packs/chef
Integrate with Private github repositories
Usecase 4
Rackspace: Testing Chef recipes
User commits
Chef code to
github repo
Solum runs Chef
tests – test-
kitchen,
rubocop, chef-
spec, foodcritic
Solum saves
test results in
swift and sends
notification to
github
13
Considering to build and deploy services from source code
with an existing Heat template
Useful Solum features: Build application DUs,; integration with
public/private git repositories
Usecase 5
Paderborn Univ: Deploying multiple services
User defines
Heat HOT
Custom Heat
plugin calls
Solum to build
images
Heat deploys
the ensemble
14
Solum architecture
15
Solum abstractions and concepts
• Languagepack (LP)
• App
• Deployment Unit (DU)
• Workflow
• Parameters
16
Solum abstraction - Languagepack (LP)
• A Docker image that contains libraries, packages, and tools required for testing,
building, compiling an application
– Examples:
• Python applications need: pip, tox, python-mysqldb
• Java applications need: jdk, jre, maven
• Chef recipes: chefdk, rubocop, test-kitchen, foodcritic
• Application-specific languagepacks
– Different languagepacks for different life-cycle stages of an application
• Testing libraries may be different than libraries for building application artifacts
– Multi-language applications
• Combine all libraries and tools from different languages in a single languagepack
• Operator-defined languagepacks, user-defined languagepacks
$ solum languagepack create python https://github.com/rackspace-solum-samples/solum-languagepack-python.git
17
Solum abstraction - Languagepack Example:
Python
FROM ubuntu:precise
MAINTAINER Murali Allada
<murali.allada@rackspace.com>
RUN apt-get -yqq update
RUN apt-get -yqq install python-pip
RUN apt-get -yqq install python-dev
COPY build.sh /solum/bin/
https://github.com/rackspace-solum-samples/solum-languagepack-python
#!/bin/bash
# Check if pip is installed
pip help
[[ $? != 0 ]] && echo python-pip is
not installed. && exit 1
# Install app dependencies
cd /app
pip install -r requirements.txt
18
Solum – sample languagepacks
https://github.com/rackspace-solum-samples/solum-languagepack-python
https://github.com/rackspace-solum-samples/solum-languagepack-java
https://github.com/rackspace-solum-samples/solum-languagepack-nodejs
https://github.com/rackspace-solum-samples/solum-languagepack-
nodejswithmongo
https://github.com/rackspace-solum-samples/solum-languagepack-wordpress
https://github.com/openstack/solum/tree/master/examples/language-packs/chef
19
Other languagepacks to support
20
Solum abstraction - App
Declarative application
definition
• source code repository
• run command
• port
• languagepack
version: 1
name: cherrypy
description: python web app
languagepack: python
source:
repository:
https://github.com/rackspace-solum-
samples/solum-python-sample-
app.git
revision: master
workflow_config:
run_cmd: python app.py
ports:
- 80
$ solum app register --app-file appfile.yaml
Reason to specify languagepack:
• App developer knows what libraries
are required by their app
21
Solum concept - Deployment Unit (DU)
• Docker image that is formed from the languagepack image with
application’s source code added to it
DU = LP + application source code
• Solum guarantees the DU contract
Application source code available at a known location on the DU image
/app
• How to build a DU?
– Construct Dockerfile with languagepack as the base image, application
source code injected, run command as the entry point
– Build the DU image from this Dockerfile
• LP and DU storage
Glance and Swift
22
DU Deployment: Supported options
• Nova-docker driver
Works with DU images stored in Glance
• Heat + VM image + DU location provided through user_data section
Works with DU images stored in Swift/Docker registry
1-1 mapping of DU container to VM
• Carina deployer in Rackspace’s Solum environment
Works with Rackspace Carina
23
Solum abstraction - Workflow
• Abstraction to represent execution of application deployment
action
• Supported application deployment actions (workflows)
–Build DU
–Run unit tests and build DU
–Run unit tests, build DU, and deploy DU
–Build DU and deploy DU
–Deploy a pre-built DU
• Workflows can be triggered from github webhooks
$ solum app deploy cherrypy
24
Solum concept – Parameters
• Application parameters
– Services needed by an application
• E.g.: Connection parameters for relational database such as Trove
– These are injected into the DU
• Environmental parameters
– Parameters intended for Solum to use
• E.g.: Carina cluster credentials
• Parameters specified at:
– application registration time
– application deploy time (upcoming feature)
$ solum app create --app-file appfile.yaml --param-file params.yaml 25
Solum – sample apps
https://github.com/openstack/solum/blob/master/examples/apps/python_app.yaml
https://github.com/openstack/solum/blob/master/examples/apps/java_app.yaml
https://github.com/rackspace-solum-samples/solum-wordpress-sample-app
https://github.com/openstack/solum/blob/master/examples/apps/nodejs_app.yaml
26
Summary of current Solum features
• Create languagepacks
• Register, deploy, scale an app
• Update an app keeping the application URL same
• Specify application parameters when registering an app
• Integration with public and private github repositories (via github webooks)
• Deploy app using different compute form factors
– nova-docker
– VMs
– Container cluster (such as Docker Swarm)
• Environments (dev/test/staging/production)
– Possible by creating different app for each env and deploying same DU for each
27
High-level Architecture
Solum
API
Solum
Worker
Solum
Deployer
Queue Queue
Queue
Solum
Conductor
Heat
Database
Glance/Swift
Builds LP; run unit
tests; Build DU
Deploys DU
- Decoupled architecture
- Asynchronous
communication
28
Factors influencing adoption
29
Usage experience
• Languagepacks
- Languagepacks built: python, java, php, nodejs, angularjs, chef testing tools
- Internal test users at Rackspace tended to use operator defined languagepacks
- Need to install appropriate OS packages in addition to the language libraries/tools
- python-msqldb not sufficient, needed OS-level mysql package
- Languagepack creation is iterative process
- Learning curve – how to lower this barrier is question?
• Apps
Need for ease of application registration led to supporting interactive prompts for getting app information
• Github webhooks
– Started with support for public repositories
– Internal use-cases required adding support for
• Private repositories
• CLI support for registering deploy keys
• CLI support for two-factor authentication 30
Building LPs and DUs
How to provide isolated environment for building LP and DU Docker
images and running untrusted unit test scripts?
• Isolated ‘git clone’ with resource constraints on CPU, memory, disk on
containers running unit testing scripts
• Running unit testing scripts as unprivileged user inside a container
• Timeout mechanism to constrain and limit the running time of unit testing
scripts
• Easy-to-use CLI for operator to kill long running (malicious) containers
• On Rackspace version of Solum – using Carina for building LPs, running unit
tests, and building DUs
This provides a natural isolated environment
31
Reliability
Experience
• DU and LP images saved in Glance and Swift using ‘docker save’
• Success rate of building and saving archives improved from 80% to
98.8%
–Retry mechanism for performing git actions (git clone) and Docker actions
(build, save, load)
–Better use of Swift client to upload/download archives
–Race condition handling in ‘docker load’ and ‘docker rmi’
Perform ‘docker rmi’ only for DU images on the worker node and not for LP images
Small risk of Worker running out of disk space
32
Performance
Experimental setup - 2 servers, 10 workers, 10 deployers, Deployer: Heat with deployment to
VMs
Applications used - Mix of Python and Java applications
Deployed 330 applications in 30 minutesResults
330 Queued
• 3 in ERROR_STACK_CREATE_FAILED
• 327 in READY (99.09%)
Average time from QUEUED to READY = 348 seconds (6.5 minutes)
• 36.8 seconds for unit testing
• 99 seconds to build DU
• 41 seconds to deploy DU via Heat
• 120 seconds to start the web app (wget, docker load, docker run)
• Other time spent in queuing.
We are seeing faster times when using Carina deployer (within Rackspace Solum setup)
33
Community involvement
http://stackalytics.com/?release=all&project_type=openstack&module=solum-group
34
Upcoming features
35
Key Features for Newton
• Multi-tier/micro-service applications
– Currently possible using the parameter feature
– We plan to build native support in Solum during Newton (app file format changes)
• Infrastructure choice for deploying applications
– Operator vs. App developer choice
• VMs for isolation
• Bare metal for performance
• Container clusters for packaging
• Application monitoring
DU monitoring is the key
Leverage Heat + Ceilometer
36
Other Features
Health monitoring of Solum services and
apps
Documentation, examples
37
Solum Features/Improvements
Conclusions
• Good news
Solum is getting interest from users.
• Rackspace
• Wipro
• Paderborn University
• Current capabilities
•CI/CD of applications starting from app source code natively on
OpenStack
•Building custom languagepacks
•Integration with Github (public and private)
•CLI
• Exciting features have been planned for Newton
38
References
Wiki:
https://wiki.openstack.org/wiki/Solum
Setting up development environment:
https://wiki.openstack.org/wiki/Solum/solum-development-setup
Meetings:
Tuesdays 1700 UTC in #openstack-meeting-3
IRC:
Channel: #solum on freenode
Code:
https://github.com/openstack/solum
https://github.com/openstack/python-solumclient
Demo:
https://vimeo.com/163874891
https://vimeo.com/143425822
39
O N E FA N AT I C A L P L A C E | S A N A N T O N I O , T X 7 8 2 1 8
U S S A L E S : 1 - 8 0 0 - 9 61 - 2 8 8 8 | U S S U P P O R T: 1 - 8 0 0 - 9 61 - 4 4 5 4 | W W W. R AC K S PAC E . C O M
© RACKSPACE LTD. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED S TATES AND OTHER COUNTRIES. |
WWW.RACKSPACE.COM
Thank you
FROM ubuntu:14.04
RUN apt-get -yqq update && 
apt-get -yqq install openjdk-7-jdk
RUN apt-get -yqq install maven
ENV JAVA_HOME /usr/lib/jvm/java-7-
openjdk-amd64
COPY bin/build.sh /solum/bin
https://github.com/rackspace-solum-samples/solum-languagepack-java
mvn -v
[[ $? != 0 ]] && echo "maven is not
installed" && exit 1
# build
cd /app
mvn -q package
Dockerfile build.sh
Solum abstractions - Languagepack Example: Java
41
https://github.com/rackspace-solum-samples/solum-languagepack-wordpress
Dockerfile
--------------
Install PHP, required Apache modules
build.sh
------------
Empty
App run command
--------------------------
Setting the environment variables
and starting the app
Solum abstractions - Languagepack Example:
Wordpress
42
Basic operational flow
• API receives a request to build and deploy an app
• API sends the request to the Worker
• Worker downloads the specified LP from configured storage (Swift or Glance)
• Worker builds the DU and stores it
• Worker informs the Deployer to deploy the DU
• Deployer deploys the DU by calling Heat
43
Related Projects
• Deis
• CloudFoundry
• OpenShift
44
Performance
Experimental setup (2 servers, 10 workers, 10 deployers)
– MemTotal: 8171504 kB
– Architecture: x86_64
– CPU(s): 8
– Vendor ID: GenuineIntel
– CPU MHz: 2593.604
– Hypervisor vendor: Xen
– L1d cache: 32K
– L1i cache: 32K
– L2 cache: 256K
– L3 cache: 20480K
45
OpenStack User survey – April 2016
46

Contenu connexe

Tendances

Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013jsievers
 
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared LibraryCodifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared LibraryAlvin Huang
 
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep DiveDocker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep DiveKen Thompson
 
Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016Bruno Cornec
 
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...GlobalLogic Ukraine
 
Manila-An Update from Liberty
Manila-An Update from LibertyManila-An Update from Liberty
Manila-An Update from Libertyakshai_sarathy
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)QAware GmbH
 
Migrating from PDE to Tycho builds
Migrating from PDE to Tycho buildsMigrating from PDE to Tycho builds
Migrating from PDE to Tycho buildsTeodor Madan
 
Open Source Toolchains to Manage Cloud Infrastructure
Open Source Toolchains to Manage Cloud InfrastructureOpen Source Toolchains to Manage Cloud Infrastructure
Open Source Toolchains to Manage Cloud InfrastructureMark Hinkle
 
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarTestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarXebia Nederland BV
 
Do's and Do not's about p2
Do's and Do not's about p2Do's and Do not's about p2
Do's and Do not's about p2Pascal Rapicault
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifeidotCloud
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIAndrey Karpov
 
Containerd + buildkit breakout
Containerd + buildkit breakoutContainerd + buildkit breakout
Containerd + buildkit breakoutDocker, Inc.
 
JDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep DiveJDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep DiveSimon Ritter
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Jonas Rosland
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on JenkinsKnoldus Inc.
 
JDK 9: The Start of a New Future for Java
JDK 9: The Start of a New Future for JavaJDK 9: The Start of a New Future for Java
JDK 9: The Start of a New Future for JavaSimon Ritter
 
Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0Steffen Gebert
 

Tendances (20)

Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013
 
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared LibraryCodifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
 
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep DiveDocker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
 
Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016
 
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
 
Manila-An Update from Liberty
Manila-An Update from LibertyManila-An Update from Liberty
Manila-An Update from Liberty
 
CASCON 2017 - OpenAPI v3
CASCON 2017 - OpenAPI v3CASCON 2017 - OpenAPI v3
CASCON 2017 - OpenAPI v3
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
Migrating from PDE to Tycho builds
Migrating from PDE to Tycho buildsMigrating from PDE to Tycho builds
Migrating from PDE to Tycho builds
 
Open Source Toolchains to Manage Cloud Infrastructure
Open Source Toolchains to Manage Cloud InfrastructureOpen Source Toolchains to Manage Cloud Infrastructure
Open Source Toolchains to Manage Cloud Infrastructure
 
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarTestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
 
Do's and Do not's about p2
Do's and Do not's about p2Do's and Do not's about p2
Do's and Do not's about p2
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CI
 
Containerd + buildkit breakout
Containerd + buildkit breakoutContainerd + buildkit breakout
Containerd + buildkit breakout
 
JDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep DiveJDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep Dive
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
 
JDK 9: The Start of a New Future for Java
JDK 9: The Start of a New Future for JavaJDK 9: The Start of a New Future for Java
JDK 9: The Start of a New Future for Java
 
Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0
 

En vedette

Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...
Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...
Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...IT Arena
 
OpenStack Murano introduction
OpenStack Murano introductionOpenStack Murano introduction
OpenStack Murano introductionVictor Zhang
 
Evolve your toolchains dev/ops with OpenStack
Evolve your toolchains dev/ops with OpenStackEvolve your toolchains dev/ops with OpenStack
Evolve your toolchains dev/ops with OpenStackRyan Richard
 
OpenStack Murano Application Catalog
OpenStack Murano Application CatalogOpenStack Murano Application Catalog
OpenStack Murano Application CatalogAl Sayed Gamal
 
Mirantis, Openstack, Ubuntu, and it's Performance on Commodity Hardware
Mirantis, Openstack, Ubuntu, and it's Performance on Commodity HardwareMirantis, Openstack, Ubuntu, and it's Performance on Commodity Hardware
Mirantis, Openstack, Ubuntu, and it's Performance on Commodity HardwareRyan Aydelott
 
Automating Application over OpenStack using Workflows
Automating Application over OpenStack using WorkflowsAutomating Application over OpenStack using Workflows
Automating Application over OpenStack using WorkflowsYaron Parasol
 
Murano: Application Catalog for Openstack
Murano: Application Catalog for OpenstackMurano: Application Catalog for Openstack
Murano: Application Catalog for OpenstackAlexander Tivelkov
 
基于Fuel的超融合一体机
基于Fuel的超融合一体机基于Fuel的超融合一体机
基于Fuel的超融合一体机EdwardBadBoy
 
Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?Madhuri Kumari
 
OpenStack Automation Overview
OpenStack Automation OverviewOpenStack Automation Overview
OpenStack Automation OverviewDmitri Zimine
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStackopenstackindia
 
Automating OpenStack Deployment with Fuel
Automating OpenStack Deployment with FuelAutomating OpenStack Deployment with Fuel
Automating OpenStack Deployment with FuelTomasz Zen Napierala
 
Mistral and StackStorm
Mistral and StackStormMistral and StackStorm
Mistral and StackStormDmitri Zimine
 
Fuel, Puppet and OpenStack
Fuel, Puppet and OpenStackFuel, Puppet and OpenStack
Fuel, Puppet and OpenStackaedocw
 
An Introduction to OpenStack Heat
An Introduction to OpenStack HeatAn Introduction to OpenStack Heat
An Introduction to OpenStack HeatMirantis
 

En vedette (17)

Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...
Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...
Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...
 
OpenStack Murano introduction
OpenStack Murano introductionOpenStack Murano introduction
OpenStack Murano introduction
 
Evolve your toolchains dev/ops with OpenStack
Evolve your toolchains dev/ops with OpenStackEvolve your toolchains dev/ops with OpenStack
Evolve your toolchains dev/ops with OpenStack
 
OpenStack Murano Application Catalog
OpenStack Murano Application CatalogOpenStack Murano Application Catalog
OpenStack Murano Application Catalog
 
OpenStack Murano
OpenStack MuranoOpenStack Murano
OpenStack Murano
 
Mirantis, Openstack, Ubuntu, and it's Performance on Commodity Hardware
Mirantis, Openstack, Ubuntu, and it's Performance on Commodity HardwareMirantis, Openstack, Ubuntu, and it's Performance on Commodity Hardware
Mirantis, Openstack, Ubuntu, and it's Performance on Commodity Hardware
 
Automating Application over OpenStack using Workflows
Automating Application over OpenStack using WorkflowsAutomating Application over OpenStack using Workflows
Automating Application over OpenStack using Workflows
 
Murano: Application Catalog for Openstack
Murano: Application Catalog for OpenstackMurano: Application Catalog for Openstack
Murano: Application Catalog for Openstack
 
基于Fuel的超融合一体机
基于Fuel的超融合一体机基于Fuel的超融合一体机
基于Fuel的超融合一体机
 
Fuel Plugins
Fuel PluginsFuel Plugins
Fuel Plugins
 
Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?
 
OpenStack Automation Overview
OpenStack Automation OverviewOpenStack Automation Overview
OpenStack Automation Overview
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 
Automating OpenStack Deployment with Fuel
Automating OpenStack Deployment with FuelAutomating OpenStack Deployment with Fuel
Automating OpenStack Deployment with Fuel
 
Mistral and StackStorm
Mistral and StackStormMistral and StackStorm
Mistral and StackStorm
 
Fuel, Puppet and OpenStack
Fuel, Puppet and OpenStackFuel, Puppet and OpenStack
Fuel, Puppet and OpenStack
 
An Introduction to OpenStack Heat
An Introduction to OpenStack HeatAn Introduction to OpenStack Heat
An Introduction to OpenStack Heat
 

Similaire à Solum - OpenStack PaaS / ALM - Austin OpenStack summit

Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...Vietnam Open Infrastructure User Group
 
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko "Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko Fwdays
 
How to setup a development environment for ONAP
How to setup a development environment for ONAPHow to setup a development environment for ONAP
How to setup a development environment for ONAPVictor Morales
 
Webinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software DevelopmentWebinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software DevelopmentPlatform9
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Nicole Szigeti
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...OpenShift Origin
 
victoriia basarab - special aspects of dev ops platform development
victoriia basarab - special aspects of dev ops platform developmentvictoriia basarab - special aspects of dev ops platform development
victoriia basarab - special aspects of dev ops platform developmentDariia Seimova
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris O'Brien
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 
DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)Francesco Fiore
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsAmazon Web Services
 
PHP Dependency Management with Composer
PHP Dependency Management with ComposerPHP Dependency Management with Composer
PHP Dependency Management with ComposerAdam Englander
 
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdfŁukasz Piątkowski
 
Composer JSON kills make files
Composer JSON kills make filesComposer JSON kills make files
Composer JSON kills make filesropsu
 
Cluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards KubernetesCluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards KubernetesQAware GmbH
 
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...Amazon Web Services
 
Kubernetes for Java Developers
Kubernetes for Java DevelopersKubernetes for Java Developers
Kubernetes for Java DevelopersAnthony Dahanne
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 

Similaire à Solum - OpenStack PaaS / ALM - Austin OpenStack summit (20)

Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
 
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko "Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko
 
How to setup a development environment for ONAP
How to setup a development environment for ONAPHow to setup a development environment for ONAP
How to setup a development environment for ONAP
 
Webinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software DevelopmentWebinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software Development
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
 
victoriia basarab - special aspects of dev ops platform development
victoriia basarab - special aspects of dev ops platform developmentvictoriia basarab - special aspects of dev ops platform development
victoriia basarab - special aspects of dev ops platform development
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
 
PHP Dependency Management with Composer
PHP Dependency Management with ComposerPHP Dependency Management with Composer
PHP Dependency Management with Composer
 
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
 
Composer JSON kills make files
Composer JSON kills make filesComposer JSON kills make files
Composer JSON kills make files
 
Appsody
AppsodyAppsody
Appsody
 
XPDays-2018
XPDays-2018XPDays-2018
XPDays-2018
 
Cluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards KubernetesCluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards Kubernetes
 
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
 
Kubernetes for Java Developers
Kubernetes for Java DevelopersKubernetes for Java Developers
Kubernetes for Java Developers
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 

Dernier

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
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...WSO2
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
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...WSO2
 

Dernier (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
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...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
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...
 

Solum - OpenStack PaaS / ALM - Austin OpenStack summit

  • 1. Solum PaaS/ALM for OpenStack Devdatta Kulkarni, PTL, Solum devdatta.kulkarni@rackspace.com (irc: devkulkarni)
  • 2. Outline • Project goals • Early trials and use-cases • Solum architecture • Factors influencing adoption • Upcoming features • Question and answers 2
  • 3. OpenStack User survey – April 2016 3
  • 4. What is Solum? System which provides a declarative model for application developers to deploy and run their application’s on OpenStack starting from application’s source code Why should you care? – For developers, Solum provides an easy-to-use platform for building, testing, and deploying applications on OpenStack clouds – For operators, Solum provides ability to make their OpenStack cloud more useful to their application developers by enabling CI/CD capabilities for applications to OpenStack clouds 4
  • 5. Project goals Developer Productivity Ability to perform CI/CD, integration with github, integration with existing CI solutions Application Stack Flexibility Ability to support applications written in different languages Add-On Services Extensibility Ability to support different add-on services Application Portability Ability to deploy applications across different OpenStack clouds 5
  • 6. Solum - System for building and deploying applications to OpenStack Clouds Solum in context with other OpenStack services Cinder (Block) Manila (File) Trove (DB) Neutron (Network) Nova (VM) Glance (Image) Magnum (Container orchestration & lifecycle) Heat (Orchestration) Solum (App lifecycle) Keystone (Identity) Horizon (UI) Murano (App catalog) Mistral (Workflow) Ironic (Baremetal) Swift (Object) Barbican (KeyMgmt) Ceilometer (Monitoring) 6
  • 7. Early trials & usecases 7
  • 8. Solum in the wild 8
  • 9. Solum in use Users/use-cases: • Wipro • Rackspace • Paderborn University Interest / References: 9 https://blog.jasoncallaway.com/ http://www.tcpcloud.eu/en/blog/2015/06/27/beyond-horizon-part-1/ http://ronaldbradford.com/blog/using-your-devstack-cloud-2016-04-05/ http://egonzalez.org/nova-docker-driver/ https://www.ctl.io/developers/blog/post/openstack-solum-on-the-centurylink- cloud/
  • 10. How to use existing Jenkins setup with Solum for performing seamless application CI/CD on OpenStack? Solum features used: App image storage in Glance, API to deploy a pre-built DU Usecase 1 Wipro: Jenkins for CI, Solum for CD Build Test Release Deploy Continuous Integration with Jenkins Continuous Deployment with Solum 10
  • 11. Easily deploy applications to Carina (container cluster service from Rackspace) Usecase 2 Rackspace: Deploying apps to Docker Swarm User sends command as “Deploy Application” from Rackspace UI Solum deploys requested application on Carina Rackspace UI shows the deployment progress status Solum features used: Pluggable deployer architecture; Built a Carina specific deployer in Solum 11
  • 12. Easily deploy applications to Virtual Machines Usecase 3 Rackspace: Deploying apps to VMs Solum features used: Pluggable deployer architecture, Used Solum’s Heat deployer User sends command as “Deploy Application” from Rackspace UI Solum deploys requested application on Nova using Heat Rackspace UI shows the deployment progress status 12
  • 13. Continuous integration and testing of Chef recipes Solum features used: Custom languagepacks: Developed a custom languagepack containing chef testing tools (rubocop, foodcritic, chef-spec, test-kitchen) https://github.com/openstack/solum/tree/master/examples/language-packs/chef Integrate with Private github repositories Usecase 4 Rackspace: Testing Chef recipes User commits Chef code to github repo Solum runs Chef tests – test- kitchen, rubocop, chef- spec, foodcritic Solum saves test results in swift and sends notification to github 13
  • 14. Considering to build and deploy services from source code with an existing Heat template Useful Solum features: Build application DUs,; integration with public/private git repositories Usecase 5 Paderborn Univ: Deploying multiple services User defines Heat HOT Custom Heat plugin calls Solum to build images Heat deploys the ensemble 14
  • 16. Solum abstractions and concepts • Languagepack (LP) • App • Deployment Unit (DU) • Workflow • Parameters 16
  • 17. Solum abstraction - Languagepack (LP) • A Docker image that contains libraries, packages, and tools required for testing, building, compiling an application – Examples: • Python applications need: pip, tox, python-mysqldb • Java applications need: jdk, jre, maven • Chef recipes: chefdk, rubocop, test-kitchen, foodcritic • Application-specific languagepacks – Different languagepacks for different life-cycle stages of an application • Testing libraries may be different than libraries for building application artifacts – Multi-language applications • Combine all libraries and tools from different languages in a single languagepack • Operator-defined languagepacks, user-defined languagepacks $ solum languagepack create python https://github.com/rackspace-solum-samples/solum-languagepack-python.git 17
  • 18. Solum abstraction - Languagepack Example: Python FROM ubuntu:precise MAINTAINER Murali Allada <murali.allada@rackspace.com> RUN apt-get -yqq update RUN apt-get -yqq install python-pip RUN apt-get -yqq install python-dev COPY build.sh /solum/bin/ https://github.com/rackspace-solum-samples/solum-languagepack-python #!/bin/bash # Check if pip is installed pip help [[ $? != 0 ]] && echo python-pip is not installed. && exit 1 # Install app dependencies cd /app pip install -r requirements.txt 18
  • 19. Solum – sample languagepacks https://github.com/rackspace-solum-samples/solum-languagepack-python https://github.com/rackspace-solum-samples/solum-languagepack-java https://github.com/rackspace-solum-samples/solum-languagepack-nodejs https://github.com/rackspace-solum-samples/solum-languagepack- nodejswithmongo https://github.com/rackspace-solum-samples/solum-languagepack-wordpress https://github.com/openstack/solum/tree/master/examples/language-packs/chef 19
  • 21. Solum abstraction - App Declarative application definition • source code repository • run command • port • languagepack version: 1 name: cherrypy description: python web app languagepack: python source: repository: https://github.com/rackspace-solum- samples/solum-python-sample- app.git revision: master workflow_config: run_cmd: python app.py ports: - 80 $ solum app register --app-file appfile.yaml Reason to specify languagepack: • App developer knows what libraries are required by their app 21
  • 22. Solum concept - Deployment Unit (DU) • Docker image that is formed from the languagepack image with application’s source code added to it DU = LP + application source code • Solum guarantees the DU contract Application source code available at a known location on the DU image /app • How to build a DU? – Construct Dockerfile with languagepack as the base image, application source code injected, run command as the entry point – Build the DU image from this Dockerfile • LP and DU storage Glance and Swift 22
  • 23. DU Deployment: Supported options • Nova-docker driver Works with DU images stored in Glance • Heat + VM image + DU location provided through user_data section Works with DU images stored in Swift/Docker registry 1-1 mapping of DU container to VM • Carina deployer in Rackspace’s Solum environment Works with Rackspace Carina 23
  • 24. Solum abstraction - Workflow • Abstraction to represent execution of application deployment action • Supported application deployment actions (workflows) –Build DU –Run unit tests and build DU –Run unit tests, build DU, and deploy DU –Build DU and deploy DU –Deploy a pre-built DU • Workflows can be triggered from github webhooks $ solum app deploy cherrypy 24
  • 25. Solum concept – Parameters • Application parameters – Services needed by an application • E.g.: Connection parameters for relational database such as Trove – These are injected into the DU • Environmental parameters – Parameters intended for Solum to use • E.g.: Carina cluster credentials • Parameters specified at: – application registration time – application deploy time (upcoming feature) $ solum app create --app-file appfile.yaml --param-file params.yaml 25
  • 26. Solum – sample apps https://github.com/openstack/solum/blob/master/examples/apps/python_app.yaml https://github.com/openstack/solum/blob/master/examples/apps/java_app.yaml https://github.com/rackspace-solum-samples/solum-wordpress-sample-app https://github.com/openstack/solum/blob/master/examples/apps/nodejs_app.yaml 26
  • 27. Summary of current Solum features • Create languagepacks • Register, deploy, scale an app • Update an app keeping the application URL same • Specify application parameters when registering an app • Integration with public and private github repositories (via github webooks) • Deploy app using different compute form factors – nova-docker – VMs – Container cluster (such as Docker Swarm) • Environments (dev/test/staging/production) – Possible by creating different app for each env and deploying same DU for each 27
  • 28. High-level Architecture Solum API Solum Worker Solum Deployer Queue Queue Queue Solum Conductor Heat Database Glance/Swift Builds LP; run unit tests; Build DU Deploys DU - Decoupled architecture - Asynchronous communication 28
  • 30. Usage experience • Languagepacks - Languagepacks built: python, java, php, nodejs, angularjs, chef testing tools - Internal test users at Rackspace tended to use operator defined languagepacks - Need to install appropriate OS packages in addition to the language libraries/tools - python-msqldb not sufficient, needed OS-level mysql package - Languagepack creation is iterative process - Learning curve – how to lower this barrier is question? • Apps Need for ease of application registration led to supporting interactive prompts for getting app information • Github webhooks – Started with support for public repositories – Internal use-cases required adding support for • Private repositories • CLI support for registering deploy keys • CLI support for two-factor authentication 30
  • 31. Building LPs and DUs How to provide isolated environment for building LP and DU Docker images and running untrusted unit test scripts? • Isolated ‘git clone’ with resource constraints on CPU, memory, disk on containers running unit testing scripts • Running unit testing scripts as unprivileged user inside a container • Timeout mechanism to constrain and limit the running time of unit testing scripts • Easy-to-use CLI for operator to kill long running (malicious) containers • On Rackspace version of Solum – using Carina for building LPs, running unit tests, and building DUs This provides a natural isolated environment 31
  • 32. Reliability Experience • DU and LP images saved in Glance and Swift using ‘docker save’ • Success rate of building and saving archives improved from 80% to 98.8% –Retry mechanism for performing git actions (git clone) and Docker actions (build, save, load) –Better use of Swift client to upload/download archives –Race condition handling in ‘docker load’ and ‘docker rmi’ Perform ‘docker rmi’ only for DU images on the worker node and not for LP images Small risk of Worker running out of disk space 32
  • 33. Performance Experimental setup - 2 servers, 10 workers, 10 deployers, Deployer: Heat with deployment to VMs Applications used - Mix of Python and Java applications Deployed 330 applications in 30 minutesResults 330 Queued • 3 in ERROR_STACK_CREATE_FAILED • 327 in READY (99.09%) Average time from QUEUED to READY = 348 seconds (6.5 minutes) • 36.8 seconds for unit testing • 99 seconds to build DU • 41 seconds to deploy DU via Heat • 120 seconds to start the web app (wget, docker load, docker run) • Other time spent in queuing. We are seeing faster times when using Carina deployer (within Rackspace Solum setup) 33
  • 36. Key Features for Newton • Multi-tier/micro-service applications – Currently possible using the parameter feature – We plan to build native support in Solum during Newton (app file format changes) • Infrastructure choice for deploying applications – Operator vs. App developer choice • VMs for isolation • Bare metal for performance • Container clusters for packaging • Application monitoring DU monitoring is the key Leverage Heat + Ceilometer 36
  • 37. Other Features Health monitoring of Solum services and apps Documentation, examples 37 Solum Features/Improvements
  • 38. Conclusions • Good news Solum is getting interest from users. • Rackspace • Wipro • Paderborn University • Current capabilities •CI/CD of applications starting from app source code natively on OpenStack •Building custom languagepacks •Integration with Github (public and private) •CLI • Exciting features have been planned for Newton 38
  • 39. References Wiki: https://wiki.openstack.org/wiki/Solum Setting up development environment: https://wiki.openstack.org/wiki/Solum/solum-development-setup Meetings: Tuesdays 1700 UTC in #openstack-meeting-3 IRC: Channel: #solum on freenode Code: https://github.com/openstack/solum https://github.com/openstack/python-solumclient Demo: https://vimeo.com/163874891 https://vimeo.com/143425822 39
  • 40. O N E FA N AT I C A L P L A C E | S A N A N T O N I O , T X 7 8 2 1 8 U S S A L E S : 1 - 8 0 0 - 9 61 - 2 8 8 8 | U S S U P P O R T: 1 - 8 0 0 - 9 61 - 4 4 5 4 | W W W. R AC K S PAC E . C O M © RACKSPACE LTD. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED S TATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM Thank you
  • 41. FROM ubuntu:14.04 RUN apt-get -yqq update && apt-get -yqq install openjdk-7-jdk RUN apt-get -yqq install maven ENV JAVA_HOME /usr/lib/jvm/java-7- openjdk-amd64 COPY bin/build.sh /solum/bin https://github.com/rackspace-solum-samples/solum-languagepack-java mvn -v [[ $? != 0 ]] && echo "maven is not installed" && exit 1 # build cd /app mvn -q package Dockerfile build.sh Solum abstractions - Languagepack Example: Java 41
  • 42. https://github.com/rackspace-solum-samples/solum-languagepack-wordpress Dockerfile -------------- Install PHP, required Apache modules build.sh ------------ Empty App run command -------------------------- Setting the environment variables and starting the app Solum abstractions - Languagepack Example: Wordpress 42
  • 43. Basic operational flow • API receives a request to build and deploy an app • API sends the request to the Worker • Worker downloads the specified LP from configured storage (Swift or Glance) • Worker builds the DU and stores it • Worker informs the Deployer to deploy the DU • Deployer deploys the DU by calling Heat 43
  • 44. Related Projects • Deis • CloudFoundry • OpenShift 44
  • 45. Performance Experimental setup (2 servers, 10 workers, 10 deployers) – MemTotal: 8171504 kB – Architecture: x86_64 – CPU(s): 8 – Vendor ID: GenuineIntel – CPU MHz: 2593.604 – Hypervisor vendor: Xen – L1d cache: 32K – L1i cache: 32K – L2 cache: 256K – L3 cache: 20480K 45
  • 46. OpenStack User survey – April 2016 46