SlideShare une entreprise Scribd logo
1  sur  47
The Site Architecture You Can  Edit Varnish Mobile? Ryan Lane Wikimedia Foundation Membase? Swift
Content
Interface
Software Development
Localization
Architecture Documentation
Admin logs
Architecture config files
Monitoring
Performance Statistics
Philosophy: Community Empowerment
Empowerment and Growth
Early Community: No staff
Current Ops Situation: No new non-staff
Current Dev Situation: Minimal staff and community project collaboration
OpenStack: An Empowerment Technology
Community Oriented Test and Development
Goals ,[object Object]
Privilege escalation for non-ops
Environment for testing major changes
How to achieve these goals ,[object Object]
Allow liberal access to the clone
Provide a way to add new architecture without affecting clone
Provide a way to make changes without root
Provide a way to migrate changes to production
Basic use case ,[object Object]
Move puppet configuration to git repo ,[object Object]
Basic use case ,[object Object]
Devs request merge for puppet changes via gerrit
Project instances moved to default project and tested
Project moved to production cluster
Implementation Details
Test/Dev Architecture
Test/Dev Architecture
OpenStack Configuration ,[object Object]
Production zone per datacenter
Wikimedia Labs
Test/Dev Architecture
OpenStackManager ,[object Object]
Support for instance, security group, address, volume, key, sudo, DNS, and LDAP management
Using EC2 API
Self-documenting via MediaWiki templates
Semantic MediaWiki Integration ,[object Object]
Nova information queryable via annotations
Queries displayable via numerous outputs
Example: Display the sum of storage in GB used for instances in project “tesla” who have the puppet variable “storage_server” set to “true”
 

Contenu connexe

Tendances

DockerDay2015: Getting started with Docker
DockerDay2015: Getting started with DockerDockerDay2015: Getting started with Docker
DockerDay2015: Getting started with DockerDocker-Hanoi
 
OpenStack Summit - Sydney: Designate Project Update
OpenStack Summit - Sydney: Designate Project UpdateOpenStack Summit - Sydney: Designate Project Update
OpenStack Summit - Sydney: Designate Project UpdateGraham Hayes
 
OpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryOpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryMirantis
 
Summit openshift-on-openstack
Summit openshift-on-openstackSummit openshift-on-openstack
Summit openshift-on-openstackPippo620677
 
Pairs OpenStack Summit Summary
Pairs OpenStack Summit SummaryPairs OpenStack Summit Summary
Pairs OpenStack Summit SummaryGuangya Liu
 
Unlimited Staging Environments
Unlimited Staging EnvironmentsUnlimited Staging Environments
Unlimited Staging EnvironmentsCodefresh
 
Cloud Native CI/CD with GitOps
Cloud Native CI/CD with GitOpsCloud Native CI/CD with GitOps
Cloud Native CI/CD with GitOpsKasper Nissen
 
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put togetherVMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put togetherEduardo Patrocinio
 
GitOps - Operation By Pull Request
GitOps - Operation By Pull RequestGitOps - Operation By Pull Request
GitOps - Operation By Pull RequestKasper Nissen
 
Docker Meetup Bangalore - Docker + Openstack
Docker Meetup Bangalore - Docker + OpenstackDocker Meetup Bangalore - Docker + Openstack
Docker Meetup Bangalore - Docker + OpenstackAshish Billore
 
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitOpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitLew Tucker
 
Two Years In Production With Kubernetes - An Experience Report
Two Years In Production With Kubernetes - An Experience ReportTwo Years In Production With Kubernetes - An Experience Report
Two Years In Production With Kubernetes - An Experience ReportKasper Nissen
 
OpenShift Overview Presentation by Marek Jelen for Zurich Geeks Event
OpenShift Overview Presentation by Marek Jelen for Zurich Geeks EventOpenShift Overview Presentation by Marek Jelen for Zurich Geeks Event
OpenShift Overview Presentation by Marek Jelen for Zurich Geeks EventOpenShift Origin
 
Using the Terraform Enterprise GUI is perfect to start working with Terraform...
Using the Terraform Enterprise GUI is perfect to start working with Terraform...Using the Terraform Enterprise GUI is perfect to start working with Terraform...
Using the Terraform Enterprise GUI is perfect to start working with Terraform...Mitchell Pronschinske
 
NetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker TalkNetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker Talkaspyker
 
South Korea OpenStack UG - Study & Development team activities
South Korea OpenStack UG - Study & Development team activitiesSouth Korea OpenStack UG - Study & Development team activities
South Korea OpenStack UG - Study & Development team activitiesIan Choi
 
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...Red Hat Developers
 
Leveraging Helm to manage Deployments on Kubernetes
Leveraging Helm to manage Deployments on KubernetesLeveraging Helm to manage Deployments on Kubernetes
Leveraging Helm to manage Deployments on KubernetesManoj Bhagwat
 
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NETBuilding a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NETAlex Ellis
 

Tendances (20)

DockerDay2015: Getting started with Docker
DockerDay2015: Getting started with DockerDockerDay2015: Getting started with Docker
DockerDay2015: Getting started with Docker
 
OpenStack Summit - Sydney: Designate Project Update
OpenStack Summit - Sydney: Designate Project UpdateOpenStack Summit - Sydney: Designate Project Update
OpenStack Summit - Sydney: Designate Project Update
 
OpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryOpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service Delivery
 
Summit openshift-on-openstack
Summit openshift-on-openstackSummit openshift-on-openstack
Summit openshift-on-openstack
 
Pairs OpenStack Summit Summary
Pairs OpenStack Summit SummaryPairs OpenStack Summit Summary
Pairs OpenStack Summit Summary
 
Unlimited Staging Environments
Unlimited Staging EnvironmentsUnlimited Staging Environments
Unlimited Staging Environments
 
Cloud Native CI/CD with GitOps
Cloud Native CI/CD with GitOpsCloud Native CI/CD with GitOps
Cloud Native CI/CD with GitOps
 
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put togetherVMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
 
GitOps - Operation By Pull Request
GitOps - Operation By Pull RequestGitOps - Operation By Pull Request
GitOps - Operation By Pull Request
 
Docker Meetup Bangalore - Docker + Openstack
Docker Meetup Bangalore - Docker + OpenstackDocker Meetup Bangalore - Docker + Openstack
Docker Meetup Bangalore - Docker + Openstack
 
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitOpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
 
Two Years In Production With Kubernetes - An Experience Report
Two Years In Production With Kubernetes - An Experience ReportTwo Years In Production With Kubernetes - An Experience Report
Two Years In Production With Kubernetes - An Experience Report
 
OpenShift Overview Presentation by Marek Jelen for Zurich Geeks Event
OpenShift Overview Presentation by Marek Jelen for Zurich Geeks EventOpenShift Overview Presentation by Marek Jelen for Zurich Geeks Event
OpenShift Overview Presentation by Marek Jelen for Zurich Geeks Event
 
Using the Terraform Enterprise GUI is perfect to start working with Terraform...
Using the Terraform Enterprise GUI is perfect to start working with Terraform...Using the Terraform Enterprise GUI is perfect to start working with Terraform...
Using the Terraform Enterprise GUI is perfect to start working with Terraform...
 
NetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker TalkNetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker Talk
 
South Korea OpenStack UG - Study & Development team activities
South Korea OpenStack UG - Study & Development team activitiesSouth Korea OpenStack UG - Study & Development team activities
South Korea OpenStack UG - Study & Development team activities
 
OPNFV & OpenStack
OPNFV & OpenStackOPNFV & OpenStack
OPNFV & OpenStack
 
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
 
Leveraging Helm to manage Deployments on Kubernetes
Leveraging Helm to manage Deployments on KubernetesLeveraging Helm to manage Deployments on Kubernetes
Leveraging Helm to manage Deployments on Kubernetes
 
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NETBuilding a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
 

En vedette

Site Architecture Best Practices for Search Findability - Adam Audette
Site Architecture Best Practices for Search Findability - Adam AudetteSite Architecture Best Practices for Search Findability - Adam Audette
Site Architecture Best Practices for Search Findability - Adam AudetteAdam Audette
 
3d Construction Card
3d Construction Card3d Construction Card
3d Construction CardJanet Ellis
 
ARC206 Extend your Existing Data Center to the cloud with Amazon VPC - AWS re...
ARC206 Extend your Existing Data Center to the cloud with Amazon VPC - AWS re...ARC206 Extend your Existing Data Center to the cloud with Amazon VPC - AWS re...
ARC206 Extend your Existing Data Center to the cloud with Amazon VPC - AWS re...Amazon Web Services
 
