SlideShare ist ein Scribd-Unternehmen logo
1 von 37
ANSIBLE SERVICE BROKER
Deploying multi-container applications on OpenShift
Tommy Hughes Vinny Valdez
Scott Collier Kent Hua
AWS Loft Event
July 11, 2017
ENTER TO WIN!
1080p 3D GAMING PROJECTOR
Red Hat + AWS is a
winning combination!
You can win by
entering our raffle:
http://red.ht/AWSLoft
● Sandboxed application processes on a
shared Linux OS kernel
● Simpler, lighter, and denser than virtual
machines
● Portable across different environments
● Package my application and all of its
dependencies
● Deploy to any environment in seconds and
enable CI/CD
● Easily access and share containerized
components
Sys-Admins / Ops Developers
It Depends on Who You Ask
What Are Containers?
DevOps With Containers Across the Hybrid Cloud?
Source
Repository
CI/CD
Engine
Dev Container
Physical
Virtual
Private cloud
Public cloud
Self-Service
Multi-language
Automation
Collaboration
Seamless
Standards-based
Web-scale
Open Source
Enterprise Grade
Secure
Critical features for both Dev and Ops
Trusted Container OS
Trusted by Fortune Global
500 companies
Container Runtime & Packaging
(Docker)
Enterprise Container Host
Red Hat Enterprise LinuxAtomic Host
Container Runtime & Packaging
(Docker)
Enterprise Container Host
Red Hat Enterprise LinuxAtomic Host
Enterprise Kubernetes
CloudForms
Red Hat Storage
Infrastructure Automation & Mg
Networking Storage Registry
Logs &
Metrics
Security
Container Orchestration & Cluster Management
(kubernetes)
10,000 foot overview
Container Runtime & Packaging
(Docker)
Enterprise Container Host
Red Hat Enterprise LinuxAtomic Host
Enterprise Container Platform
Source-2-Image
Application Pipelines
Dev ToolsOpenShift Application Lifecycle Management
(CI/CD)
Build Automation Deployment Automation
Service Catalog
(Language Runtimes, Middleware, Databases)
Self-Service
Infrastructure Automation & Cockpit
Networking Storage Registry
Logs &
Metrics
Security
Container Orchestration & Cluster Management
(kubernetes)
JBOSS EAP
JBOSS DATA GRID
JBOSS DATA
VIRTUALIZATION
JBOSS AM-Q
JBOSS BRMS
JBOSS BPM
JBOSS FUSE
RED HAT MOBILE
3 Scale
Container
Business
Automation
Container
Integration
Container
Data &
Storage
Container
Web &
Mobile
Traditional, Stateful, and Microservices-based Apps
OpenShift Application Lifecycle Management
(CI/CD)
Build Automation Deployment Automation
Service Catalog
(Language Runtimes, Middleware, Databases)
Self-Service
Infrastructure Automation & Cockpit
Networking Storage Registry
Logs &
Metrics
Security
Container Orchestration & Cluster Management
(kubernetes)
Container Runtime & Packaging
(Docker)
Enterprise Container Host
Red Hat Enterprise LinuxAtomic Host
Commons
Get Involved With Zero Commitment
Where users, partners, customers,
and contributors come together to
collaborate and work together on
OpenShift.
https://commons.openshift.org/
Quickly build, host, and scale
containerized applications in the
public cloud, operated and supported
by Red Hat.
Origin is the upstream community
project that powers OpenShift.
https://www.openshift.com/ https://openshift.org/
Ansible Service Broker
13
● API working group formed in September 2016, officially announced December; successor to CF
Service Broker API
● API defines an HTTP interface between the services marketplace of a platform and service brokers
● Service Broker is the component of the service that implements the Service Broker API, for which a
platform's marketplace is a client
● Service brokers are responsible for advertising a catalog of service offerings and service plans to the
marketplace, and acting on requests from the marketplace for:
○ Provisioning, binding, unbinding, and deprovisioning
○ Provisioning reserves a resource (service instance)
○ Binding typically generates credentials necessary for accessing the resource or provides the service
instance with information for a configuration change
● Platform marketplace may expose services from one or many service brokers
● Individual service broker may support one or many platform marketplaces using different URL prefixes
and credentials
● Backed by numerous industry leaders including Fujitsu, Google, IBM, Pivotal, Red Hat, and SAP
Open Service Broker API
Overview
ANSIBLE SERVICE BROKER
Orchestrating OpenShift Services
● Define, extend, and deliver “simple” to “complex” multi-container OpenShift services
● Standardized approach to using Ansible to manage and provision applications
● Leverage existing investment in Ansible roles/playbooks
● Easy management of applications for “simple” cloud-native apps
Ansible Service Broker
● Embraces Service Catalog and Open Service
Broker API concepts
● Supports:
○ Traditional S2I deployments
○ Provisioning of pre-existing images
○ Orchestrating external services
○ Deploying multi-service solutions
Ansible Playbook Bundle
● Lightweight application definition (meta-container)
● Simple directory employing:
○ Named playbooks [provision, bind, …] to
perform Open Service Broker actions
○ Metadata containing a list of required /
optional parameters during deployment
○ Embedded Ansible runtime
ANSIBLE SERVICE BROKER - Architecture
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
Ansible
Playbook Bundle
Service Broker
Service Broker
Service Broker
Ansible
Playbook Bundle
OpenShift
Service
oc run $appname $method $vars
ansible-playbook $method.yaml $vars
• catalog
• provision
• deprovision
• bind
• unbind
OpenShift Mall /
Service Catalog
Example Ansible Playbook Bundles:
• ELK, Etherpad, Foreman, Galera
• ManageIQ, MongoDB, PostgreSQL
• Foreman, Pulp, Wordpress
• External MLAB MongoDB SaaS
• and more...
Supports
provisioning of
and binding to
both on-platform
and off-platform
(public cloud)
services!
ANSIBLE PLAYBOOK BUNDLE (APB)
Definition
● Simple directory with named “action”
playbooks and metadata.
● Metadata:
○ required/optional parameters
○ dependencies (provision vs bind)
● Leverages existing investment in Ansible
Roles / Playbooks.
● Developer Tooling to drive guided approach.
● Easily modified or extended.
ANSIBLE PLAYBOOK BUNDLE (APB)
A Closer Look
Steps to create an APB:
1. Create apb.yml
2. Create Ansible Playbooks
3. apb prepare
a. Creates Dockerfile with image labels
4. Build container
ANSIBLE PLAYBOOK BUNDLE (APB)
abp.yaml
abp.yml
playbooks
provision.yml
deprovision.yml
Dockerfile
name: helloworld-apb
image: myorg/helloworld-apb
parameters:
- name: namespace
type: string
default: hello-world-apb
- name: message
type: string
default: "Hello World"
ANSIBLE PLAYBOOK BUNDLE (APB)
provision.yml
abp.yml
playbooks
provision.yml
deprovision.yml
Dockerfile
- name: Deploy sampleapp
hosts: localhost
connection: local
tasks:
- name: create namespace
shell: "oc new-project {{ ns }}"
- name: create app dc
shell: "oc create -n {{ ns }} -f sampleapp.yml"
ANSIBLE PLAYBOOK BUNDLE (APB)
deprovision.yml
abp.yml
playbooks
provision.yml
deprovision.yml
Dockerfile
- name: Uninstall sampleapp
hosts: localhost
connection: local
tasks:
- name: delete namespace
shell: "oc delete project {{ ns }}"
ANSIBLE PLAYBOOK BUNDLE (APB)
Dockerfile - Ansible runtime for base image
abp.yml
playbooks
provision.yml
deprovision.yml
Dockerfile
FROM ansibleplaybookbundle/apb-base
LABEL "com.redhat.apb.version"="0.1.0"
LABEL "com.redhat.apb.spec"=”...<base64 encoded apb.yml data >…”
ADD roles /opt/ansible/roles
ADD playbooks /opt/apb/actions
RUN useradd -u 1001 -r -g 0 -M -b /opt/apb -s /sbin/nologin -c "apb user"
apb
RUN chown -R 1001:0 /opt/{ansible,apb}
USER 1001
ANSIBLE PLAYBOOK BUNDLE (APB)
Ansible 2.4 will include k8s/openshift modules
- name: create namespace
shell: "oc new-project {{ ns }}"
- name: create route
shell: "oc create -n {{ ns }} -f route.yml"
apiVersion: v1
kind: Route
spec:
port:
targetPort: port-80
<snip>
- openshift_v1_project:
name: '{{ ns }}'
- openshift_v1_route:
name: wordpress
namespace: '{{ ns }}'
port_target_port: 80
Playbook - Executes oc commands directly Playbook - Leverages Ansible Modules for K8S/OCP
https://github.com/openshift/openshift-restclient-python
How about a demo?
Bind Example
Python WebApp + PostgreSQL
Download Postgres APB
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
postgres-demo-apb
OpenShift Mall /
Service Catalog
Run provision.yaml from postgres-demo-apb
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
postgres-demo-apb
postgres-demo-apb
oc run $appname $method $vars
ansible-playbook $method.yaml $vars
OpenShift Mall /
Service Catalog
Postgres is now running
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
postgres-demo-apb
postgres-demo-apb
oc run $appname $method $vars
ansible-playbook $method.yaml $vars
OpenShift Mall /
Service Catalog
Pod:
postgres-demo
Create WebApp
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
postgres-demo-apb
postgres-demo-apb
oc run $appname $method $vars
ansible-playbook $method.yaml $vars
OpenShift Mall /
Service Catalog
Pod:
postgres-demo
S2I Created
Python WebApp
Bind Postgres to WebApp
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
postgres-demo-apb
postgres-demo-apb
oc run $appname $method $vars
ansible-playbook provision.yaml $vars
OpenShift Mall /
Service Catalog
POD:
postgres-demo
S2I Created
Python WebApp
Bind connects the
WebApp to the
Database
What is Bind Doing?
Ansible
Service Broker
postgres-demo-apb
OpenShift Mall /
Service Catalog
Pod:
postgres-demo
S2I Created
Python WebApp
APB returns
credentials of
service to Broker
Service Catalog
injects credentials
into pod
Credentials
Bind WebApp to PostgreSQL
Binding connects
WebApp to
Database through a
Secret
PostgreSQL APB: https://github.com/fusor/apb-examples/tree/master/postgresql-demo-apb
apb.yml
Dockerfile
playbooks
provision.yaml
roles
postgresql-demo-apb-openshift
defaults
main.yml
files
airports.ddl
airports.sql
tasks
main.yml
- name: create service
k8s_v1_service:
name: postgresql
namespace: '{{ namespace }}'
state: present
labels:
app: postgresql-demo-apb
service: postgresql
selector:
app: postgresql-demo-apb
service: postgresql
ports:
- name: port-5432
port: 5432
protocol: TCP
target_port: 5432
register: postgres_service
https://github.com/fusor/apb-examples
34
Ansible Service Broker
More Information
● Email: ansible-service-broker@redhat.com
● IRC (Freenode): #asbroker
● Trello: https://trello.com/b/50JhiC5v/ansible-service-broker
● Github:
○ https://github.com/fusor/ansible-service-broker
○ https://github.com/fusor/ansible-playbook-bundle
○ https://github.com/fusor/catasb
● Library of example APBs: https://github.com/fusor/apb-examples
○ ManageIQ, Etherpad, Wordpress, ELK Stack
● YouTube Channel: https://www.youtube.com/channel/UC04eOMIMiV06_RSZPb4OOBw
○ Using the Service Catalog to Bind a PostgreSQL APB to a Python Web App
■ https://www.youtube.com/watch?v=xmd52NhEjCk
○ Service Catalog deploying ManageIQ APB on to OpenShift
■ https://www.youtube.com/watch?v=J6rDssVEZuQ
● Docker hub published APBs
○ https://hub.docker.com/u/ansibleplaybookbundle/
35
Questions?
ENTER TO WIN!
1080p 3D GAMING PROJECTOR
Red Hat + AWS is a
winning combination!
You can win by
entering our raffle:
http://red.ht/AWSLoft
LIKE WHAT YOU SEE TODAY?
QUALIFY FOR OUR P.O.C
We have funded a POC
Program for qualifying
OpenShift customers.
If you’re interested, chat
with us at the end of the
session today!

