SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Delivering SaaS 
to the Enterprise with illumos 
or: Herding Cats for Fun and Profit 
illumos day 2014
/me 
Eric Sproul, aka @eirescot 
Sysadmin (DevOp?) 
Engineer at Circonus 
Automator of Things 
Continuous integration/delivery 
Packaging 
Deployments
What's Circonus? 
API-driven, scalable monitoring and telemetry analysis 
Distributed, service-oriented architecture 
Available as both public and private (on-prem) SaaS 
Runs on OmniOS and RHEL/CentOS 
...but this talk isn't really about Circonus
Challenges 
Started as public SaaS (one true copy) 
Lots of moving parts, many disparate configs 
Must now be delivered on-premise too, configured 
correctly for the local environment 
Updates happen frequently 
Periodically define a known-good set of versions
Goals 
Bring up over 20 async components across N systems 
Deliver a consistent set of software, regardless of when 
users update
Right tool for the job 
Minimalist server-focused illumos distribution
OmniOS Key Enablers 
IPS 
Zones 
Crossbow 
of course: ZFS, SMF, DTrace, etc.
Initial Install 
1. Install chef-solo environment package 
2. Provide site config (data bag) 
3. Run management script
Updates 
Run management script again!
Herding Cats 
>200 custom packages 
! 
Need a way to move 
from one set of 
package versions to 
another 
flickr.com/photos/ceardach/
Image Packaging System 
aka IPS, pkg(5) 
developed @ Sun for OpenSolaris 
network-centric 
delta-only updates 
integrates with ZFS, SMF 
rich dependency support
IPS Package 
FMRI (Fault Managed Resource Identifier) 
pkg://circonus/field/ck@0.4.2,5.11-0.151006:20140611T155727Z 
pkg:// scheme 
circonus publisher 
field/ck name 
0.4.2 component version 
5.11 build version 
0.151006 branch version 
20140611T155727Z 
timestamp (ISO 8601)
Package manifest 
set name=pkg.fmri 
value=pkg://circonus/field/ck@0.4.2,5.11-0.151006:20140611T155727Z 
set name=pkg.summary value="Concurrency Kit" 
... 
dir group=bin mode=0755 owner=root path=opt/circonus/lib/amd64 
file c217fea9c27c7f48f3a1679883ac510e6ea476dd 
chash=7c62a0b79e561090a024d61d40fe647a037adff0 elfarch=i386 
elfbits=64 elfhash=bdf288d24210adfc1cc1aa16d60a613ec5ed6d36 
group=bin mode=0744 owner=root 
path=opt/circonus/lib/amd64/libck.so.0.4.2 
pkg.csize=22125 pkg.size=48192 
... 
depend fmri=pkg:/system/library@0.5.11-0.151006 type=require
Dependency Types 
require 
optional 
exclude 
# any version of foo 
library/foo 
! 
# foo >= 2 
library/foo@2 
! 
# foo >= 2.1 
library/foo@2.1
Dependency Types 
incorporate 
# 2.x, not 1.x or 3.x 
library/foo@2 
! 
# 2.1.x, not 2.0 or 2.2 
library/foo@2.1 
! 
# 2.1.2 only 
library/foo@2.1.2
Cat Status: Herded 
set name=pkg.fmri value=pkg://circonus/field/circonus-incorporation@ 
0.2.1411487427,5.11-0.151006:20140923T155035Z 
set name=pkg.human-version value="8e53fc6:Tue Sep 23 15:50:27 
2014 UTC" 
... 
depend 
fmri=pkg://circonus/field/ck@0.4.2,5.11-0.151006 
type=incorporate 
depend 
fmri=pkg://circonus/field/jdk@1.7.0.67,5.11-0.151006 
type=incorporate 
depend 
fmri=pkg://circonus/platform/ca@0.1.1410355765,5.11-0.151006 
type=incorporate 
...
Cat Status: Herded 
Updating circonus-incorporation pulls any other installed 
packages into compliance 
A newly-installed package will be constrained to the 
version allowed by the installed incorporation 
All version decisions concentrated in a single package
Other illumos Benefits 
Zones: OS partitions that isolate app environments 
SMF: true framework for service control 
ZFS: because we care about our data 
filesystem trees can be delegated to zones 
Advanced virtual networking (Crossbow)
Which led to... 
New product idea! 
Deliver on-premise 
SaaS that runs on a 
single host 
Trade redundancy, 
scalability for simplicity 
Lower cost 
Easier to operate 
Fills a niche between 
public SaaS and full-scale 
private version
SaaS in a Box 
VNIC 
virtual network i/f 
etherstub 
virtual switch 
GZ forwards to 
NGZs and does 
outbound NAT 
(IPFilter) 
Entire system operates from one visible IP address
Thanks! 
http://wiki.illumos.org/ 
http://omnios.omniti.com/ 
http://circonus.com

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

MDP Group SAP PI & PO Azure Adapter
MDP Group SAP PI & PO Azure AdapterMDP Group SAP PI & PO Azure Adapter
MDP Group SAP PI & PO Azure Adapter
 