DNS(Domain Name System)
DNS(Domain Name System)DNS(Domain Name System)
DNS(Domain Name System)Vishal Mittal
 
CNIT 40: 2: DNS Protocol and Architecture
CNIT 40: 2: DNS Protocol and ArchitectureCNIT 40: 2: DNS Protocol and Architecture
CNIT 40: 2: DNS Protocol and ArchitectureSam Bowne
 
HISTORY: Philippine Architecture (Construction Practices, Vernacular Terms)
HISTORY: Philippine Architecture (Construction Practices, Vernacular Terms)HISTORY: Philippine Architecture (Construction Practices, Vernacular Terms)
HISTORY: Philippine Architecture (Construction Practices, Vernacular Terms)ArchiEducPH
 
Building Construction 7. construction site
Building Construction 7. construction siteBuilding Construction 7. construction site
Building Construction 7. construction siteHamdija Velagic
 
Lesson 2: Subnetting basics
Lesson 2: Subnetting basicsLesson 2: Subnetting basics
Lesson 2: Subnetting basicsMahmmoud Mahdi
 
SCULPTURE: ADDITIVE,SUBTRACTIVE AND KINETIC
SCULPTURE: ADDITIVE,SUBTRACTIVE AND KINETICSCULPTURE: ADDITIVE,SUBTRACTIVE AND KINETIC
SCULPTURE: ADDITIVE,SUBTRACTIVE AND KINETICChan Delfino
 
Subnetting Basics Tutorial
Subnetting Basics TutorialSubnetting Basics Tutorial
Subnetting Basics Tutorialmikem801
 
introduction to sculpture
introduction to sculptureintroduction to sculpture
introduction to sculptureshiveyb
 
Domain Name System DNS
Domain Name System DNSDomain Name System DNS
Domain Name System DNSAkshay Tiwari
 
Subnetting
SubnettingSubnetting
Subnettingswascher
 

En vedette (20)

Site Architecture Best Practices for Search Findability - Adam Audette
Site Architecture Best Practices for Search Findability - Adam AudetteSite Architecture Best Practices for Search Findability - Adam Audette
Site Architecture Best Practices for Search Findability - Adam Audette
 
Subnet calculation Tutorial
Subnet calculation TutorialSubnet calculation Tutorial
Subnet calculation Tutorial
 
3d Construction Card
3d Construction Card3d Construction Card
3d Construction Card
 
ARC206 Extend your Existing Data Center to the cloud with Amazon VPC - AWS re...
ARC206 Extend your Existing Data Center to the cloud with Amazon VPC - AWS re...ARC206 Extend your Existing Data Center to the cloud with Amazon VPC - AWS re...
ARC206 Extend your Existing Data Center to the cloud with Amazon VPC - AWS re...
 
VPC Hands-on
VPC Hands-onVPC Hands-on
VPC Hands-on
 
DNS(Domain Name System)
DNS(Domain Name System)DNS(Domain Name System)
DNS(Domain Name System)
 
Architecture and Sculpture
Architecture and SculptureArchitecture and Sculpture
Architecture and Sculpture
 
CNIT 40: 2: DNS Protocol and Architecture
CNIT 40: 2: DNS Protocol and ArchitectureCNIT 40: 2: DNS Protocol and Architecture
CNIT 40: 2: DNS Protocol and Architecture
 
HISTORY: Philippine Architecture (Construction Practices, Vernacular Terms)
HISTORY: Philippine Architecture (Construction Practices, Vernacular Terms)HISTORY: Philippine Architecture (Construction Practices, Vernacular Terms)
HISTORY: Philippine Architecture (Construction Practices, Vernacular Terms)
 
Sculpture Presentation.
Sculpture Presentation.Sculpture Presentation.
Sculpture Presentation.
 
Building Construction 7. construction site
Building Construction 7. construction siteBuilding Construction 7. construction site
Building Construction 7. construction site
 
Lesson 2: Subnetting basics
Lesson 2: Subnetting basicsLesson 2: Subnetting basics
Lesson 2: Subnetting basics
 
Minor Project (Rohit Sharma)
Minor Project (Rohit Sharma)Minor Project (Rohit Sharma)
Minor Project (Rohit Sharma)
 
