Chef as a One-Stop Solution on Microsoft Azure

Karsten Müller
Karsten MüllerSystemarchitekt bei Lichtblick SE at Lichtblick SE
Chef as a One-Stop Solution on Microsoft Azure
Chef as a One-Stop Solution
on Microsoft Azure
Karsten Mueller, IT-Architect
Some background
• Company LichtBlick SE
o LichtBlick is the leading provider of green electricity and green
gas in Germany. Over one million people - the LichtBlicker -
already rely on our forward-looking energy products.
o 460 Employees, $780 million revenue in 2017
• LichtBlick IT Department (80 Employees)
o „We strive to build the most automated and customer-focused
platform for the energy business in Germany“
o Custom .NET Applications & Standard Software
o Using Azure Cloud & On-Premises Datacenters
My part in the game
• „Most of what architects have done traditionally should be done by
developers, or by tools, or not at all.“
• “An architect’s value is inversely proportional to the number of
decisions he or she makes.”
[ Erik Doernenburg & Martin Fowler, Craft Conf 2016 ]
My part in the game
• „Most of what architects have done traditionally should be done by
developers, or by tools, or not at all.“
• “An architect’s value is inversely proportional to the number of
decisions he or she makes.”
[ Erik Doernenburg & Martin Fowler, Craft Conf 2016 ]
• Roughly resulting in
o Working in Teams to collaborate on
Infrastructure Code
o Providing some guidance
System Libraries
Packages
Middleware
Application
Operating System
Cloud Infrastructure
Cookbooks
Our Approach Delivering Applications
Profiles
Our Approach Delivering Applications
• Custom Cookbooks (reusing Community Cookbooks)
• Chef Server
• Configuration data and Cookbooks
• Custom InSpec Profiles
• Chef Automate
• Provides observability for all engineers
• Azure DevOps as CI/CD Pipeline
Cookbooks
• Deployment of Custom .NET Applications
• Windows OS Customization (AD join, Anti-Malware, …)
• Windows OS Hardening
• Azure Ressource Provisioning using azure_mgmt resources from
Azure SDK for Ruby
Compliance Checks
• Compliance Checks
• CIS profiles
• Custom profiles
• LichtBlick contributed to „dev-sec/windows-baseline“
• https://github.com/LichtBlick/windows-baseline
• Observability
Compliance Checks – windows-baseline
control 'windows-001' do
title 'Ensure 'Enforce password history' is set to '24 or more password(s)''
desc 'This policy setting determines the number of renewed, unique passwords that have to be associated with a user account before you can reuse an old password.
impact 1.0
tag 'windows': ['2012R2', '2016', '2019']
tag 'profile': ['Domain Controller', 'Member Server']
tag 'CIS Microsoft Windows Server 2012 R2 Benchmark v2.3.0 - 03-30-2018': '1.1.1'
tag 'CIS Microsoft Windows Server 2016 RTM (Release 1607) Benchmark v1.1.0 - 10-31-2018': '1.1.1'
tag 'level': '1'
tag 'bsi': ['SYS.1.2.2.M3', 'Sichere Administration']
ref 'IT-Grundschutz-Kompendium', url: 'https://www.bsi.bund.de/DE/Themen/ITGrundschutz/ITGrundschutzKompendium/itgrundschutzKompendium_node.html'
ref 'Umsetzungshinweise zum Baustein SYS.1.2.2: Windows Server 2012', url: 'https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-Grundschutz-
Modernisierung/UH_Windows_Server_2012.html'
ref 'Center for Internet Security', url: 'https://www.cisecurity.org/'
We added references to BSI* „IT-Grundschutz“
*BSI = German Federal Office for Information Security
Provisioning - the good, the bad und the ugly
Provisioning - the good, the bad und the uglyg
Provisioning - the good, the bad und the ugly
• Decision to provision Azure resources with Chef & Azure resource
manager (ARM)
• Used chef-provisioning-azurerm from Stuart Preston for a while
• Developed custom Library Cookbook „azure-chef-deployment“
• based on gems „azure_mgmt_*
Our „One Stop Solution“
• Separate Chef Roles are describing Azure resource provisioning and
Application Deployment
(in 2016)
(in 2018)
today
Provisioning Azure Resources with Chef
Code
Cookbooks
Build
Lint & Test
Release
Chef Zero
Azure DevOps
Azure Resources
Ressource Group
Network
Application
Virtual
Machine
Azure Keyvault
Azure Ressource Manager
Azure Active Directory
ARM Template
Secrets
Authentication
Chef Server
Provisioning
Role
&
Cookbook
Private Agent
Provisioning Cookbook – Azure Resources
Provisioning Role for Azure Resources
Default Attributes
default['tenant'] = 'a6238652-91a6-4d9a-90ga-3f16b12dc7c3'
default['subscription'] = 'a2d596e5-2671-463g-96bd-ff487gdb6269'
default['location'] = 'westeurope'
default['resource_tags'] = {}
default['arm_template_folder'] = Chef::Config[:file_cache_path]
default['skip_validation'] = false
Resources with specific attributes
• Network
• Network Security Group
• Virtual Machine
• Application Insights
• Availability Set
• Storage Account
• User Assigned Identity
• Key Vault
• Service Bus
• Azure Functions
• Scale Set
Provisioning Cookbook – Azure Network Resource
default['network'] = {
resource_group: 'rg-sharedenv-dev-net',
default_template_parameters: {},
subnets: []
}
Scheme
default_template_parameters: {
virtual_network_name: 'vnet-eu2-157_0_0-20',
virtual_network_address_prefix: '10.157.0.0/20',
dns_servers: ['10.144.2.4', '10.144.2.5']
}
subnets: [
{
name: 'subnet-eu2-157_0_0-24-gendev',
address_prefix: '10.157.0.0/24',
nsg_name: 'nsg-subnet-eu2-157_0_0-24-gendev'
}
]
Provisioning - Our Learnings so far
• Using Chef Roles for Provisioning & Deployment is easy
• Promoting changes over stages is still to be improved
• Even a thin abstraction layer brings in dependencies
• On ruby gems being the same version as in ChefDK
• Interested in using our Provisioning Cookbook as OpenSource?
• Just ping me: karsten.mueller@lichtblick.de, @karmueller
Provisioning – Q&A
• Your Questions?
• What kind of Cloud resources do you have to provision?
oIaaS (Virtual Machines, Networks, …), PaaS Services
oKubernetes as a Service
o…
• What approach are you using?
oManually using the Web UI
oProgrammatically using Provider specific API
oTerraform
o…
Collaborate on Code
1 of 19