How to add storage to esxi 5.5
How to add storage to esxi 5.5How to add storage to esxi 5.5
How to add storage to esxi 5.5
 
KKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - DolphinKKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - Dolphin
 
"Puppet at SpaceX" - Jok Thuau of SpaceX - PuppetCamp LA '12
"Puppet at SpaceX" - Jok Thuau of SpaceX - PuppetCamp LA '12"Puppet at SpaceX" - Jok Thuau of SpaceX - PuppetCamp LA '12
"Puppet at SpaceX" - Jok Thuau of SpaceX - PuppetCamp LA '12
 
Hadoop presentation
Hadoop presentationHadoop presentation
Hadoop presentation
 
Next-Generation Best Practices for VMware and Storage
Next-Generation Best Practices for VMware and StorageNext-Generation Best Practices for VMware and Storage
Next-Generation Best Practices for VMware and Storage
 
Solr5
Solr5Solr5
Solr5
 
Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016
 
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and StatesSaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
 
Weblogic 12c installation (oracle linux)
Weblogic 12c installation (oracle linux)Weblogic 12c installation (oracle linux)
Weblogic 12c installation (oracle linux)
 
L5 swagger
L5 swaggerL5 swagger
L5 swagger
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
 
Ansible
AnsibleAnsible
Ansible
 
Install oracle siebel on windows 2008 r2
Install oracle siebel on windows 2008 r2Install oracle siebel on windows 2008 r2
Install oracle siebel on windows 2008 r2
 
Managing windows Nodes like Linux Nodes by Ansible
Managing windows Nodes like Linux Nodes by AnsibleManaging windows Nodes like Linux Nodes by Ansible
Managing windows Nodes like Linux Nodes by Ansible
 
Appache.ppt
Appache.pptAppache.ppt
Appache.ppt
 
Fabric Fast & Furious edition
Fabric Fast & Furious editionFabric Fast & Furious edition
Fabric Fast & Furious edition
 
Ansible windows cheat sheet by anil.k
Ansible windows cheat sheet by anil.kAnsible windows cheat sheet by anil.k
Ansible windows cheat sheet by anil.k
 
Does the SPL still have any relevance in the Brave New World of PHP7?
Does the SPL still have any relevance in the Brave New World of PHP7?Does the SPL still have any relevance in the Brave New World of PHP7?
Does the SPL still have any relevance in the Brave New World of PHP7?
 
AWS 기반 Docker, Kubernetes
AWS 기반 Docker, KubernetesAWS 기반 Docker, Kubernetes
AWS 기반 Docker, Kubernetes
 

Semelhante a Delivering SaaS to the Enterprise with illumos

Semelhante a Delivering SaaS to the Enterprise with illumos (20)

Provisioning with OSGi Subsystems and Repository using Apache Aries and Felix
Provisioning with OSGi Subsystems and Repository using Apache Aries and FelixProvisioning with OSGi Subsystems and Repository using Apache Aries and Felix
Provisioning with OSGi Subsystems and Repository using Apache Aries and Felix
 
ITB2017 - Keynote
ITB2017 - KeynoteITB2017 - Keynote
ITB2017 - Keynote
 
Beyond static configuration
Beyond static configurationBeyond static configuration
Beyond static configuration
 
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONMicroservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to Production
 
Package Management via Spack on SJTU π Supercomputer
Package Management via Spack on SJTU π SupercomputerPackage Management via Spack on SJTU π Supercomputer
Package Management via Spack on SJTU π Supercomputer
 
Cloud Meetup - Automation in the Cloud
Cloud Meetup - Automation in the CloudCloud Meetup - Automation in the Cloud
Cloud Meetup - Automation in the Cloud
 
CoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love SystemdCoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love Systemd
 
Deploying PHP Applications with Ansible
Deploying PHP Applications with AnsibleDeploying PHP Applications with Ansible
Deploying PHP Applications with Ansible
 
Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
Developing MIPS Exploits to Hack Routers
Developing MIPS Exploits to Hack RoutersDeveloping MIPS Exploits to Hack Routers
Developing MIPS Exploits to Hack Routers
 
Container Security - Let's see Falco and Sysdig in Action by Stefan Trimborn
Container Security - Let's see Falco and Sysdig in Action by Stefan Trimborn Container Security - Let's see Falco and Sysdig in Action by Stefan Trimborn
Container Security - Let's see Falco and Sysdig in Action by Stefan Trimborn
 
DevconTLV 2014 (Jan) - DIY DevOps
DevconTLV 2014 (Jan) - DIY DevOpsDevconTLV 2014 (Jan) - DIY DevOps
DevconTLV 2014 (Jan) - DIY DevOps
 
Anycast all the things
Anycast all the thingsAnycast all the things
Anycast all the things
 
Splunk: Forward me the REST of those shells
Splunk: Forward me the REST of those shellsSplunk: Forward me the REST of those shells
Splunk: Forward me the REST of those shells
 