Sculpture ppt
Sculpture pptSculpture ppt
Sculpture ppt
 
SCULPTURE: ADDITIVE,SUBTRACTIVE AND KINETIC
SCULPTURE: ADDITIVE,SUBTRACTIVE AND KINETICSCULPTURE: ADDITIVE,SUBTRACTIVE AND KINETIC
SCULPTURE: ADDITIVE,SUBTRACTIVE AND KINETIC
 
Subnetting Basics Tutorial
Subnetting Basics TutorialSubnetting Basics Tutorial
Subnetting Basics Tutorial
 
introduction to sculpture
introduction to sculptureintroduction to sculpture
introduction to sculpture
 
Stairs Ppt
Stairs PptStairs Ppt
Stairs Ppt
 
Domain Name System DNS
Domain Name System DNSDomain Name System DNS
Domain Name System DNS
 
Subnetting
SubnettingSubnetting
Subnetting
 

Similaire à The site architecture you can edit

Rilasci senza paura (o panico) con Azure DevOps
Rilasci senza paura (o panico) con Azure DevOpsRilasci senza paura (o panico) con Azure DevOps
Rilasci senza paura (o panico) con Azure DevOpsCommit University
 
Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019Janne Mattila
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev opsVishwas N
 
Azure DevOps: the future of integration and traceability
Azure DevOps: the future of integration and traceabilityAzure DevOps: the future of integration and traceability
Azure DevOps: the future of integration and traceabilityLorenzo Barbieri
 
Azure DevOps Day - Kochi
Azure DevOps Day - KochiAzure DevOps Day - Kochi
Azure DevOps Day - KochiAmal Dev
 
Azure DevOps Day - Trivandrum
Azure DevOps Day - TrivandrumAzure DevOps Day - Trivandrum
Azure DevOps Day - TrivandrumAmal Dev
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Janusz Nowak
 
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on AzureMicrosoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on AzureJessica Deen
 
The Future of GlusterFS and Gluster.org
The Future of GlusterFS and Gluster.orgThe Future of GlusterFS and Gluster.org
The Future of GlusterFS and Gluster.orgJohn Mark Walker
 