Weitere ähnliche Inhalte

Was ist angesagt?

Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018Richard Clark
 
Basic and Advanced Analysis of Ceph Volume Backend Driver in Cinder - John Haan
Basic and Advanced Analysis of Ceph Volume Backend Driver in Cinder - John HaanBasic and Advanced Analysis of Ceph Volume Backend Driver in Cinder - John Haan
Basic and Advanced Analysis of Ceph Volume Backend Driver in Cinder - John HaanCeph Community
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdfVuHoangAnh14
 
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneAlexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneZabbix
 
VMware Advance Troubleshooting Workshop - Day 3
VMware Advance Troubleshooting Workshop - Day 3VMware Advance Troubleshooting Workshop - Day 3
VMware Advance Troubleshooting Workshop - Day 3Vepsun Technologies
 
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)Mirantis
 
OpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
OpenStack Administration by Mobarak Hossain Group Organizer BangladeshOpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
OpenStack Administration by Mobarak Hossain Group Organizer BangladeshMobarak Hossain
 
OpenStack VDI and DaaS with Leostream and the Teradici Pervasive Cloud Comput...
OpenStack VDI and DaaS with Leostream and the Teradici Pervasive Cloud Comput...OpenStack VDI and DaaS with Leostream and the Teradici Pervasive Cloud Comput...
OpenStack VDI and DaaS with Leostream and the Teradici Pervasive Cloud Comput...Leostream
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Edureka!
 