Recommended

GitOps with Amazon EKS Anywhere by Dan Budris by
GitOps with Amazon EKS Anywhere by Dan BudrisGitOps with Amazon EKS Anywhere by Dan Budris
GitOps with Amazon EKS Anywhere by Dan BudrisWeaveworks
272 views11 slides
Microsoft Azure News - 2018 September by
Microsoft Azure News - 2018 SeptemberMicrosoft Azure News - 2018 September
Microsoft Azure News - 2018 SeptemberDaniel Toomey
39 views26 slides
Microsoft Azure News - 2018 June by
Microsoft Azure News - 2018 JuneMicrosoft Azure News - 2018 June
Microsoft Azure News - 2018 JuneDaniel Toomey
132 views29 slides
Presentation Tier optimizations by
Presentation Tier optimizationsPresentation Tier optimizations
Presentation Tier optimizationsAnup Hariharan Nair
2.2K views25 slides
Using Windows Azure with your on-premise infrastructure by
Using Windows Azure with your on-premise infrastructureUsing Windows Azure with your on-premise infrastructure
Using Windows Azure with your on-premise infrastructureTomica Kaniski
5.6K views33 slides
Sql Azure - Columbus SQL PASS by
Sql Azure - Columbus SQL PASSSql Azure - Columbus SQL PASS
Sql Azure - Columbus SQL PASSAaron King
389 views33 slides

More Related Content

What's hot