Make stateful apps in Kubernetes a no brainer with Pure Storage and GitOps
Make stateful apps in Kubernetes a no brainer with Pure Storage and GitOpsMake stateful apps in Kubernetes a no brainer with Pure Storage and GitOps
Make stateful apps in Kubernetes a no brainer with Pure Storage and GitOps
 
Assisted-Installer-DevConf-US-2021
Assisted-Installer-DevConf-US-2021Assisted-Installer-DevConf-US-2021
Assisted-Installer-DevConf-US-2021
 
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
 
Workshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaWorkshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and Java
 

Último

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 

Último (20)

Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 

Delivering SaaS to the Enterprise with illumos

  • 1. Delivering SaaS to the Enterprise with illumos or: Herding Cats for Fun and Profit illumos day 2014
  • 2. /me Eric Sproul, aka @eirescot Sysadmin (DevOp?) Engineer at Circonus Automator of Things Continuous integration/delivery Packaging Deployments
  • 3. What's Circonus? API-driven, scalable monitoring and telemetry analysis Distributed, service-oriented architecture Available as both public and private (on-prem) SaaS Runs on OmniOS and RHEL/CentOS ...but this talk isn't really about Circonus
  • 4. Challenges Started as public SaaS (one true copy) Lots of moving parts, many disparate configs Must now be delivered on-premise too, configured correctly for the local environment Updates happen frequently Periodically define a known-good set of versions
  • 5. Goals Bring up over 20 async components across N systems Deliver a consistent set of software, regardless of when users update
  • 6. Right tool for the job Minimalist server-focused illumos distribution
  • 7. OmniOS Key Enablers IPS Zones Crossbow of course: ZFS, SMF, DTrace, etc.
  • 8. Initial Install 1. Install chef-solo environment package 2. Provide site config (data bag) 3. Run management script
  • 9. Updates Run management script again!
  • 10. Herding Cats >200 custom packages ! Need a way to move from one set of package versions to another flickr.com/photos/ceardach/
  • 11. Image Packaging System aka IPS, pkg(5) developed @ Sun for OpenSolaris network-centric delta-only updates integrates with ZFS, SMF rich dependency support
  • 12. IPS Package FMRI (Fault Managed Resource Identifier) pkg://circonus/field/ck@0.4.2,5.11-0.151006:20140611T155727Z pkg:// scheme circonus publisher field/ck name 0.4.2 component version 5.11 build version 0.151006 branch version 20140611T155727Z timestamp (ISO 8601)
  • 13. Package manifest set name=pkg.fmri value=pkg://circonus/field/ck@0.4.2,5.11-0.151006:20140611T155727Z set name=pkg.summary value="Concurrency Kit" ... dir group=bin mode=0755 owner=root path=opt/circonus/lib/amd64 file c217fea9c27c7f48f3a1679883ac510e6ea476dd chash=7c62a0b79e561090a024d61d40fe647a037adff0 elfarch=i386 elfbits=64 elfhash=bdf288d24210adfc1cc1aa16d60a613ec5ed6d36 group=bin mode=0744 owner=root path=opt/circonus/lib/amd64/libck.so.0.4.2 pkg.csize=22125 pkg.size=48192 ... depend fmri=pkg:/system/library@0.5.11-0.151006 type=require
  • 14. Dependency Types require optional exclude # any version of foo library/foo ! # foo >= 2 library/foo@2 ! # foo >= 2.1 library/foo@2.1
  • 15. Dependency Types incorporate # 2.x, not 1.x or 3.x library/foo@2 ! # 2.1.x, not 2.0 or 2.2 library/foo@2.1 ! # 2.1.2 only library/foo@2.1.2
  • 16. Cat Status: Herded set name=pkg.fmri value=pkg://circonus/field/circonus-incorporation@ 0.2.1411487427,5.11-0.151006:20140923T155035Z set name=pkg.human-version value="8e53fc6:Tue Sep 23 15:50:27 2014 UTC" ... depend fmri=pkg://circonus/field/ck@0.4.2,5.11-0.151006 type=incorporate depend fmri=pkg://circonus/field/jdk@1.7.0.67,5.11-0.151006 type=incorporate depend fmri=pkg://circonus/platform/ca@0.1.1410355765,5.11-0.151006 type=incorporate ...
  • 17. Cat Status: Herded Updating circonus-incorporation pulls any other installed packages into compliance A newly-installed package will be constrained to the version allowed by the installed incorporation All version decisions concentrated in a single package
  • 18. Other illumos Benefits Zones: OS partitions that isolate app environments SMF: true framework for service control ZFS: because we care about our data filesystem trees can be delegated to zones Advanced virtual networking (Crossbow)
  • 19. Which led to... New product idea! Deliver on-premise SaaS that runs on a single host Trade redundancy, scalability for simplicity Lower cost Easier to operate Fills a niche between public SaaS and full-scale private version
  • 20. SaaS in a Box VNIC virtual network i/f etherstub virtual switch GZ forwards to NGZs and does outbound NAT (IPFilter) Entire system operates from one visible IP address