Introduction to openshift
Introduction to openshiftIntroduction to openshift
Introduction to openshiftMamathaBusi
 
OpenStack vs VMware vCloud
OpenStack vs VMware vCloudOpenStack vs VMware vCloud
OpenStack vs VMware vCloudRoozbeh Shafiee
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Novell
 
Virtual desktop infrastructure
Virtual desktop infrastructureVirtual desktop infrastructure
Virtual desktop infrastructureGokulan Subramani
 
Openstack Trunk Port
Openstack Trunk PortOpenstack Trunk Port
Openstack Trunk Portbenceromsics
 
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...Edureka!
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatAmazon Web Services
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Wan Leung Wong
 

Was ist angesagt? (20)

Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018
 
Basic and Advanced Analysis of Ceph Volume Backend Driver in Cinder - John Haan
Basic and Advanced Analysis of Ceph Volume Backend Driver in Cinder - John HaanBasic and Advanced Analysis of Ceph Volume Backend Driver in Cinder - John Haan
Basic and Advanced Analysis of Ceph Volume Backend Driver in Cinder - John Haan
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdf
 
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneAlexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
 
VMware Advance Troubleshooting Workshop - Day 3
VMware Advance Troubleshooting Workshop - Day 3VMware Advance Troubleshooting Workshop - Day 3
VMware Advance Troubleshooting Workshop - Day 3
 
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
 