Sql Azure Sql Saturday Nyc by
Sql Azure   Sql Saturday NycSql Azure   Sql Saturday Nyc
Sql Azure Sql Saturday NycAaron King
534 views24 slides
How Microsoft learned to love Java by
How Microsoft learned to love JavaHow Microsoft learned to love Java
How Microsoft learned to love JavaBrian Benz
2.1K views40 slides
Durable Azure Functions by
Durable Azure FunctionsDurable Azure Functions
Durable Azure FunctionsPushkar Saraf
137 views16 slides
Azure Automation and Update Management by
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update ManagementUdaiappa Ramachandran
510 views14 slides
AWS - Database Migration Service - Abdul Rasheed Feroz Khan by
AWS - Database Migration Service - Abdul Rasheed Feroz KhanAWS - Database Migration Service - Abdul Rasheed Feroz Khan
AWS - Database Migration Service - Abdul Rasheed Feroz KhanAbdul Rasheed Feroz Khan
148 views54 slides
Experiences using CouchDB inside Microsoft's Azure team by
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamBrian Benz
5.6K views32 slides

What's hot(20)

Sql Azure Sql Saturday Nyc by Aaron King
Sql Azure   Sql Saturday NycSql Azure   Sql Saturday Nyc
Sql Azure Sql Saturday Nyc
Aaron King534 views
How Microsoft learned to love Java by Brian Benz
How Microsoft learned to love JavaHow Microsoft learned to love Java
How Microsoft learned to love Java
Brian Benz2.1K views
Experiences using CouchDB inside Microsoft's Azure team by Brian Benz
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
Brian Benz5.6K views
Sql Azure - Sql Saturday Kansas City by Aaron King
Sql Azure - Sql Saturday Kansas CitySql Azure - Sql Saturday Kansas City
Sql Azure - Sql Saturday Kansas City
Aaron King264 views
Microsoft Azure Veri Servisleri by Önder Değer
Microsoft Azure Veri ServisleriMicrosoft Azure Veri Servisleri
Microsoft Azure Veri Servisleri
Önder Değer1.4K views
Get rid of credentials from your code: Using Managed identities for Azure res... by Joonas Westlin
Get rid of credentials from your code: Using Managed identities for Azure res...Get rid of credentials from your code: Using Managed identities for Azure res...
Get rid of credentials from your code: Using Managed identities for Azure res...
Joonas Westlin64 views
Microsoft Azure News - 2019 April by Daniel Toomey
Microsoft Azure News - 2019 AprilMicrosoft Azure News - 2019 April
Microsoft Azure News - 2019 April
Daniel Toomey113 views
Azure Container Instance by Bishoy Demian
Azure Container InstanceAzure Container Instance
Azure Container Instance
Bishoy Demian311 views
Windows Azure Virtual Machines by Önder Değer
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual Machines
Önder Değer807 views
Develop Azure compute solutions Part - 2 by AzureEzy1
Develop Azure compute solutions Part - 2Develop Azure compute solutions Part - 2
Develop Azure compute solutions Part - 2
AzureEzy1296 views
Automating Cloud Cluster Deployment: Beyond the Book by Bill Havanki
Automating Cloud Cluster Deployment: Beyond the BookAutomating Cloud Cluster Deployment: Beyond the Book
Automating Cloud Cluster Deployment: Beyond the Book
Bill Havanki304 views
Using Windows Azure for Solving Identity Management Challenges by Michael Collier
Using Windows Azure for Solving Identity Management ChallengesUsing Windows Azure for Solving Identity Management Challenges
Using Windows Azure for Solving Identity Management Challenges
Michael Collier5.5K views
Azure fundamental -Introduction by ManishK55
Azure fundamental -IntroductionAzure fundamental -Introduction
Azure fundamental -Introduction
ManishK55541 views
TugaIT 2016 - Docker and the world of “containerized" environments​ by Pedro Sousa
TugaIT 2016 - Docker and the world of “containerized" environments​TugaIT 2016 - Docker and the world of “containerized" environments​
TugaIT 2016 - Docker and the world of “containerized" environments​
Pedro Sousa54 views
MongoDB World 2019: Mastering MongoDB in Kubernetes by MongoDB
MongoDB World 2019: Mastering MongoDB in KubernetesMongoDB World 2019: Mastering MongoDB in Kubernetes
MongoDB World 2019: Mastering MongoDB in Kubernetes
MongoDB408 views
Codestrong 2012 breakout session using appcelerator cloud services in your ... by Axway Appcelerator
Codestrong 2012 breakout session   using appcelerator cloud services in your ...Codestrong 2012 breakout session   using appcelerator cloud services in your ...
Codestrong 2012 breakout session using appcelerator cloud services in your ...
Axway Appcelerator1.2K views

