SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
MAAS and Juju
Introduction
Leonardo Borda
Technical Account Manager
Presented at the:
http://www.devopsmtl.com
March 2014
1 2
3 4
A few things about Canonical
+ INTRODUCTION
MAAS Juju
Hands-on demo Questions!
Agenda
A few things
about Canonical
We are the company
behind Ubuntu.
EMPLOYEES
London
Boston
Shanghai
Taipei
600+ COUNTRIES
30+FOUNDED
2004
Beijing Tokyo
MAAS
Desktop, Tablet
& Mobile Ubuntu
Server & Cloud
Infrastructure
Two main areas
Ubuntu
The Cloud OS
OpenStack
The Cloud Infrastructure
What we offer
Juju
Service Orchestration
Landscape
Cloud Management
MAAS
Hardware provisioning with Metal-As-A-
Service
1
Physical servers on demand
easily scale up and scale down
2
Hardware discovery and inventory
for policy based management
3
Orchestration of workloads via Juju
on bare metal hardware.
MAAS : Metal As A Service
MAAS
Brings the language of the cloud to physical servers.
Do I really need MAAS ??
Texas Advanced Computing Center
Texas Advanced Computing Center
MAAS : Metal As A Service
MAAS : Metal As A Service
I like the old way. Okay?!
- setup pxeboot, tftp
- setup dhcpd, bind
- setup preseed files, .ks, scripts,
etc...
Drawbacks:
- No fancy GUI
- No API
- No 3-step provisioning process
- No Hardware inventory
MAAS : Metal As A Service
MAAS Architecture
CLUSTER
CONTROLLER
TFTP
(PXE)
DHCP
CLUSTER
NODES
CLUSTER
CONTROLLER
TFTP
(PXE)
DHCP
CLUSTER
NODES
REGION
CONTROLLER
Highly available
WEB UI API
Cross data centers
provisioning and visibility
Controllers deployment
in HA mode
Supports cluster grouping
constructs to provide visibility
into large pools of hardware
API and UI interfaces
Landscape Integration to deliver
role-based access controls, higher
level view
1 2 3
Rapid provisioning at cloud scale
3-step provisioning process
Install MAAS
on first server
Discover
Nodes
Power on
Nodes
Automatically discover nodes
Enlist nodes via PXE boot
or manually enter MAC addresses
Hypervisor or OS
provisioned automatically
1
2
3
Hardware provisioning workflow
Enlistment
Commissionin
g
Provisioning
DHCP boot in an ephemeral environment
Register with cluster controller
Adds temporary IPMI MAAS credentials to BMC
Boot in a ephemeral environment
Hardware inventoried
Permanent IPMI MAAS credentials set in BMC
Other user-commissioning actions
(firmware configuration, smoke tests, etc.)
Happens when a node is requested
Installs requested Ubuntu version
Installing MAAS
Two options:
- from the Ubuntu Server boot media
- from the archive ( described below )
$ ssh-keygen -t rsa
$ sudo add-apt-repository cloud-archive:tools
$ sudo apt-get update; sudo apt-get upgrade
$ sudo apt-get install maas maas-dhcp maas-dns
Post-install tasks
$ sudo maas createadmin --username=root --email=MYEMAIL@EXAMPLE.COM
Get the MAAS Api Key <key> through the GUI or through this hack script
$ maas login <profile-name> http://<hostname_or_ip>/MAAS/api/1.0 <key>
Add user’s ssh key
$ pub=$(cat /home/lborda/.ssh/id_rsa.pub)
$ maas-cli maas sshkeys new "key=${pub}"
$ maas-cli maas sshkeys read <id>
...
Installing MAAS continued...
Configuring DHCP and DNS.
$ uuid=$(maas <profile-name> node-groups list | grep uuid | cut -d" -f4)
$ maas <profile-name> node-group-interface update $uuid eth0 
ip_range_high=192.168.123.200 
ip_range_low=192.168.123.100 
management=2 
broadcast_ip=192.168.123.255 
router_ip=192.168.123.1
How to help or get helped
The two channels you can use to get help debugging a MAAS issue are:
❏ The Ask Ubuntu website.
❏ The Freenode #maas IRC channel.
Report bugs:
❏ https://bugs.launchpad.net/maas
Check out MAAS it’s open source:
❏ https://launchpad.net/maas
Automating workloads
with Juju
Applications.
Anywhere.
Instantly.
Application deployment at radical velocity
What can you do with Juju ? On which platforms ?
Deploy
Scale-Out Integrate
Clouds
Bare Metal
Linux
Containers
What’s Juju anyways?
Deb Packages (host level) Your infrastructure (services)
$ apt-get install -y cowsay $ juju deploy <my_custom_app>
juju provides you with sharable, reusable, and repeatable
expressions of devops best practices
The best solution to orchestrate your services
Why use Juju?
Ease of provisioning
Pluggable provisioning backend, from
local machines to large clouds
Event-based
React to changes in environment,
self configuring
Scalable
Templates designed to scale
by adding more units
Language independence
Hooks can be written in any language
Bundle charms and instantly deploy these solutions
Charms package services
Service definition Instant deployment
Encapsulate application
configurations
Define service
scalability hooks
Define service
deployment
1
2
3
Deploy services
$ juju deploy wordpress
$ juju deploy mysql
Create relationships
$ juju add-relation wordpress mysql
Expose app to the outside world
$ juju expose wordpress
Scale out the application
$ juju add-unit -n 5 wordpress
Scale down the application
$ juju remove-unit -n 2 wordpress
Create charms and deploy your services
Anatomy of a Charm
Charm Tools Instant deployment
my-charm
├── config.yaml
├── hooks
│ ├── config-changed
│ ├── install
│ ├── relation-name-relation-broken
│ ├── relation-name-relation-changed
│ ├── relation-name-relation-
departed
│ ├── relation-name-relation-joined
│ ├── start
│ ├── stop
│ └── upgrade-charm
├── icon.svg
├── metadata.yaml
├── README.ex
└── revision
$ sudo add-apt-repository ppa:juju/stable
$ sudo apt-get update
$ sudo apt-get install charm-tools
$ juju charm create my-charm
Hundreds of charms are available today
A growing Charm ecosystem
Charms are rated and reviewed
for quality assurance
Drag and drop Charms
to create services
Support for private and
mixed mode Charm store
Publicly available Charm Store
...
Juju GUI Store
Configure and manage your services
Juju Architecture
Juju Client
(HTML5, UI, CLI)
Juju State Server (in HA mode)
Deployment Environment
Provisioning
Server
API Server
Provisioning
Server
API Server
Mongo Mongo
Compute Instance Compute
LXCWorkloadJuju Agent LXC
KVM
Juju Agent
Workload
Installing Juju
1. Install Juju
$ ssh-keygen -t rsa (if you don’t have one)
$ sudo add-apt-repository ppa:juju/stable
$ sudo apt-get update && sudo apt-get install juju-core
2. Generate base ~/.juju/environments.yaml configuration file
$ juju generate-config
3. Configure to use a particular cloud provider.
Modify ~/.juju/environments.yaml to suite one or more of the following cloud providers:
● Configuring for Amazon AWS
● Configuring for Windows Azure
● Configuring for HP Cloud
● Configuring for OpenStack
● Configuring for MAAS
● Configuring for LXC local provider (Linux)
3. Final step: bootstrap the environment
$ juju bootstrap -v
$ juju status
4. If you want to destroy the environment
$ juju destroy-environment
How to help or get helped
The three channels you can use to get help debugging a MAAS issue are:
❏ The Ask Ubuntu website.
❏ Join the mailing list.
❏ The Freenode #juju IRC channel.
Report bugs:
❏ Report Bugs
Check out Juju it’s open source:
❏ https://launchpad.net/juju-core
DEMO
- Deploy wordpress using MAAS + Juju
- Scale up
- Scale down
Other cool stuff
- Running juju locally on lxc containers
3
Questions ?
4
Leonardo Borda
leonardoborda@gmail.com / leonardo.borda@canonical.com
#IRC-freenode: lborda
blog: http://leonardoborda.com
Thank you!!
DevOpsMtl, Metal edition – MaaS and Juju

Más contenido relacionado

La actualidad más candente

RHEL6 High Availability Add-On Technical Guide
RHEL6 High Availability Add-On Technical GuideRHEL6 High Availability Add-On Technical Guide
RHEL6 High Availability Add-On Technical GuideEtsuji Nakai
 
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...Alphorm
 
OpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - MasakariOpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - Masakarimasahito12
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with AnsibleRayed Alrashed
 
How to configure dhcp on a cisco asa 5505
How to configure dhcp on a cisco asa 5505How to configure dhcp on a cisco asa 5505
How to configure dhcp on a cisco asa 5505IT Tech
 
Moussasambe projet de securite zabbix
Moussasambe projet de securite zabbixMoussasambe projet de securite zabbix
Moussasambe projet de securite zabbixmoussa sambe
 
Presentation citrix desktop virtualization
Presentation   citrix desktop virtualizationPresentation   citrix desktop virtualization
Presentation citrix desktop virtualizationxKinAnx
 
OpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-ServiceOpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-ServiceRamon Acedo Rodriguez
 
Alphorm.com Formation VMware Workstation 11
Alphorm.com Formation VMware Workstation 11 Alphorm.com Formation VMware Workstation 11
Alphorm.com Formation VMware Workstation 11 Alphorm
 
Creating_scheduled_reports_with_Zabbix.pdf
Creating_scheduled_reports_with_Zabbix.pdfCreating_scheduled_reports_with_Zabbix.pdf
Creating_scheduled_reports_with_Zabbix.pdfITDispendik
 
Introduction to Zabbix - Company, Product, Services and Use Cases
Introduction to Zabbix - Company, Product, Services and Use CasesIntroduction to Zabbix - Company, Product, Services and Use Cases
Introduction to Zabbix - Company, Product, Services and Use CasesZabbix
 
Administration VMware esxi vsphere
Administration VMware esxi  vsphere Administration VMware esxi  vsphere
Administration VMware esxi vsphere tiandrazanalino
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualizationelliando dias
 
VMware vSphere Performance Troubleshooting
VMware vSphere Performance TroubleshootingVMware vSphere Performance Troubleshooting
VMware vSphere Performance TroubleshootingDan Brinkmann
 
VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16David Pasek
 
Zabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenientsZabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenientsbiapy
 

La actualidad más candente (20)

RHEL6 High Availability Add-On Technical Guide
RHEL6 High Availability Add-On Technical GuideRHEL6 High Availability Add-On Technical Guide
RHEL6 High Availability Add-On Technical Guide
 
Zabbix
ZabbixZabbix
Zabbix
 
PIW ISE best practices
PIW ISE best practicesPIW ISE best practices
PIW ISE best practices
 
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...
 
OpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - MasakariOpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - Masakari
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
 
How to configure dhcp on a cisco asa 5505
How to configure dhcp on a cisco asa 5505How to configure dhcp on a cisco asa 5505
How to configure dhcp on a cisco asa 5505
 
Moussasambe projet de securite zabbix
Moussasambe projet de securite zabbixMoussasambe projet de securite zabbix
Moussasambe projet de securite zabbix
 
Presentation citrix desktop virtualization
Presentation   citrix desktop virtualizationPresentation   citrix desktop virtualization
Presentation citrix desktop virtualization
 
OpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-ServiceOpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-Service
 
Alphorm.com Formation VMware Workstation 11
Alphorm.com Formation VMware Workstation 11 Alphorm.com Formation VMware Workstation 11
Alphorm.com Formation VMware Workstation 11
 
Creating_scheduled_reports_with_Zabbix.pdf
Creating_scheduled_reports_with_Zabbix.pdfCreating_scheduled_reports_with_Zabbix.pdf
Creating_scheduled_reports_with_Zabbix.pdf
 
Ansible 101
Ansible 101Ansible 101
Ansible 101
 
Introduction to Zabbix - Company, Product, Services and Use Cases
Introduction to Zabbix - Company, Product, Services and Use CasesIntroduction to Zabbix - Company, Product, Services and Use Cases
Introduction to Zabbix - Company, Product, Services and Use Cases
 
VMWARE ESX
VMWARE ESXVMWARE ESX
VMWARE ESX
 
Administration VMware esxi vsphere
Administration VMware esxi  vsphere Administration VMware esxi  vsphere
Administration VMware esxi vsphere
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualization
 
VMware vSphere Performance Troubleshooting
VMware vSphere Performance TroubleshootingVMware vSphere Performance Troubleshooting
VMware vSphere Performance Troubleshooting
 
VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16
 
Zabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenientsZabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenients
 

Similar a DevOpsMtl, Metal edition – MaaS and Juju

Itb session v_memcached
Itb session v_memcachedItb session v_memcached
Itb session v_memcachedSkills Matter
 
How to manage Microsoft Azure with open source
How to manage Microsoft Azure with open sourceHow to manage Microsoft Azure with open source
How to manage Microsoft Azure with open sourceTaehee Jang
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabricandymccurdy
 
Deployment with Fabric
Deployment with FabricDeployment with Fabric
Deployment with Fabricandymccurdy
 
NDC 2011 - Let me introduce my Moncai
NDC 2011 - Let me introduce my MoncaiNDC 2011 - Let me introduce my Moncai
NDC 2011 - Let me introduce my Moncaimoncai
 
Word press, the automated way
Word press, the automated wayWord press, the automated way
Word press, the automated wayMichaël Perrin
 
Virtualization and Cloud Computing with Elastic Server On Demand
Virtualization and Cloud Computing with Elastic Server On DemandVirtualization and Cloud Computing with Elastic Server On Demand
Virtualization and Cloud Computing with Elastic Server On DemandYan Pritzker
 
Writing & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonWriting & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonPuppet
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...Amazon Web Services
 
Richard Cole of Amazon Gives Lightning Tallk at BigDataCamp
Richard Cole of Amazon Gives Lightning Tallk at BigDataCampRichard Cole of Amazon Gives Lightning Tallk at BigDataCamp
Richard Cole of Amazon Gives Lightning Tallk at BigDataCampBigDataCamp
 
Drupal Efficiency using open source technologies from Sun
Drupal Efficiency using open source technologies from SunDrupal Efficiency using open source technologies from Sun
Drupal Efficiency using open source technologies from Sunsmattoon
 
Salt Cloud vmware-orchestration
Salt Cloud vmware-orchestrationSalt Cloud vmware-orchestration
Salt Cloud vmware-orchestrationMo Rawi
 
How to Contribute Code to MySQL?
How to Contribute Code to MySQL?How to Contribute Code to MySQL?
How to Contribute Code to MySQL?Thava Alagu
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltStack
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop AutomationRui Lapa
 
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클Oracle Korea
 

Similar a DevOpsMtl, Metal edition – MaaS and Juju (20)

Informology - Introduction to juju
Informology - Introduction to jujuInformology - Introduction to juju
Informology - Introduction to juju
 
Itb session v_memcached
Itb session v_memcachedItb session v_memcached
Itb session v_memcached
 
How to manage Azure with open source
How to manage Azure with open sourceHow to manage Azure with open source
How to manage Azure with open source
 
How to manage Microsoft Azure with open source
How to manage Microsoft Azure with open sourceHow to manage Microsoft Azure with open source
How to manage Microsoft Azure with open source
 
Deploying SharePoint @ Cloud
Deploying SharePoint @ CloudDeploying SharePoint @ Cloud
Deploying SharePoint @ Cloud
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabric
 
Deployment with Fabric
Deployment with FabricDeployment with Fabric
Deployment with Fabric
 
NDC 2011 - Let me introduce my Moncai
NDC 2011 - Let me introduce my MoncaiNDC 2011 - Let me introduce my Moncai
NDC 2011 - Let me introduce my Moncai
 
Word press, the automated way
Word press, the automated wayWord press, the automated way
Word press, the automated way
 
infra-as-code
infra-as-codeinfra-as-code
infra-as-code
 
Virtualization and Cloud Computing with Elastic Server On Demand
Virtualization and Cloud Computing with Elastic Server On DemandVirtualization and Cloud Computing with Elastic Server On Demand
Virtualization and Cloud Computing with Elastic Server On Demand
 
Writing & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonWriting & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp Boston
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
 
Richard Cole of Amazon Gives Lightning Tallk at BigDataCamp
Richard Cole of Amazon Gives Lightning Tallk at BigDataCampRichard Cole of Amazon Gives Lightning Tallk at BigDataCamp
Richard Cole of Amazon Gives Lightning Tallk at BigDataCamp
 
Drupal Efficiency using open source technologies from Sun
Drupal Efficiency using open source technologies from SunDrupal Efficiency using open source technologies from Sun
Drupal Efficiency using open source technologies from Sun
 
Salt Cloud vmware-orchestration
Salt Cloud vmware-orchestrationSalt Cloud vmware-orchestration
Salt Cloud vmware-orchestration
 
How to Contribute Code to MySQL?
How to Contribute Code to MySQL?How to Contribute Code to MySQL?
How to Contribute Code to MySQL?
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop Automation
 
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
 

Último

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

DevOpsMtl, Metal edition – MaaS and Juju

  • 1. MAAS and Juju Introduction Leonardo Borda Technical Account Manager Presented at the: http://www.devopsmtl.com March 2014
  • 2. 1 2 3 4 A few things about Canonical + INTRODUCTION MAAS Juju Hands-on demo Questions! Agenda
  • 3. A few things about Canonical
  • 4. We are the company behind Ubuntu.
  • 6. MAAS Desktop, Tablet & Mobile Ubuntu Server & Cloud Infrastructure Two main areas
  • 7. Ubuntu The Cloud OS OpenStack The Cloud Infrastructure What we offer Juju Service Orchestration Landscape Cloud Management
  • 8. MAAS Hardware provisioning with Metal-As-A- Service
  • 9. 1 Physical servers on demand easily scale up and scale down 2 Hardware discovery and inventory for policy based management 3 Orchestration of workloads via Juju on bare metal hardware. MAAS : Metal As A Service MAAS Brings the language of the cloud to physical servers.
  • 10. Do I really need MAAS ??
  • 13. MAAS : Metal As A Service
  • 14. MAAS : Metal As A Service I like the old way. Okay?! - setup pxeboot, tftp - setup dhcpd, bind - setup preseed files, .ks, scripts, etc... Drawbacks: - No fancy GUI - No API - No 3-step provisioning process - No Hardware inventory
  • 15. MAAS : Metal As A Service
  • 16. MAAS Architecture CLUSTER CONTROLLER TFTP (PXE) DHCP CLUSTER NODES CLUSTER CONTROLLER TFTP (PXE) DHCP CLUSTER NODES REGION CONTROLLER Highly available WEB UI API Cross data centers provisioning and visibility Controllers deployment in HA mode Supports cluster grouping constructs to provide visibility into large pools of hardware API and UI interfaces Landscape Integration to deliver role-based access controls, higher level view
  • 17. 1 2 3 Rapid provisioning at cloud scale 3-step provisioning process Install MAAS on first server Discover Nodes Power on Nodes Automatically discover nodes Enlist nodes via PXE boot or manually enter MAC addresses Hypervisor or OS provisioned automatically
  • 18. 1 2 3 Hardware provisioning workflow Enlistment Commissionin g Provisioning DHCP boot in an ephemeral environment Register with cluster controller Adds temporary IPMI MAAS credentials to BMC Boot in a ephemeral environment Hardware inventoried Permanent IPMI MAAS credentials set in BMC Other user-commissioning actions (firmware configuration, smoke tests, etc.) Happens when a node is requested Installs requested Ubuntu version
  • 19. Installing MAAS Two options: - from the Ubuntu Server boot media - from the archive ( described below ) $ ssh-keygen -t rsa $ sudo add-apt-repository cloud-archive:tools $ sudo apt-get update; sudo apt-get upgrade $ sudo apt-get install maas maas-dhcp maas-dns Post-install tasks $ sudo maas createadmin --username=root --email=MYEMAIL@EXAMPLE.COM Get the MAAS Api Key <key> through the GUI or through this hack script $ maas login <profile-name> http://<hostname_or_ip>/MAAS/api/1.0 <key> Add user’s ssh key $ pub=$(cat /home/lborda/.ssh/id_rsa.pub) $ maas-cli maas sshkeys new "key=${pub}" $ maas-cli maas sshkeys read <id> ...
  • 20. Installing MAAS continued... Configuring DHCP and DNS. $ uuid=$(maas <profile-name> node-groups list | grep uuid | cut -d" -f4) $ maas <profile-name> node-group-interface update $uuid eth0 ip_range_high=192.168.123.200 ip_range_low=192.168.123.100 management=2 broadcast_ip=192.168.123.255 router_ip=192.168.123.1
  • 21. How to help or get helped The two channels you can use to get help debugging a MAAS issue are: ❏ The Ask Ubuntu website. ❏ The Freenode #maas IRC channel. Report bugs: ❏ https://bugs.launchpad.net/maas Check out MAAS it’s open source: ❏ https://launchpad.net/maas
  • 23. Application deployment at radical velocity What can you do with Juju ? On which platforms ? Deploy Scale-Out Integrate Clouds Bare Metal Linux Containers
  • 24. What’s Juju anyways? Deb Packages (host level) Your infrastructure (services) $ apt-get install -y cowsay $ juju deploy <my_custom_app> juju provides you with sharable, reusable, and repeatable expressions of devops best practices
  • 25. The best solution to orchestrate your services Why use Juju? Ease of provisioning Pluggable provisioning backend, from local machines to large clouds Event-based React to changes in environment, self configuring Scalable Templates designed to scale by adding more units Language independence Hooks can be written in any language
  • 26. Bundle charms and instantly deploy these solutions Charms package services Service definition Instant deployment Encapsulate application configurations Define service scalability hooks Define service deployment 1 2 3 Deploy services $ juju deploy wordpress $ juju deploy mysql Create relationships $ juju add-relation wordpress mysql Expose app to the outside world $ juju expose wordpress Scale out the application $ juju add-unit -n 5 wordpress Scale down the application $ juju remove-unit -n 2 wordpress
  • 27. Create charms and deploy your services Anatomy of a Charm Charm Tools Instant deployment my-charm ├── config.yaml ├── hooks │ ├── config-changed │ ├── install │ ├── relation-name-relation-broken │ ├── relation-name-relation-changed │ ├── relation-name-relation- departed │ ├── relation-name-relation-joined │ ├── start │ ├── stop │ └── upgrade-charm ├── icon.svg ├── metadata.yaml ├── README.ex └── revision $ sudo add-apt-repository ppa:juju/stable $ sudo apt-get update $ sudo apt-get install charm-tools $ juju charm create my-charm
  • 28. Hundreds of charms are available today A growing Charm ecosystem Charms are rated and reviewed for quality assurance Drag and drop Charms to create services Support for private and mixed mode Charm store Publicly available Charm Store ...
  • 29. Juju GUI Store Configure and manage your services
  • 30. Juju Architecture Juju Client (HTML5, UI, CLI) Juju State Server (in HA mode) Deployment Environment Provisioning Server API Server Provisioning Server API Server Mongo Mongo Compute Instance Compute LXCWorkloadJuju Agent LXC KVM Juju Agent Workload
  • 31. Installing Juju 1. Install Juju $ ssh-keygen -t rsa (if you don’t have one) $ sudo add-apt-repository ppa:juju/stable $ sudo apt-get update && sudo apt-get install juju-core 2. Generate base ~/.juju/environments.yaml configuration file $ juju generate-config 3. Configure to use a particular cloud provider. Modify ~/.juju/environments.yaml to suite one or more of the following cloud providers: ● Configuring for Amazon AWS ● Configuring for Windows Azure ● Configuring for HP Cloud ● Configuring for OpenStack ● Configuring for MAAS ● Configuring for LXC local provider (Linux) 3. Final step: bootstrap the environment $ juju bootstrap -v $ juju status 4. If you want to destroy the environment $ juju destroy-environment
  • 32. How to help or get helped The three channels you can use to get help debugging a MAAS issue are: ❏ The Ask Ubuntu website. ❏ Join the mailing list. ❏ The Freenode #juju IRC channel. Report bugs: ❏ Report Bugs Check out Juju it’s open source: ❏ https://launchpad.net/juju-core
  • 33. DEMO - Deploy wordpress using MAAS + Juju - Scale up - Scale down Other cool stuff - Running juju locally on lxc containers 3
  • 35. Leonardo Borda leonardoborda@gmail.com / leonardo.borda@canonical.com #IRC-freenode: lborda blog: http://leonardoborda.com Thank you!!