Openshift
Openshift Openshift
Openshift
 
OpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
OpenStack Administration by Mobarak Hossain Group Organizer BangladeshOpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
OpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
 
OpenStack VDI and DaaS with Leostream and the Teradici Pervasive Cloud Comput...
OpenStack VDI and DaaS with Leostream and the Teradici Pervasive Cloud Comput...OpenStack VDI and DaaS with Leostream and the Teradici Pervasive Cloud Comput...
OpenStack VDI and DaaS with Leostream and the Teradici Pervasive Cloud Comput...
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Introduction to openshift
Introduction to openshiftIntroduction to openshift
Introduction to openshift
 
OpenStack vs VMware vCloud
OpenStack vs VMware vCloudOpenStack vs VMware vCloud
OpenStack vs VMware vCloud
 
Microsoft Hyper-V
Microsoft Hyper-VMicrosoft Hyper-V
Microsoft Hyper-V
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
 
Proxmox for DevOps
Proxmox for DevOpsProxmox for DevOps
Proxmox for DevOps
 
Virtual desktop infrastructure
Virtual desktop infrastructureVirtual desktop infrastructure
Virtual desktop infrastructure
 
Openstack Trunk Port
Openstack Trunk PortOpenstack Trunk Port
Openstack Trunk Port
 
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)
 

Andere mochten auch

Een Gezond Gebit2
Een Gezond Gebit2Een Gezond Gebit2
Een Gezond Gebit2guest031320
 
Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...Bhakti Mehta
 
Neuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & CoNeuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & CoArne Krueger
 
Reversing malware analysis training part3 windows pefile formatbasics
Reversing malware analysis training part3 windows pefile formatbasicsReversing malware analysis training part3 windows pefile formatbasics
Reversing malware analysis training part3 windows pefile formatbasicsCysinfo Cyber Security Community
 