Similar to Chef as a One-Stop Solution on Microsoft Azure

AWS Summit Auckland - Introducing Well-Architected for Developers by
AWS Summit Auckland  - Introducing Well-Architected for DevelopersAWS Summit Auckland  - Introducing Well-Architected for Developers
AWS Summit Auckland - Introducing Well-Architected for DevelopersAmazon Web Services
356 views65 slides
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編 by
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編Miho Yamamoto
807 views100 slides
Secure Your Code Implement DevSecOps in Azure by
Secure Your Code Implement DevSecOps in AzureSecure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in Azurekloia
267 views72 slides
Microsoft Cloud BI Update 2012 for SQL Saturday Philly by
Microsoft Cloud BI Update 2012 for SQL Saturday PhillyMicrosoft Cloud BI Update 2012 for SQL Saturday Philly
Microsoft Cloud BI Update 2012 for SQL Saturday PhillyMark Kromer
762 views36 slides
Bringing Serverless into the Enterprise (Global Azure Virtual 2020) by
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Callon Campbell
123 views40 slides
Microsoft Azure News - December 2019 by
Microsoft Azure News - December 2019Microsoft Azure News - December 2019
Microsoft Azure News - December 2019Daniel Toomey
75 views29 slides

Similar to Chef as a One-Stop Solution on Microsoft Azure(20)

AWS Summit Auckland - Introducing Well-Architected for Developers by Amazon Web Services
AWS Summit Auckland  - Introducing Well-Architected for DevelopersAWS Summit Auckland  - Introducing Well-Architected for Developers
AWS Summit Auckland - Introducing Well-Architected for Developers
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編 by Miho Yamamoto
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編
Miho Yamamoto807 views
Secure Your Code Implement DevSecOps in Azure by kloia
Secure Your Code Implement DevSecOps in AzureSecure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in Azure
kloia267 views
Microsoft Cloud BI Update 2012 for SQL Saturday Philly by Mark Kromer
Microsoft Cloud BI Update 2012 for SQL Saturday PhillyMicrosoft Cloud BI Update 2012 for SQL Saturday Philly
Microsoft Cloud BI Update 2012 for SQL Saturday Philly
Mark Kromer762 views
Bringing Serverless into the Enterprise (Global Azure Virtual 2020) by Callon Campbell
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Callon Campbell123 views
Microsoft Azure News - December 2019 by Daniel Toomey
Microsoft Azure News - December 2019Microsoft Azure News - December 2019
Microsoft Azure News - December 2019
Daniel Toomey75 views
AKS - Azure Kubernetes Services - kubernetes meetup may 2018 by Jorge Arteiro
AKS - Azure Kubernetes Services  - kubernetes meetup may 2018AKS - Azure Kubernetes Services  - kubernetes meetup may 2018
AKS - Azure Kubernetes Services - kubernetes meetup may 2018
Jorge Arteiro671 views
Microsoft Azure News - 2018 December by Daniel Toomey
Microsoft Azure News - 2018 DecemberMicrosoft Azure News - 2018 December
Microsoft Azure News - 2018 December
Daniel Toomey133 views
Microsoft Azure News - 2019 May by Daniel Toomey
Microsoft Azure News - 2019 MayMicrosoft Azure News - 2019 May
Microsoft Azure News - 2019 May
Daniel Toomey171 views
Azure Nights Melbourne July 2017 Meetup by Michael Frank
Azure Nights Melbourne July 2017 MeetupAzure Nights Melbourne July 2017 Meetup
Azure Nights Melbourne July 2017 Meetup
Michael Frank237 views
Automating Your Azure Environment by Michael Collier
Automating Your Azure EnvironmentAutomating Your Azure Environment
Automating Your Azure Environment
Michael Collier9.9K views
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E... by Tom Kerkhove
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
Tom Kerkhove66 views
Sergiy Lunyakin "Cloud BI with Azure Analysis Services" by DataConf
Sergiy Lunyakin "Cloud BI with Azure Analysis Services"Sergiy Lunyakin "Cloud BI with Azure Analysis Services"
Sergiy Lunyakin "Cloud BI with Azure Analysis Services"
DataConf430 views