[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOpsNaoki (Neo) SATO
 
Azure_DevOps_Customer_201903.pptx
Azure_DevOps_Customer_201903.pptxAzure_DevOps_Customer_201903.pptx
Azure_DevOps_Customer_201903.pptxSherman37
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersSarah Dutkiewicz
 

Similaire à The site architecture you can edit (20)

Rilasci senza paura (o panico) con Azure DevOps
Rilasci senza paura (o panico) con Azure DevOpsRilasci senza paura (o panico) con Azure DevOps
Rilasci senza paura (o panico) con Azure DevOps
 
Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Azure DevOps: the future of integration and traceability
Azure DevOps: the future of integration and traceabilityAzure DevOps: the future of integration and traceability
Azure DevOps: the future of integration and traceability
 
Azure DevOps Day - Kochi
Azure DevOps Day - KochiAzure DevOps Day - Kochi
Azure DevOps Day - Kochi
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
 
Azure DevOps Day - Trivandrum
Azure DevOps Day - TrivandrumAzure DevOps Day - Trivandrum
Azure DevOps Day - Trivandrum
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Bijeet_ITInfra_CV
Bijeet_ITInfra_CVBijeet_ITInfra_CV
Bijeet_ITInfra_CV
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on AzureMicrosoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
 
The Future of GlusterFS and Gluster.org
The Future of GlusterFS and Gluster.orgThe Future of GlusterFS and Gluster.org
The Future of GlusterFS and Gluster.org
 
Welcome to Azure DevOps
Welcome to Azure DevOpsWelcome to Azure DevOps
Welcome to Azure DevOps
 
[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps
 
Microsoft: Invent with Purpose
Microsoft: Invent with PurposeMicrosoft: Invent with Purpose
Microsoft: Invent with Purpose
 
Azure_DevOps_Customer_201903.pptx
Azure_DevOps_Customer_201903.pptxAzure_DevOps_Customer_201903.pptx
Azure_DevOps_Customer_201903.pptx
 
DevNation
DevNation DevNation
DevNation
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript Developers
 

Plus de Open Stack

OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpen Stack
 
OpenStack Swift overview oscon2011
OpenStack Swift overview oscon2011OpenStack Swift overview oscon2011
OpenStack Swift overview oscon2011Open Stack
 
Dell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCONDell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCONOpen Stack
 
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry introEMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry introOpen Stack
 
OpenStack Technology Overview
OpenStack Technology OverviewOpenStack Technology Overview
OpenStack Technology OverviewOpen Stack
 
JCO Conference OpenStack
JCO Conference OpenStackJCO Conference OpenStack
JCO Conference OpenStackOpen Stack
 
OpenStack 101 Technical Overview
OpenStack 101 Technical OverviewOpenStack 101 Technical Overview
OpenStack 101 Technical OverviewOpen Stack
 
Nebula james Williams
Nebula james WilliamsNebula james Williams
Nebula james WilliamsOpen Stack
 
Open stack dashboard diablo
Open stack dashboard   diabloOpen stack dashboard   diablo
Open stack dashboard diabloOpen Stack
 
Snapshot clone-boot-presentation-final
Snapshot clone-boot-presentation-finalSnapshot clone-boot-presentation-final
Snapshot clone-boot-presentation-finalOpen Stack
 
Opening Presentation
Opening PresentationOpening Presentation
Opening PresentationOpen Stack
 
Gluster open stack dev summit 042011
Gluster open stack dev summit 042011Gluster open stack dev summit 042011
Gluster open stack dev summit 042011Open Stack
 
Swift container sync
Swift container syncSwift container sync
Swift container syncOpen Stack
 
Mach Technology
Mach Technology Mach Technology
Mach Technology Open Stack
 
OpenStack on Intel
OpenStack on IntelOpenStack on Intel
OpenStack on IntelOpen Stack
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale CloudOpen Stack
 
Openstack and eBay
Openstack and eBay Openstack and eBay
Openstack and eBay Open Stack
 
OpenStack Opportunity - Citrix
OpenStack Opportunity - CitrixOpenStack Opportunity - Citrix
OpenStack Opportunity - CitrixOpen Stack
 
PaaS on Openstack
PaaS on OpenstackPaaS on Openstack
PaaS on OpenstackOpen Stack
 

Plus de Open Stack (20)

OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overview
 
OpenStack Swift overview oscon2011
OpenStack Swift overview oscon2011OpenStack Swift overview oscon2011
OpenStack Swift overview oscon2011
 
Dell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCONDell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCON
 
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry introEMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
 
OpenStack Technology Overview
OpenStack Technology OverviewOpenStack Technology Overview
OpenStack Technology Overview
 
JCO Conference OpenStack
JCO Conference OpenStackJCO Conference OpenStack
JCO Conference OpenStack
 
OpenStack 101 Technical Overview
OpenStack 101 Technical OverviewOpenStack 101 Technical Overview
OpenStack 101 Technical Overview
 
Nova HA
Nova HANova HA
Nova HA
 
Nebula james Williams
Nebula james WilliamsNebula james Williams
Nebula james Williams
 
Open stack dashboard diablo
Open stack dashboard   diabloOpen stack dashboard   diablo
Open stack dashboard diablo
 
Snapshot clone-boot-presentation-final
Snapshot clone-boot-presentation-finalSnapshot clone-boot-presentation-final
Snapshot clone-boot-presentation-final
 
Opening Presentation
Opening PresentationOpening Presentation
Opening Presentation
 
Gluster open stack dev summit 042011
Gluster open stack dev summit 042011Gluster open stack dev summit 042011
Gluster open stack dev summit 042011
 
Swift container sync
Swift container syncSwift container sync
Swift container sync
 
Mach Technology
Mach Technology Mach Technology
Mach Technology
 
OpenStack on Intel
OpenStack on IntelOpenStack on Intel
OpenStack on Intel
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale Cloud
 
Openstack and eBay
Openstack and eBay Openstack and eBay
Openstack and eBay
 
OpenStack Opportunity - Citrix
OpenStack Opportunity - CitrixOpenStack Opportunity - Citrix
OpenStack Opportunity - Citrix
 
PaaS on Openstack
PaaS on OpenstackPaaS on Openstack
PaaS on Openstack
 

Dernier

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Dernier (20)

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

The site architecture you can edit

Notes de l'éditeur

  1. The Wikimedia sites are a massive volunteer effort to share knowledge with the world. These volunteer efforts have created the 5 th largest web presence in the world, and one of the largest collections of knowledge online in the world. This effort is so successful because of willingness and drive of people to share knowledge, the openness of the content, and the freedom our environment provides to create.
  2. A major freedom of our sites is the ability to edit. If you are reading an article, and see a typo, you can fix it. If you are reading an article about your hometown, and some information you feel is interesting or important is missing, you can add it. If something is wrong, you can correct it. But in the current state of the web editable content isn't terribly novel. Facebook, twitter, slashdot, digg, reddit, etc., are all user generated content.
  3. However, we extend the concept of editing to the interface as well. It's possible to edit interface messages, site javascript, site css, the navigation sidebar, sitenotices and other interface elements that control how users see and interact with the sites. It's also possible to edit one's own css and javascript so that one's experience is custom to themselves. A community member may do activities that require quite a bit of repetition, and as such may write tools to automate or add usability to their process. Often these tools are very useful to others in the community as well, and can be shared, like the content of our sites.
  4. We also extend the concept of editing to our software. Changes to our software, like our content are open to all. The software is GPL licensed, and is used extensively by third parties. In fact, I became a volunteer for the Wikimedia effort by using and improving the software for another organization. We give out commit access fairly liberally. If you have the PHP chops, and discuss what you'll be working on, you'll very likely get commit access.
  5. We also extend the editability of our stack to our translations. We have a very diverse community, and a lot of that diversity in language diversity. We have projects in 250 languages, and as such the software must also be localized for those languages. We use translatewiki.net to localize the MediaWiki software, and like Wikimedia sites, translate wiki is volunteer based, and uses MediaWiki. We have localization support in over 300 languages, all of which was totally volunteer created. The translatewiki community has roughly 2,500 members, and continues to grow. We continue our trend of letting community members edit everything by going deeper and deeper into our stack.
  6. We extend the concept of editing further into our stack, and into our site architecture, from the documentation point of view. People are occasionally shocked at the level of openness of our community, and our environment. For instance, we have all of our architecture documentation on a public wiki. I recently did an LDAP implementation, and while doing so, I added complete documentation on the implementation. It covers installation, configuration, directory information tree design, schema design, security decisions, and backup design. This gives a freedom to the community to participate in our site architecture, at least from a viewing perspective. Our working environment is very public, and this includes our logging and communications, which occurs via IRC.
  7. The operations team's daily working environment is IRC, and we log server actions via bots in IRC. These logs are available on a wiki. This provides the community with the freedom to participate in our site operations by watching us work, and offering help. Operations volunteers can work with us in this environment, and add to the log as well. This is unfortunately the depth level at which editing stops. Our openness continues though.
  8. We go one step further than simply opening our operations documentation. We also provide live versions of a lot of our configuration files. Right now it isn't possible to see all of our configuration, but this is something I'd like to change. The provides the community the ability to actively participate in our site architecture by providing patches to issues, or to enable features.
  9. Our monitoring infrastructure is also publicly accessible. We have one service that is meant to be a dashboard of whether are services are up or not, and we have another that is meant more for backend support.
  10. Like monitoring, our performance statistics are publicly viewable. This, along with monitoring, provides the community the freedom to participate by reporting issues, or informing other users of ongoing issues. It can also be used to help us diagnose issues as they are occurring
  11. The theme here is that we as a community, and specifically the Wikimedia Foundation emphasize the empowerment of our community through freedoms expressed in software, and open content. Our community also empowers itself through self-funding. Wikimedia is a non-profit and is funded by its community. We are primarily funded by small donations made by our editors and readers.
  12. The power of these freedoms is outstanding. The explosive growth of Wikipedia is a testament that people want to share knowledge, and will if they have the ability to easily do so. So let's look back to the beginning of this project, to see how things began.
  13. The freedoms our community have used to extend through our entire environment, all the way to root access on our production cluster. When Wikipedia was first started, there was no paid tech staff. Everyone was a volunteer, including all roots.
  14. Unfortunately, with the massive growth of the sites, and the importance of keeping the sites up and the content secure, we now lack the ability to easily give root access to volunteers. Most of our operations team is paid staff, and we haven't had a new ops volunteer with production cluster access in a while.
  15. We also have a similar situation occurring with development. We have foundation initiated projects occasionally, and we are having a difficult time properly integrating our volunteer developers into these projects.
  16. This is where OpenStack comes in. I believe that OpenStack is an empowerment technology, and will provide our community with a new, quite awesome, freedom to participate. I feel OpenStack is especially empowering because it is open source. There are some closed source solutions we could use to empower our users, but OpenStack being open source means we can change the software how we need, and we can steer the project in a way that ensures our project will continue to work in the way we need. Also, the foundation has a policy to use open source unless there is no alternative. Often we won't use closed source even if there is no other alternative.
  17. The way I'm going to use OpenStack to empower our community is going to be a community oriented test and development environment.
  18. I have three main goals: 1. Improve collaboration between staff and volunteers for software development 2. Have a process for providing higher levels of access for people who are not on the paid operation team staff. This includes staff developers, and all volunteers. I'd like to have an environment where anyone can eventually become root, even on our production cluster. 3. I'd like to have an environment where we can test major changes before we deploy them to the live site. We currently have no test environment.
  19. We can achieve the goals by providing liberal access to an environment that is a clone of our production environment. In this environment it should be possible to add new architecture without affecting the production clone. Users should be able to make root level changes without having root, and they should be able to eventually have these changes implemented on the production cluster.
  20. The basic use case is that the operations team will create an initial default project. This project will be a clone of our production cluster. Like our production cluster, direct root access will be limited here. However, shell access will be given our fairly liberally. Basically, if someone has MediaWiki commit access, or they wish to do volunteer operations work, they'll be given access. This environment will be used for most test and development; it will not be used for production work. I hope for this to be used as a shared environment where staff and volunteers can collaboratively work together on projects. I also would like this environment to be a place where we can do operations testing, such as failover between datacenters, and service degradation tests.
  21. New projects should mirror community or foundation initiatives. These will be used for new site architecture. For instance, we are implementing Open Web Analytics currently, and this required architecture that is separate from our normal architecture. In our production environment, it is difficult to give out root access, which made OWA integration more difficult than necessary. In this test/dev environment, ops can create a project, assign members, and let the developers create the architecture themselves. Once the devs create the architecture, and are happy with how it is working, they can create puppet manifests describing the system design, and can push the manifests to the test/dev puppet git branch for review. After the community approves them, ops can approve them, and merge the changes in. Once the changes are merged in, ops can create instances for this project in the default project using the puppet configuration. If everything looks good, and it is interacting with the production clone properly, ops can merge the test/dev branch changes to the production puppet git branch. After merging the changes, ops can add hardware, and bring the systems online, and add the project to the production environment. This is basically having root, without having root! We are treating operations as a software development project.
  22. Let's look into how I'll be implementing this project.
  23. Here's the current architecture I've built. It contains the following: MediaWiki, which is the user's interface for controlling most of the architecture LDAP, which is used for tight integration of all services, and instances DNS, which is controlled by MediaWiki Puppet, which from the instance POV is controlled by MediaWiki Gerrit, which is a Git interface for code review and will contain all puppet information Nova, which is used for managing infrastructure
  24. First, let's look at how openstack fits in.
  25. We are running a multi-node nova installation with MySQL and LDAP. We are starting small, with one controller, and three compute nodes so that we can properly vet the architecture. In the future we'll likely grow this quite a bit. Ideally we'll have a test/dev zone in each of our datacenters. We'll also likely use a production zone in each datacenter to host instances for some of the miscellaneous services we run that aren't necessary for the site. We also have a possible future project, that isn't yet budgeted, or confirmed as an official project, called Wikimedia Labs. This will be an environment that is a clone of our production environment that will have much more liberal access than the test/dev environment. It'll be for tools and research.
  26. Next, let's look at MediaWiki, which we are using to control this architecture.
  27. I wrote a MediaWiki extension called OpenStackManager. In conjunction with the LdapAuthentication extension, it controls all aspects of the environment. The extension supports essentially all of the EC2 exposed functionality of Nova. As a plus, it also enables the self-documentation of the architecture. When a nova resource is created, it automatically pulls instance information from a number of places and creates MediaWiki templates. This information is also kept up to date when things change, or when resources are deleted. I extend this documentation to be more useful too, though.
  28. I extend this documentation with Semantic MediaWiki (SMW). SMW is a system for adding structured data to a wiki. It can add semantic annotations to wiki content, which turns it into data that is queryable, and exported. These queries can output this data in a number of different formats. So, the templates that are being created have this data turned into structured data, and as such, you can do queries on it. Queries like the above example can be done. On my blog, I also show how you can use this data inside of system scripts, via JSON display formats of SMW.
  29. Here's an example of the MediaWiki template that is created, in property/value format.
  30. Here's an example of a really basic query that outputs in broadtable format, for displaying the information in the wiki.
  31. Next let's look at how I'm using LDAP (using OpenDJ).
  32. LDAP is used for all services in the architecture. LDAP is also used for the instances that are created as well. Nova concepts are expanded to system level concepts on the instances. For instance, a nova account (which is the user's wiki account), is the user's instance shell account. When a user is added to a nova project, they also are added to a posix group on the instance. It's also possible to give sudo access by adding users into a special role.
  33. Authentication and authorization is done via LDAP, and is managed by the OpenStackManager and LdapAuthentication extensions. When a MediaWiki account is created for a user, nova, gerrit, and shell account credentials are also added.
  34. Here's an example of an LDAP entry that is created.
  35. Next, let's look at how we are integrating puppet.
  36. We are using puppet to manage all instances that are created. When users create instances, the puppet information is added to LDAP for that instance. Puppet is integrated with LDAP, where all puppet nodes are stored in LDAP. There is some puppet information that is always added for instances. Specifically, MediaWiki adds variables for the instance's project, the user's wiki name, their email address, and their language. I use this in puppet to send an email to a user, in their language, telling them when their instance is finished being created. More puppet classes and variables can be added by default via the MediaWiki config, so this is extendable for your own purposes.
  37. Next let's look at how I'm handling DNS.
  38. Like puppet, DNS is using LDAP as a backend for its information. The OpenStackManager extensions manages both private and public DNS domains. When an instance is created, it also adds a private DNS address. When a user allocates an IP address, and associates that address with an instance, they can also add public DNS information to that address.
  39. Here's an example of an LDAP entry for an instance. Notice that both puppet and DNS information is on the same entry. The nice thing about this, is that puppet can use all of the attributes as variables, so the DNS information can be used in puppet manifests. One especially nice thing about this, is that the private DNS entries have a location field, which can be used in puppet to do location specific configuration.
  40. Next let's see how I'm using Nova's metadata service.
  41. We are using cloud init fairly extensively to bootstrap puppet. MediaWiki can be configured to add default cloudinit configuration, scripts, and upstarts to instances.
  42. Lastly, there is Gerrit.
  43. Gerrit is a code review tool for git that manages the git repositories and can also handle things like branching and merges. All wiki users will have the ability to branch, and propose changes for merge. Two approvals will be required for merges. The first approval will come from the community. The second approval will come from ops. Ops will have the ability to merge. This is an example of a place we can increase privileges for non-staff ops. Over time we can give out the ability for non-staff ops to do final approvals and merges in the test/dev branch.
  44. We can use help with this! There are a number of things we'd like to accomplish with nova, the OpenStackManager extension, and with our test/dev architecture that will take a lot of work. If you'd like to work with us, we are hiring. If you would like to volunteer we are very welcoming. You don't need to be an expert to volunteer. If you are looking to learn more about openstack, and want to help, we are more than willing to do mentorship on the project, as long as you can help us get the work done!
  45. Though my efforts are Wikimedia oriented, I also took consideration of how I could build this to benefit outside organizations. Every organization I've worked at has had contention between operations and developers when it comes to the level of access that is given to developers. Generally the developers want full access, but don't follow ops procedures closely enough for the ops team's tastes. This architecture focuses on giving developers a high level of access while forcing standardized procedures where they are necessary. In the cluster clone they do not get root access, but can make changes through puppet. In their projects they get full access, but must standardize their builds before they can be deployed. I'd like our architecture to be a reference to vet this idea.
  46. Another thing I often see is architecture documentation that is out of date. This architecture focuses on solving this problem as well, as the documentation is mostly handled automatically. Also, this documentation can be used in a structured way by the use of queries on the structured data, allowing the documentation to also be used for scripts, or data calls.
  47. Please don't hesitate to contact me. I'm very active on IRC, and would love to talk to you.