(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte Scale(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte ScaleAmazon Web Services
 
Setting up a Digital Business on Cloud
Setting up a Digital Business on CloudSetting up a Digital Business on Cloud
Setting up a Digital Business on CloudAmazon Web Services
 
Security For Humans
Security For HumansSecurity For Humans
Security For Humansconjur_inc
 
Persistence in the cloud with bosh
Persistence in the cloud with boshPersistence in the cloud with bosh
Persistence in the cloud with boshm_richardson
 
Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced  Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced OPNFV
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...Amazon Web Services
 
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016jtmelton
 
MyHeritage backend group - build to scale
MyHeritage backend group - build to scaleMyHeritage backend group - build to scale
MyHeritage backend group - build to scaleRan Levy
 
IM World presentation from Chris Swan: Application centric – how the cloud ha...
IM World presentation from Chris Swan: Application centric – how the cloud ha...IM World presentation from Chris Swan: Application centric – how the cloud ha...
IM World presentation from Chris Swan: Application centric – how the cloud ha...Cohesive Networks
 
Streaming architecture with HDP & ELK
Streaming architecture with HDP & ELKStreaming architecture with HDP & ELK
Streaming architecture with HDP & ELKAlain Douangpraseuth
 

Andere mochten auch (20)

Een Gezond Gebit2
Een Gezond Gebit2Een Gezond Gebit2
Een Gezond Gebit2
 
Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...
 
Neuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & CoNeuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & Co
 
Reversing malware analysis training part3 windows pefile formatbasics
Reversing malware analysis training part3 windows pefile formatbasicsReversing malware analysis training part3 windows pefile formatbasics
Reversing malware analysis training part3 windows pefile formatbasics
 
(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte Scale(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte Scale
 
You know, for search
You know, for searchYou know, for search
You know, for search
 
Risk management
Risk managementRisk management
Risk management
 
Verwondering...
Verwondering...Verwondering...
Verwondering...
 
Setting up a Digital Business on Cloud
Setting up a Digital Business on CloudSetting up a Digital Business on Cloud
Setting up a Digital Business on Cloud
 
Security For Humans
Security For HumansSecurity For Humans
Security For Humans
 
Persistence in the cloud with bosh
Persistence in the cloud with boshPersistence in the cloud with bosh
Persistence in the cloud with bosh
 
Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced  Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
 
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
 
Introduction to smpc
Introduction to smpc Introduction to smpc
Introduction to smpc
 
AWS + Puppet = Dynamic Scale
AWS + Puppet = Dynamic ScaleAWS + Puppet = Dynamic Scale
AWS + Puppet = Dynamic Scale
 
Kelompok 2
Kelompok 2Kelompok 2
Kelompok 2
 
MyHeritage backend group - build to scale
MyHeritage backend group - build to scaleMyHeritage backend group - build to scale
MyHeritage backend group - build to scale
 
IM World presentation from Chris Swan: Application centric – how the cloud ha...
IM World presentation from Chris Swan: Application centric – how the cloud ha...IM World presentation from Chris Swan: Application centric – how the cloud ha...
IM World presentation from Chris Swan: Application centric – how the cloud ha...
 
Streaming architecture with HDP & ELK
Streaming architecture with HDP & ELKStreaming architecture with HDP & ELK
Streaming architecture with HDP & ELK
 

Ähnlich wie Multi-container Applications on OpenShift with Ansible Service Broker

IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptxIBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptxGeorg Ember
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxNebulaworks
 
Openshift service broker and catalog ocp-meetup july 2018
Openshift service broker and catalog  ocp-meetup july 2018Openshift service broker and catalog  ocp-meetup july 2018
Openshift service broker and catalog ocp-meetup july 2018Michael Calizo
 
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise KubernetesMongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise KubernetesMongoDB
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesSamuel Terburg
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and dockersflynn073
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerDavid Currie
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your wayJohannes Brännström
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12dotCloud
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on OpenstackDocker, Inc.
 
Docker intro
Docker introDocker intro
Docker introspiddy
 
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Lucas Jellema
 
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...DevDay.org
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Amazon Web Services
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersRyan Hodgin
 
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM BluemixDeploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM BluemixArthur De Magalhaes
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixIBM
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3sHaggai Philip Zagury
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinLeanIX GmbH
 

Ähnlich wie Multi-container Applications on OpenShift with Ansible Service Broker (20)

IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptxIBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes Toolbox
 
Openshift service broker and catalog ocp-meetup july 2018
Openshift service broker and catalog  ocp-meetup july 2018Openshift service broker and catalog  ocp-meetup july 2018
Openshift service broker and catalog ocp-meetup july 2018
 
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise KubernetesMongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and docker
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
 
Docker intro
Docker introDocker intro
Docker intro
 
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
 
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
 
Apache OpenWhisk
Apache OpenWhiskApache OpenWhisk
Apache OpenWhisk
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM BluemixDeploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & Bluemix
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3s
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
 

Mehr von Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Multi-container Applications on OpenShift with Ansible Service Broker

  • 1. ANSIBLE SERVICE BROKER Deploying multi-container applications on OpenShift Tommy Hughes Vinny Valdez Scott Collier Kent Hua AWS Loft Event July 11, 2017
  • 2. ENTER TO WIN! 1080p 3D GAMING PROJECTOR Red Hat + AWS is a winning combination! You can win by entering our raffle: http://red.ht/AWSLoft
  • 3. ● Sandboxed application processes on a shared Linux OS kernel ● Simpler, lighter, and denser than virtual machines ● Portable across different environments ● Package my application and all of its dependencies ● Deploy to any environment in seconds and enable CI/CD ● Easily access and share containerized components Sys-Admins / Ops Developers It Depends on Who You Ask What Are Containers?
  • 4. DevOps With Containers Across the Hybrid Cloud? Source Repository CI/CD Engine Dev Container Physical Virtual Private cloud Public cloud
  • 6. Trusted Container OS Trusted by Fortune Global 500 companies Container Runtime & Packaging (Docker) Enterprise Container Host Red Hat Enterprise LinuxAtomic Host
  • 7. Container Runtime & Packaging (Docker) Enterprise Container Host Red Hat Enterprise LinuxAtomic Host Enterprise Kubernetes CloudForms Red Hat Storage Infrastructure Automation & Mg Networking Storage Registry Logs & Metrics Security Container Orchestration & Cluster Management (kubernetes)
  • 9. Container Runtime & Packaging (Docker) Enterprise Container Host Red Hat Enterprise LinuxAtomic Host Enterprise Container Platform Source-2-Image Application Pipelines Dev ToolsOpenShift Application Lifecycle Management (CI/CD) Build Automation Deployment Automation Service Catalog (Language Runtimes, Middleware, Databases) Self-Service Infrastructure Automation & Cockpit Networking Storage Registry Logs & Metrics Security Container Orchestration & Cluster Management (kubernetes)
  • 10. JBOSS EAP JBOSS DATA GRID JBOSS DATA VIRTUALIZATION JBOSS AM-Q JBOSS BRMS JBOSS BPM JBOSS FUSE RED HAT MOBILE 3 Scale Container Business Automation Container Integration Container Data & Storage Container Web & Mobile Traditional, Stateful, and Microservices-based Apps OpenShift Application Lifecycle Management (CI/CD) Build Automation Deployment Automation Service Catalog (Language Runtimes, Middleware, Databases) Self-Service Infrastructure Automation & Cockpit Networking Storage Registry Logs & Metrics Security Container Orchestration & Cluster Management (kubernetes) Container Runtime & Packaging (Docker) Enterprise Container Host Red Hat Enterprise LinuxAtomic Host
  • 11. Commons Get Involved With Zero Commitment Where users, partners, customers, and contributors come together to collaborate and work together on OpenShift. https://commons.openshift.org/ Quickly build, host, and scale containerized applications in the public cloud, operated and supported by Red Hat. Origin is the upstream community project that powers OpenShift. https://www.openshift.com/ https://openshift.org/
  • 13. 13 ● API working group formed in September 2016, officially announced December; successor to CF Service Broker API ● API defines an HTTP interface between the services marketplace of a platform and service brokers ● Service Broker is the component of the service that implements the Service Broker API, for which a platform's marketplace is a client ● Service brokers are responsible for advertising a catalog of service offerings and service plans to the marketplace, and acting on requests from the marketplace for: ○ Provisioning, binding, unbinding, and deprovisioning ○ Provisioning reserves a resource (service instance) ○ Binding typically generates credentials necessary for accessing the resource or provides the service instance with information for a configuration change ● Platform marketplace may expose services from one or many service brokers ● Individual service broker may support one or many platform marketplaces using different URL prefixes and credentials ● Backed by numerous industry leaders including Fujitsu, Google, IBM, Pivotal, Red Hat, and SAP Open Service Broker API Overview
  • 14. ANSIBLE SERVICE BROKER Orchestrating OpenShift Services ● Define, extend, and deliver “simple” to “complex” multi-container OpenShift services ● Standardized approach to using Ansible to manage and provision applications ● Leverage existing investment in Ansible roles/playbooks ● Easy management of applications for “simple” cloud-native apps Ansible Service Broker ● Embraces Service Catalog and Open Service Broker API concepts ● Supports: ○ Traditional S2I deployments ○ Provisioning of pre-existing images ○ Orchestrating external services ○ Deploying multi-service solutions Ansible Playbook Bundle ● Lightweight application definition (meta-container) ● Simple directory employing: ○ Named playbooks [provision, bind, …] to perform Open Service Broker actions ○ Metadata containing a list of required / optional parameters during deployment ○ Embedded Ansible runtime
  • 15. ANSIBLE SERVICE BROKER - Architecture Service Consumer Ansible Service Broker Red Hat Container Catalog Ansible Playbook Bundle Service Broker Service Broker Service Broker Ansible Playbook Bundle OpenShift Service oc run $appname $method $vars ansible-playbook $method.yaml $vars • catalog • provision • deprovision • bind • unbind OpenShift Mall / Service Catalog Example Ansible Playbook Bundles: • ELK, Etherpad, Foreman, Galera • ManageIQ, MongoDB, PostgreSQL • Foreman, Pulp, Wordpress • External MLAB MongoDB SaaS • and more... Supports provisioning of and binding to both on-platform and off-platform (public cloud) services!
  • 16. ANSIBLE PLAYBOOK BUNDLE (APB) Definition ● Simple directory with named “action” playbooks and metadata. ● Metadata: ○ required/optional parameters ○ dependencies (provision vs bind) ● Leverages existing investment in Ansible Roles / Playbooks. ● Developer Tooling to drive guided approach. ● Easily modified or extended.
  • 17. ANSIBLE PLAYBOOK BUNDLE (APB) A Closer Look Steps to create an APB: 1. Create apb.yml 2. Create Ansible Playbooks 3. apb prepare a. Creates Dockerfile with image labels 4. Build container
  • 18. ANSIBLE PLAYBOOK BUNDLE (APB) abp.yaml abp.yml playbooks provision.yml deprovision.yml Dockerfile name: helloworld-apb image: myorg/helloworld-apb parameters: - name: namespace type: string default: hello-world-apb - name: message type: string default: "Hello World"
  • 19. ANSIBLE PLAYBOOK BUNDLE (APB) provision.yml abp.yml playbooks provision.yml deprovision.yml Dockerfile - name: Deploy sampleapp hosts: localhost connection: local tasks: - name: create namespace shell: "oc new-project {{ ns }}" - name: create app dc shell: "oc create -n {{ ns }} -f sampleapp.yml"
  • 20. ANSIBLE PLAYBOOK BUNDLE (APB) deprovision.yml abp.yml playbooks provision.yml deprovision.yml Dockerfile - name: Uninstall sampleapp hosts: localhost connection: local tasks: - name: delete namespace shell: "oc delete project {{ ns }}"
  • 21. ANSIBLE PLAYBOOK BUNDLE (APB) Dockerfile - Ansible runtime for base image abp.yml playbooks provision.yml deprovision.yml Dockerfile FROM ansibleplaybookbundle/apb-base LABEL "com.redhat.apb.version"="0.1.0" LABEL "com.redhat.apb.spec"=”...<base64 encoded apb.yml data >…” ADD roles /opt/ansible/roles ADD playbooks /opt/apb/actions RUN useradd -u 1001 -r -g 0 -M -b /opt/apb -s /sbin/nologin -c "apb user" apb RUN chown -R 1001:0 /opt/{ansible,apb} USER 1001
  • 22. ANSIBLE PLAYBOOK BUNDLE (APB) Ansible 2.4 will include k8s/openshift modules - name: create namespace shell: "oc new-project {{ ns }}" - name: create route shell: "oc create -n {{ ns }} -f route.yml" apiVersion: v1 kind: Route spec: port: targetPort: port-80 <snip> - openshift_v1_project: name: '{{ ns }}' - openshift_v1_route: name: wordpress namespace: '{{ ns }}' port_target_port: 80 Playbook - Executes oc commands directly Playbook - Leverages Ansible Modules for K8S/OCP https://github.com/openshift/openshift-restclient-python
  • 23. How about a demo?
  • 25. Download Postgres APB Service Consumer Ansible Service Broker Red Hat Container Catalog postgres-demo-apb OpenShift Mall / Service Catalog
  • 26. Run provision.yaml from postgres-demo-apb Service Consumer Ansible Service Broker Red Hat Container Catalog postgres-demo-apb postgres-demo-apb oc run $appname $method $vars ansible-playbook $method.yaml $vars OpenShift Mall / Service Catalog
  • 27. Postgres is now running Service Consumer Ansible Service Broker Red Hat Container Catalog postgres-demo-apb postgres-demo-apb oc run $appname $method $vars ansible-playbook $method.yaml $vars OpenShift Mall / Service Catalog Pod: postgres-demo
  • 28. Create WebApp Service Consumer Ansible Service Broker Red Hat Container Catalog postgres-demo-apb postgres-demo-apb oc run $appname $method $vars ansible-playbook $method.yaml $vars OpenShift Mall / Service Catalog Pod: postgres-demo S2I Created Python WebApp
  • 29. Bind Postgres to WebApp Service Consumer Ansible Service Broker Red Hat Container Catalog postgres-demo-apb postgres-demo-apb oc run $appname $method $vars ansible-playbook provision.yaml $vars OpenShift Mall / Service Catalog POD: postgres-demo S2I Created Python WebApp Bind connects the WebApp to the Database
  • 30. What is Bind Doing? Ansible Service Broker postgres-demo-apb OpenShift Mall / Service Catalog Pod: postgres-demo S2I Created Python WebApp APB returns credentials of service to Broker Service Catalog injects credentials into pod Credentials
  • 31. Bind WebApp to PostgreSQL Binding connects WebApp to Database through a Secret
  • 32. PostgreSQL APB: https://github.com/fusor/apb-examples/tree/master/postgresql-demo-apb apb.yml Dockerfile playbooks provision.yaml roles postgresql-demo-apb-openshift defaults main.yml files airports.ddl airports.sql tasks main.yml - name: create service k8s_v1_service: name: postgresql namespace: '{{ namespace }}' state: present labels: app: postgresql-demo-apb service: postgresql selector: app: postgresql-demo-apb service: postgresql ports: - name: port-5432 port: 5432 protocol: TCP target_port: 5432 register: postgres_service
  • 34. 34 Ansible Service Broker More Information ● Email: ansible-service-broker@redhat.com ● IRC (Freenode): #asbroker ● Trello: https://trello.com/b/50JhiC5v/ansible-service-broker ● Github: ○ https://github.com/fusor/ansible-service-broker ○ https://github.com/fusor/ansible-playbook-bundle ○ https://github.com/fusor/catasb ● Library of example APBs: https://github.com/fusor/apb-examples ○ ManageIQ, Etherpad, Wordpress, ELK Stack ● YouTube Channel: https://www.youtube.com/channel/UC04eOMIMiV06_RSZPb4OOBw ○ Using the Service Catalog to Bind a PostgreSQL APB to a Python Web App ■ https://www.youtube.com/watch?v=xmd52NhEjCk ○ Service Catalog deploying ManageIQ APB on to OpenShift ■ https://www.youtube.com/watch?v=J6rDssVEZuQ ● Docker hub published APBs ○ https://hub.docker.com/u/ansibleplaybookbundle/
  • 36. ENTER TO WIN! 1080p 3D GAMING PROJECTOR Red Hat + AWS is a winning combination! You can win by entering our raffle: http://red.ht/AWSLoft
  • 37. LIKE WHAT YOU SEE TODAY? QUALIFY FOR OUR P.O.C We have funded a POC Program for qualifying OpenShift customers. If you’re interested, chat with us at the end of the session today!