Recently uploaded

Info Session November 2023.pdf by
Info Session November 2023.pdfInfo Session November 2023.pdf
Info Session November 2023.pdfAleksandraKoprivica4
11 views15 slides
PRODUCT PRESENTATION.pptx by
PRODUCT PRESENTATION.pptxPRODUCT PRESENTATION.pptx
PRODUCT PRESENTATION.pptxangelicacueva6
13 views1 slide
Vertical User Stories by
Vertical User StoriesVertical User Stories
Vertical User StoriesMoisés Armani Ramírez
12 views16 slides
Ransomware is Knocking your Door_Final.pdf by
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
53 views46 slides
Five Things You SHOULD Know About Postman by
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About PostmanPostman
30 views43 slides
Special_edition_innovator_2023.pdf by
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdfWillDavies22
17 views6 slides

Recently uploaded(20)

Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman30 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2217 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson66 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software257 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb13 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma31 views
Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst476 views

Chef as a One-Stop Solution on Microsoft Azure

  • 2. Chef as a One-Stop Solution on Microsoft Azure Karsten Mueller, IT-Architect
  • 3. Some background • Company LichtBlick SE o LichtBlick is the leading provider of green electricity and green gas in Germany. Over one million people - the LichtBlicker - already rely on our forward-looking energy products. o 460 Employees, $780 million revenue in 2017 • LichtBlick IT Department (80 Employees) o „We strive to build the most automated and customer-focused platform for the energy business in Germany“ o Custom .NET Applications & Standard Software o Using Azure Cloud & On-Premises Datacenters
  • 4. My part in the game • „Most of what architects have done traditionally should be done by developers, or by tools, or not at all.“ • “An architect’s value is inversely proportional to the number of decisions he or she makes.” [ Erik Doernenburg & Martin Fowler, Craft Conf 2016 ]
  • 5. My part in the game • „Most of what architects have done traditionally should be done by developers, or by tools, or not at all.“ • “An architect’s value is inversely proportional to the number of decisions he or she makes.” [ Erik Doernenburg & Martin Fowler, Craft Conf 2016 ] • Roughly resulting in o Working in Teams to collaborate on Infrastructure Code o Providing some guidance
  • 6. System Libraries Packages Middleware Application Operating System Cloud Infrastructure Cookbooks Our Approach Delivering Applications Profiles
  • 7. Our Approach Delivering Applications • Custom Cookbooks (reusing Community Cookbooks) • Chef Server • Configuration data and Cookbooks • Custom InSpec Profiles • Chef Automate • Provides observability for all engineers • Azure DevOps as CI/CD Pipeline
  • 8. Cookbooks • Deployment of Custom .NET Applications • Windows OS Customization (AD join, Anti-Malware, …) • Windows OS Hardening • Azure Ressource Provisioning using azure_mgmt resources from Azure SDK for Ruby
  • 9. Compliance Checks • Compliance Checks • CIS profiles • Custom profiles • LichtBlick contributed to „dev-sec/windows-baseline“ • https://github.com/LichtBlick/windows-baseline • Observability
  • 10. Compliance Checks – windows-baseline control 'windows-001' do title 'Ensure 'Enforce password history' is set to '24 or more password(s)'' desc 'This policy setting determines the number of renewed, unique passwords that have to be associated with a user account before you can reuse an old password. impact 1.0 tag 'windows': ['2012R2', '2016', '2019'] tag 'profile': ['Domain Controller', 'Member Server'] tag 'CIS Microsoft Windows Server 2012 R2 Benchmark v2.3.0 - 03-30-2018': '1.1.1' tag 'CIS Microsoft Windows Server 2016 RTM (Release 1607) Benchmark v1.1.0 - 10-31-2018': '1.1.1' tag 'level': '1' tag 'bsi': ['SYS.1.2.2.M3', 'Sichere Administration'] ref 'IT-Grundschutz-Kompendium', url: 'https://www.bsi.bund.de/DE/Themen/ITGrundschutz/ITGrundschutzKompendium/itgrundschutzKompendium_node.html' ref 'Umsetzungshinweise zum Baustein SYS.1.2.2: Windows Server 2012', url: 'https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-Grundschutz- Modernisierung/UH_Windows_Server_2012.html' ref 'Center for Internet Security', url: 'https://www.cisecurity.org/' We added references to BSI* „IT-Grundschutz“ *BSI = German Federal Office for Information Security
  • 11. Provisioning - the good, the bad und the ugly
  • 12. Provisioning - the good, the bad und the uglyg
  • 13. Provisioning - the good, the bad und the ugly • Decision to provision Azure resources with Chef & Azure resource manager (ARM) • Used chef-provisioning-azurerm from Stuart Preston for a while • Developed custom Library Cookbook „azure-chef-deployment“ • based on gems „azure_mgmt_* Our „One Stop Solution“ • Separate Chef Roles are describing Azure resource provisioning and Application Deployment (in 2016) (in 2018) today
  • 14. Provisioning Azure Resources with Chef Code Cookbooks Build Lint & Test Release Chef Zero Azure DevOps Azure Resources Ressource Group Network Application Virtual Machine Azure Keyvault Azure Ressource Manager Azure Active Directory ARM Template Secrets Authentication Chef Server Provisioning Role & Cookbook Private Agent
  • 15. Provisioning Cookbook – Azure Resources Provisioning Role for Azure Resources Default Attributes default['tenant'] = 'a6238652-91a6-4d9a-90ga-3f16b12dc7c3' default['subscription'] = 'a2d596e5-2671-463g-96bd-ff487gdb6269' default['location'] = 'westeurope' default['resource_tags'] = {} default['arm_template_folder'] = Chef::Config[:file_cache_path] default['skip_validation'] = false Resources with specific attributes • Network • Network Security Group • Virtual Machine • Application Insights • Availability Set • Storage Account • User Assigned Identity • Key Vault • Service Bus • Azure Functions • Scale Set
  • 16. Provisioning Cookbook – Azure Network Resource default['network'] = { resource_group: 'rg-sharedenv-dev-net', default_template_parameters: {}, subnets: [] } Scheme default_template_parameters: { virtual_network_name: 'vnet-eu2-157_0_0-20', virtual_network_address_prefix: '10.157.0.0/20', dns_servers: ['10.144.2.4', '10.144.2.5'] } subnets: [ { name: 'subnet-eu2-157_0_0-24-gendev', address_prefix: '10.157.0.0/24', nsg_name: 'nsg-subnet-eu2-157_0_0-24-gendev' } ]
  • 17. Provisioning - Our Learnings so far • Using Chef Roles for Provisioning & Deployment is easy • Promoting changes over stages is still to be improved • Even a thin abstraction layer brings in dependencies • On ruby gems being the same version as in ChefDK • Interested in using our Provisioning Cookbook as OpenSource? • Just ping me: karsten.mueller@lichtblick.de, @karmueller
  • 18. Provisioning – Q&A • Your Questions? • What kind of Cloud resources do you have to provision? oIaaS (Virtual Machines, Networks, …), PaaS Services oKubernetes as a Service o… • What approach are you using? oManually using the Web UI oProgrammatically using Provider specific API oTerraform o…

Editor's Notes

  1. Raise hands Actually using Public Cloud Provider? Like movies? Every time you spot a movie reference shout out lou
  2. LichtBlick ~ „ray of hope“
  3. The Matrix Reloaded (2003) Maybe: Drunken Master (1994)?
  4. The Matrix Reloaded (2003) Maybe: Drunken Master (1994)?
  5. Sergio Leone: The Good, the Bad and the Ugly (1967)
  6. Sergio Leone: The Good, the Bad and the Ugly (1967)
  7. ... pretty good;)
  8. Your Questions?