SlideShare a Scribd company logo
Create a gallery image for
Azure Marketplace
Alexey Bokov
@abokov
Contents
• Seller dashboard
• Publish dashboard
• Create Virtual Machines for Marketplace
Getting started : there’s a marketplace
Inside current portal
Inside new portal
And one more : vmdepot.msopentech.com
Not really a
marketplace
But repo for “open
sourced” VMs
Publishing offer: how it works
1. Company registration as a seller with Microsoft
• Completed in the Microsoft Seller Dashboard
• Once you register your company, you can continue working in parallel while the verification of your registration is
completed by the Seller Dashboard team
2. Build and certify VM image
• This step and all subsequent steps are completed in the Azure Publishing Portal
3. Create offer, input marketing content, and define pricing in Publishing Portal
4. Test in staging and go-live
Seller portal : Used to register the company information once.
Publisher portal : Used to publish and manage the offer.
Microsoft Azure Marketplace Publication Guidelines : aka.ms/am-guideline
sellerdashboard.microsoft.com
Microsoft Seller Dashboard
• Used to register the company information once.
• The registrant must be a valid representative of the company, and must provide their
personal information as a way to validate their identity.
• The person registering must use a Microsoft Account that is shared for the company,
and the same account must be used in the Azure Publishing Portal.
<demo for sellerdashboard.microsoft.com >
publish.windowsazure.com
Azure Publishing Portal
• Used to publish and manage the offer.
• The same company Microsoft Account that was used in the Seller Dashboard
registration must be used here.
• Additional users can be added to assist once the master publisher account has been
created.
<demo for publish.windowsazure.com >
Create Virtual Machine for Marketplace
Terminology:
• SKU (StockKeeping Unit) means VM Image
• VM Image contain OS disk + some amount of data disks ( may be zero ) –
for each disk it own VHD is required ( even for empty data disk ).
• VHD means Virtual Hard Disk
• VHDx means another Hyper-V format, not supported by Azure. There’s
Convert-VHD tools for make conversion between formats.
Add offer
1. Log in to the Publishing Portal (publish.windowsazure.com)
using your seller account.
2. Enter the Virtual Machines tab of the Publishing Portal. In the
prompted entry field, enter your offer name, and create. Under
seller account, enter your namespace.
3. Add any other administrators you want to be able to work with
the publishing portal.
Add offer
Define SKU
1. Add a SKU. It will require an identifier, which will be used in the
URL. This will need to be unique within your Publishing Profile,
but there is no risk of identifier collision with other publishers.
2. Add a summary description for your SKU. This will be read by
humans in the UX, so it is advised to make it easily readable.
This information does not need to be locked until "Push to
Staging". Until then, you are free to edit it.
3. If you are using Windows-based SKUs, follow the suggested
links to acquire the approved versions of Windows Server.
Define SKU
Common thoughts
1. Your VM image (aka SKU) should works on all existing ( and future) VM sizes – from
A0 ( one shared CPU core, 0.75 GB RAM) up to G5 (32 CPU cores, 448 GB RAM ).
2. Data disks can be as large as 1 TB. Data disk VHDs should be created as a fixed
format VHD, but also be sparse.
3. When deciding on the disk size, please keep in mind that end users cannot resize
VHDs within an image.
4. Data disks can be empty or contain data
What’s next
1.Create Linux VHD
2.Create Windows VHD
3.Register VHD in publisher portal
4.Certify it
Create Linux VM
1. VHD
2. Azure Linux agent ( waagent ) and required libs/packages
3. Kernel and Logical Volume Manager (LVM)
4. Network and SSH daemon
5. Security tips
6. Generalize image
Note: if you use image from Gallery like ‘official Ubuntu’ – just to step 6 ( as soon as
image is already well prepared )
1. Create Linux VM : VHD
1. Linux OS VHD: The Linux OS VHD in your VM Image should be created as a 30GB —
50GB fixed format VHD.
2. No, It cannot be less than 30GB. If the physical size is less than VHD size, the VHD
should be sparse.
3. Linux VHDs larger than 50GB will be considered on a case by case basis.
Documentation : aka.ms/linux-vhd
2. Create Linux VM: waagent and libs
1. The Azure Linux agent (waagent) provides key functions for deploying Linux IaaS deployment in
Azure, such as image provisioning and networking capabilities.
2. You can get this agent from repos ( RPM or Deb packages ) : aka.ms/linux-distros
3. Source code: github.com/Azure/WALinuxAgent
1. Copy 'waagent' file to /usr/sbin
2. chmod 755 /usr/sbin/waagent; /usr/sbin/waagent install
3. Agent config is placed here: /etc/waagent.conf
4. Read manual
4. Check latest Linux Integration Services (LIS) driver is installed, current v4.0: aka.ms/lis-v4
5. Magical Kernel Patch for Azure I/O ( usually included in latests distros, take care about non-listed
kernels )
6. Python 2.6+ and pyasn1 ( Abstract Syntax Notation v1) package
7. OpenSLL v1.0+
Azure Linux Agent user guide: aka.ms/waagent-guide
3. Create Linux VM: Kernel and LVM
1. OS has to be placed on single root partition
2. SWAP space (if it needed ) can be created on the local resource disk with the Linux Agent
by enable swap in /etc/waagent.conf. It will automatically use the resource disk (which
comes with every VM) to create the swap. There's no need to create a disk for it. More
info : bokov.net/weblog/azure/configure-linux-in-azure
3. Serial console output must be always enabled even if you not allow any SSH to your VM (
and our support may provide you output from serial console )
4. Add good enough timeout for mounting cloud based storage device
5. Add this to kernel boot line “console=ttyS0 earlyprintk=ttyS0 rootdelay=300”
6. Do not :
• Do not use LVM Logical Volume Manager
• Do not use swap on OS or data disk
4. Create Linux VM: network and SSH
1. We recommend enable SSH for the end user, add keep live into sshd_config
by ClientAliveInterval settings - acceptable range of ClientAliveInterval is 30 to
235, recommended 180.
2. Networking configuration should use ifcfg-eth0 file and manage it via the
ifup/ifdown
3. Make sure that network device is brought up on boot and uses DHCP
4. Do not:
• Do not install Network Manager package - it conflicts with waagent.
• No custom network configuration and resolv.conf file ( please “rm /etc/resolv.conf” ).
• Do not configure IPv6 – it’s not supported yet.
5. Create Linux VM: Security
1. Do classics : install all security patches for your distribution ( sudo apt-get update;sudo
apt-get upgrade) / follow distribution security guidelines / clean up bash history
2. Please take care about root - the image should not contain a root password (!!!!!!) –
delete it and check /etc/shadow and /etc/passwd.
3. Add firewall i.e. include iptables, but do not enable any rules – default expectation from
customer is that they may easily enable it right after VM is started.
4. Do not:
• Store your Azure account credentials on VM image (!!!!!)
• Do not create default accounts, which remain the same, across provisioning instances
• A lot of other stupid things
6. Create Linux VM: Generalize Image
1. OS VHD must be deprovisioned: “waagent deprovision”. This command does:
• Removes the nameserver configuration in /etc/resolv.conf
• Removes cached DHCP client leases
• Resets host name to localhost.localdomain
2. We recommend setting /etc/waagent.conf to ensure the following actions are also
completed:
• Remove all SSH host keys: Provisioning.RegenerateSshHostKeyPair='y'
• Remore root password from /etc/shadow : Provisioning.DeleteRootPassword='y‘
Example of /etc/waagent.conf
# Azure Linux Agent Configuration
Role.StateConsumer=None
Role.ConfigurationConsumer=None
Role.TopologyConsumer=None
Provisioning.Enabled=y
Provisioning.DeleteRootPassword=n
Provisioning.RegenerateSshHostKeyPair=y
Provisioning.SshHostKeyPairType=rsa
Provisioning.MonitorHostName=y
ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt/resource
ResourceDisk.EnableSwap=n
ResourceDisk.SwapSizeMB=0
LBProbeResponder=y
Logs.Verbose=n
OS.RootDeviceScsiTimeout=300
OS.OpensslPath=None
Azure Linux Agent user guide:
aka.ms/waagent-guide
Cool things Linux
1. Custom data and cloud-init – way to inject a script or other metadata into a Microsoft
Azure virtual machine at provision time:
bokov.net/weblog/azure/configure-linux-in-azure/
2. Non-endorsed Linux distros : aka.ms/another-linux
Create Windows VM
1.Choose base image
2.Run image
3.Customize VM using RDP and PowerShell
4.Configure
5.Generalize image
1. Create Windows VM: choose base image
1. The OS VHD for your VM Image must be based on a Microsoft
Azure-approved base image, containing Windows Server or SQL
Server.
2. To begin, create a VM from one of the following images, located at
the Microsoft Azure Portal (portal.azure.com):
1. Windows Server 2012 R2 Datacenter, 2012 Datacenter, 2008 R2 SP1
2. SQL Server 2014 Enterprise/Standard/Web
3. SQL Server 2012 SP2 Enterprise/Standard/Web
4. SQL Server 2008 R2 SP2 Enterprise/Standard/Web
5. These links can also be found in the Publishing Portal under the SKU page.
3. Main idea is that you may use Windows Server Images published
on September 8, 2014 and later.
1. Create Windows VM: choose base image
Current list of approved images in publish.windowsazure.com
2. Create Windows VM: run image
1. Actually what you do is create VM under Azure portal, that’s all.
2. Hints:
• Choose US-* region for deployment, it would helps during certification
process because when you will submit your image for certification
team
• Do all thing in cloud, create/customize/configure VM on-premise under
Hyper-V technically correct and will work if you follow documentation,
but we don’t recommend it in most cases. Reality is that using on-
premise for this purpose makes whole process much longer and brings
very hard-to-find issues when VM is finally goes to cloud.
3. Create Windows VM: Customize VM using
RDP and PowerShell
1. RDP is recommended way to develop on your VM.
3. Create Windows VM: Customize VM using
RDP and PowerShell
1. You can use powershell to access your VM (download RDP
file to c:tools
>>Get-AzureAccount
>>Get-AzureVM
>>Get-AzureRemoteDesktopFile -ServiceName "abokov-
ws2012DC" -Name "abokov-ws2012DC" -LocalPath
"C:toolsabokov-ws2012DC.rdp" ServiceName
Name
4. Create Windows VM: configure
1. The Windows OS VHD in your VM Image should be created as a 128 GB fixed format VHD. If
the physical size is less than 128GB, the VHD should be sparse. Base images of
recommended Windows Server are already meet this, just don’t charge defaults.
2. Install patches, especially critical and security
3. No configuration should rely on drives other than C: or D:, since these are the only two
drives that are always guaranteed to exist. C: is the OS disk and D: is the temporary local
disk.
4. Don’t keep your Azure credentials inside images
4. Create Windows VM: generalize
1. Windows images should be sysprep’ed - run command line ( not PowerShell! ), change
directory to “c:windowssystem32sysprep”
2. “sysprep.exe /generalize /oobe /shutdown”
3. Remote Desktop Connection will be closed immediately
4. Wait for generalize and shutdown…
4. Create Windows VM: generalize
When it finished – go to management panel for VHD URL
Deploy a VM from your generalized VHDs
1. Generalized OS VHD from Azure storage account can be registered as a user
VM Image with which to test. You cannot directly deploy the VM by providing
generalized VHD URL.
2. You need to use the Create VM Image Rest API to register VHDs as a VM
Image.
3. There’s two options for that: Invoke-WebRequest or Save-AzureVMIMage
Option 1 – Invoke-WebRequest# Image Parameters to Specify
$ImageName='myVMImage'
$Label='IMAGE_LABEL‘
$Description='My VM Image to Test'
$osCaching='ReadWrite'
$os = 'Windows'
$state = 'Generalized'
$osMediaLink = 'http://mystorageaccount.blob.core.windows.net/vhds/myOSvhd.vhd'
$dataCaching='None'
$lun='1'
$dataMediaLink='http://mystorageaccount.blob.core.windows.net/vhds/mydatavhd.vhd'
# Subscription Related Properties
$SrvMngtEndPoint='https://management.core.windows.net'
$subscription = Get-AzureSubscription -Current -ExtendedDetails
$certificate = $subscription.Certificate
$SubId = $subscription.SubscriptionId
$body =
"" + "" + $ImageName + "" + "" + $Label + "" + "" + $Description + "" +
"" +
"" + $osCaching + "" +"" + $state + "" +"" + $os + "" +"" + $osMediaLink + "" +
"" "" +
"" +"" + $dataCaching + "" + "" + $lun + "" +"" + $dataMediaLink + "" +
"" + "" + ""
$uri = $SrvMngtEndPoint + "/" + $SubId + "/" + "services/vmimages"
$headers = @{"x-ms-version" = "2014-06-01"}
$response = Invoke-WebRequest -Uri $uri -ContentType "application/xml" -Body $body -Certificate $certificate -Headers $headers -Method POST
if ($response.StatusCode -ge 200 -and $response.StatusCode -lt 300)
{ echo "Accepted" }
else { echo "Not Accepted" }
Option 2 - Save-AzureVMImage
Save-AzureVMImage –ServiceName “myServiceName” –Name “myVMtoCapture” –OSState
“Generalized” –ImageName “myAwesomeVMImage” –ImageLabel “This is my Virtual Machine Image” -Verbose
Now it’s there
Generate SAS URI
1. The SAS URI created should adhere to the following requirements
• When generating SAS URIs for your VHDs, List and Read-Only permissions are sufficient. Do not provide
Write or Delete access.
• The duration for access should be a minimum of 7 business days from when the SAS URI is created.
• To avoid immediate errors due to clock skews, specify a time 15 minutes before the current time.
2. You can use AzureStorageExplorer tool : AzureStorageExplorer.codeplex.com
AzureStorageExplorer (add Storage account)
AzureStorageExplorer: generate SAS URI
AzureStorageExplorer: save SAS URI to publisher
portal
Certification process
This process includes running a special certification tool, uploading the
verification results to the Azure container where your VHDs reside,
adding an offer, defining your SKU, and submitting your VM Image for
certification.
1. Download Certification tool
2. Connect to your image
1. Linux : choose SSH authentication ( DNS + username/password)
2. Windows : use FQDN ( Fully Qualified Domain Name +
username/password )
3. Run tool
4. Send results to Microsoft (contact
Certification process
Certification process – tests execution
Certification process – true anywhere
Certification process – true anywhere
Certification process – report
Certification process – report
Certification process – final step
More details: aka.ms/azure-cert
Summary
• There’s some formalities with registration
• Create VM based on VM images from Azure gallery is quite
easy
• Certification process took some time
• Nevertheless it might took time to make publishing,
keeping in touch with folks from Microsoft helps a LOT

More Related Content

What's hot

WindowsAzureIAAS
WindowsAzureIAASWindowsAzureIAAS
WindowsAzureIAASSaravanan G
 
The Unofficial VCAP / VCP VMware Study Guide
The Unofficial VCAP / VCP VMware Study GuideThe Unofficial VCAP / VCP VMware Study Guide
The Unofficial VCAP / VCP VMware Study Guide
Veeam Software
 
virtualization in cloud technology
virtualization in cloud technologyvirtualization in cloud technology
virtualization in cloud technology
Pavani Prathyusha
 
Hyper-V: Best Practices
Hyper-V: Best PracticesHyper-V: Best Practices
Hyper-V: Best Practices
Tomica Kaniski
 
And the new System Center is here... what's actually new?
And the new System Center is here... what's actually new?And the new System Center is here... what's actually new?
And the new System Center is here... what's actually new?
Tomica Kaniski
 
Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!
SolarWinds
 
VMware Advance Troubleshooting Workshop - Day 6
VMware Advance Troubleshooting Workshop - Day 6VMware Advance Troubleshooting Workshop - Day 6
VMware Advance Troubleshooting Workshop - Day 6
Vepsun Technologies
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
Arun Gupta
 
The three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows AzureThe three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows AzureMongoDB
 
Upgrading to VMware vSphere 6.0
Upgrading to VMware vSphere 6.0Upgrading to VMware vSphere 6.0
Upgrading to VMware vSphere 6.0
Tim Carman
 
Accelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingAccelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using Caching
ColdFusionConference
 
Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1
Mmik Huang
 
VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4
Vepsun Technologies
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
WASdev Community
 
VMware Advance Troubleshooting Workshop - Day 5
VMware Advance Troubleshooting Workshop - Day 5VMware Advance Troubleshooting Workshop - Day 5
VMware Advance Troubleshooting Workshop - Day 5
Vepsun Technologies
 
Virtualization technology "comparison vmware 9 vs virtualbox 4.2"
Virtualization  technology "comparison vmware 9 vs virtualbox 4.2"Virtualization  technology "comparison vmware 9 vs virtualbox 4.2"
Virtualization technology "comparison vmware 9 vs virtualbox 4.2"
Lagendary Sheeva
 
Backup virtual machines with XenServer 5.x
Backup virtual machines with XenServer 5.xBackup virtual machines with XenServer 5.x
Backup virtual machines with XenServer 5.x
Thomas Krampe
 

What's hot (19)

WindowsAzureIAAS
WindowsAzureIAASWindowsAzureIAAS
WindowsAzureIAAS
 
10215 A 03
10215 A 0310215 A 03
10215 A 03
 
The Unofficial VCAP / VCP VMware Study Guide
The Unofficial VCAP / VCP VMware Study GuideThe Unofficial VCAP / VCP VMware Study Guide
The Unofficial VCAP / VCP VMware Study Guide
 
vSphere
vSpherevSphere
vSphere
 
virtualization in cloud technology
virtualization in cloud technologyvirtualization in cloud technology
virtualization in cloud technology
 
Hyper-V: Best Practices
Hyper-V: Best PracticesHyper-V: Best Practices
Hyper-V: Best Practices
 
And the new System Center is here... what's actually new?
And the new System Center is here... what's actually new?And the new System Center is here... what's actually new?
And the new System Center is here... what's actually new?
 
Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!
 
VMware Advance Troubleshooting Workshop - Day 6
VMware Advance Troubleshooting Workshop - Day 6VMware Advance Troubleshooting Workshop - Day 6
VMware Advance Troubleshooting Workshop - Day 6
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
 
The three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows AzureThe three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows Azure
 
Upgrading to VMware vSphere 6.0
Upgrading to VMware vSphere 6.0Upgrading to VMware vSphere 6.0
Upgrading to VMware vSphere 6.0
 
Accelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingAccelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using Caching
 
Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1
 
VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
 
VMware Advance Troubleshooting Workshop - Day 5
VMware Advance Troubleshooting Workshop - Day 5VMware Advance Troubleshooting Workshop - Day 5
VMware Advance Troubleshooting Workshop - Day 5
 
Virtualization technology "comparison vmware 9 vs virtualbox 4.2"
Virtualization  technology "comparison vmware 9 vs virtualbox 4.2"Virtualization  technology "comparison vmware 9 vs virtualbox 4.2"
Virtualization technology "comparison vmware 9 vs virtualbox 4.2"
 
Backup virtual machines with XenServer 5.x
Backup virtual machines with XenServer 5.xBackup virtual machines with XenServer 5.x
Backup virtual machines with XenServer 5.x
 

Viewers also liked

The Other Side of Linked Open Data: Managing Metadata Aggregation
The Other Side of Linked Open Data: Managing Metadata AggregationThe Other Side of Linked Open Data: Managing Metadata Aggregation
The Other Side of Linked Open Data: Managing Metadata Aggregation
Diane Hillmann
 
File maker for yap
File maker for yapFile maker for yap
File maker for yap
ericwilliammarshall
 
"運用"におけるイノベーションを考える
"運用"におけるイノベーションを考える"運用"におけるイノベーションを考える
"運用"におけるイノベーションを考える
Taiji Tsuchiya
 
Realistic Networking in generic multi-site Cloud Deployments
Realistic Networking in generic multi-site Cloud DeploymentsRealistic Networking in generic multi-site Cloud Deployments
Realistic Networking in generic multi-site Cloud Deployments
EUBrasilCloudFORUM .
 
Monitoring of distributed app hosted in Azure App Service
Monitoring of distributed app hosted in Azure App ServiceMonitoring of distributed app hosted in Azure App Service
Monitoring of distributed app hosted in Azure App Service
Alexander Laysha
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
AFAS Software
 
祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要
Takekazu Omi
 
MRAI, BGP Widthdrawn and Packet Loss
MRAI, BGP Widthdrawn and Packet LossMRAI, BGP Widthdrawn and Packet Loss
MRAI, BGP Widthdrawn and Packet Loss
Shintaro Kojima
 
Reltio: Powering Enterprise Data-driven Applications with Cassandra
Reltio: Powering Enterprise Data-driven Applications with CassandraReltio: Powering Enterprise Data-driven Applications with Cassandra
Reltio: Powering Enterprise Data-driven Applications with Cassandra
DataStax Academy
 
Introduction to NetOpsCoding#3
Introduction to NetOpsCoding#3Introduction to NetOpsCoding#3
Introduction to NetOpsCoding#3
Taiji Tsuchiya
 
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
AnalyticsConf
 
20150926 uwpストア攻略
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略
Makoto Nishimura
 
H2O World - Intro to R, Python, and Flow - Amy Wang
H2O World - Intro to R, Python, and Flow - Amy WangH2O World - Intro to R, Python, and Flow - Amy Wang
H2O World - Intro to R, Python, and Flow - Amy Wang
Sri Ambati
 
Continuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyreContinuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyre
Spark Summit
 
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
Masahiro Nakashima
 
Multi Model Machine Learning by Maximo Gurmendez and Beth Logan
Multi Model Machine Learning by Maximo Gurmendez and Beth LoganMulti Model Machine Learning by Maximo Gurmendez and Beth Logan
Multi Model Machine Learning by Maximo Gurmendez and Beth Logan
Spark Summit
 
さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島)
さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島)さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島)
さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島)
さくらインターネット株式会社
 
Reactive Streams, linking Reactive Application to Spark Streaming by Luc Bour...
Reactive Streams, linking Reactive Application to Spark Streaming by Luc Bour...Reactive Streams, linking Reactive Application to Spark Streaming by Luc Bour...
Reactive Streams, linking Reactive Application to Spark Streaming by Luc Bour...
Spark Summit
 
Mastering Customer Data on Apache Spark
Mastering Customer Data on Apache SparkMastering Customer Data on Apache Spark
Mastering Customer Data on Apache Spark
Caserta
 
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
Naoko Takano
 

Viewers also liked (20)

The Other Side of Linked Open Data: Managing Metadata Aggregation
The Other Side of Linked Open Data: Managing Metadata AggregationThe Other Side of Linked Open Data: Managing Metadata Aggregation
The Other Side of Linked Open Data: Managing Metadata Aggregation
 
File maker for yap
File maker for yapFile maker for yap
File maker for yap
 
"運用"におけるイノベーションを考える
"運用"におけるイノベーションを考える"運用"におけるイノベーションを考える
"運用"におけるイノベーションを考える
 
Realistic Networking in generic multi-site Cloud Deployments
Realistic Networking in generic multi-site Cloud DeploymentsRealistic Networking in generic multi-site Cloud Deployments
Realistic Networking in generic multi-site Cloud Deployments
 
Monitoring of distributed app hosted in Azure App Service
Monitoring of distributed app hosted in Azure App ServiceMonitoring of distributed app hosted in Azure App Service
Monitoring of distributed app hosted in Azure App Service
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
 
祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要
 
MRAI, BGP Widthdrawn and Packet Loss
MRAI, BGP Widthdrawn and Packet LossMRAI, BGP Widthdrawn and Packet Loss
MRAI, BGP Widthdrawn and Packet Loss
 
Reltio: Powering Enterprise Data-driven Applications with Cassandra
Reltio: Powering Enterprise Data-driven Applications with CassandraReltio: Powering Enterprise Data-driven Applications with Cassandra
Reltio: Powering Enterprise Data-driven Applications with Cassandra
 
Introduction to NetOpsCoding#3
Introduction to NetOpsCoding#3Introduction to NetOpsCoding#3
Introduction to NetOpsCoding#3
 
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
 
20150926 uwpストア攻略
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略
 
H2O World - Intro to R, Python, and Flow - Amy Wang
H2O World - Intro to R, Python, and Flow - Amy WangH2O World - Intro to R, Python, and Flow - Amy Wang
H2O World - Intro to R, Python, and Flow - Amy Wang
 
Continuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyreContinuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyre
 
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
 
Multi Model Machine Learning by Maximo Gurmendez and Beth Logan
Multi Model Machine Learning by Maximo Gurmendez and Beth LoganMulti Model Machine Learning by Maximo Gurmendez and Beth Logan
Multi Model Machine Learning by Maximo Gurmendez and Beth Logan
 
さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島)
さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島)さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島)
さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島)
 
Reactive Streams, linking Reactive Application to Spark Streaming by Luc Bour...
Reactive Streams, linking Reactive Application to Spark Streaming by Luc Bour...Reactive Streams, linking Reactive Application to Spark Streaming by Luc Bour...
Reactive Streams, linking Reactive Application to Spark Streaming by Luc Bour...
 
Mastering Customer Data on Apache Spark
Mastering Customer Data on Apache SparkMastering Customer Data on Apache Spark
Mastering Customer Data on Apache Spark
 
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
 

Similar to Creating a gallery image for Azure marketplace

Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage ServiceQuick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Cloudian
 
Akmal Khaleeq Waheed - Challenge 3
Akmal Khaleeq Waheed - Challenge 3Akmal Khaleeq Waheed - Challenge 3
Akmal Khaleeq Waheed - Challenge 3
tovmug
 
Log Analytics by VMware Log Insight
Log Analytics by VMware Log InsightLog Analytics by VMware Log Insight
Log Analytics by VMware Log Insight
Kiss Tibor
 
OpenShift Virtualization - VM and OS Image Lifecycle
OpenShift Virtualization - VM and OS Image LifecycleOpenShift Virtualization - VM and OS Image Lifecycle
OpenShift Virtualization - VM and OS Image Lifecycle
Mihai Criveti
 
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
Mihai Criveti
 
Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7
a_ratra
 
WS-013T00A__M02.pptx
WS-013T00A__M02.pptxWS-013T00A__M02.pptx
WS-013T00A__M02.pptx
Arun536977
 
Setting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntuSetting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntu
kesavan N B
 
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and WindowsOpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
Alessandro Pilotti
 
Ibm smart cloud entry+ for system x user guide
Ibm smart cloud entry+ for system x user guideIbm smart cloud entry+ for system x user guide
Ibm smart cloud entry+ for system x user guide
IBM India Smarter Computing
 
Sdwest2008 V101 F Dpowerpoint Final
Sdwest2008 V101 F Dpowerpoint FinalSdwest2008 V101 F Dpowerpoint Final
Sdwest2008 V101 F Dpowerpoint FinalStephen Rose
 
IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation
khawkwf
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
WASdev Community
 
Okd wg kubecon marathon azure &amp; vsphere
Okd wg kubecon marathon azure &amp; vsphereOkd wg kubecon marathon azure &amp; vsphere
Okd wg kubecon marathon azure &amp; vsphere
Walid Shaari
 
Counterparty
CounterpartyCounterparty
Counterparty
Abdurahman Mohammed
 
Netxms install guide
Netxms install guideNetxms install guide
Netxms install guideNaga Raju N
 
Kubernetes Story - Day 1: Build and Manage Containers with Podman
Kubernetes Story - Day 1: Build and Manage Containers with PodmanKubernetes Story - Day 1: Build and Manage Containers with Podman
Kubernetes Story - Day 1: Build and Manage Containers with Podman
Mihai Criveti
 
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...
Mihai Criveti
 
Lessons On Hyper V
Lessons On Hyper VLessons On Hyper V
Lessons On Hyper V
Aidan Finn
 
Google Cloud Platform for DeVops, by Javier Ramirez @ teowaki
Google Cloud Platform for DeVops, by Javier Ramirez @ teowakiGoogle Cloud Platform for DeVops, by Javier Ramirez @ teowaki
Google Cloud Platform for DeVops, by Javier Ramirez @ teowaki
javier ramirez
 

Similar to Creating a gallery image for Azure marketplace (20)

Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage ServiceQuick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
 
Akmal Khaleeq Waheed - Challenge 3
Akmal Khaleeq Waheed - Challenge 3Akmal Khaleeq Waheed - Challenge 3
Akmal Khaleeq Waheed - Challenge 3
 
Log Analytics by VMware Log Insight
Log Analytics by VMware Log InsightLog Analytics by VMware Log Insight
Log Analytics by VMware Log Insight
 
OpenShift Virtualization - VM and OS Image Lifecycle
OpenShift Virtualization - VM and OS Image LifecycleOpenShift Virtualization - VM and OS Image Lifecycle
OpenShift Virtualization - VM and OS Image Lifecycle
 
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
 
Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7
 
WS-013T00A__M02.pptx
WS-013T00A__M02.pptxWS-013T00A__M02.pptx
WS-013T00A__M02.pptx
 
Setting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntuSetting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntu
 
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and WindowsOpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
 
Ibm smart cloud entry+ for system x user guide
Ibm smart cloud entry+ for system x user guideIbm smart cloud entry+ for system x user guide
Ibm smart cloud entry+ for system x user guide
 
Sdwest2008 V101 F Dpowerpoint Final
Sdwest2008 V101 F Dpowerpoint FinalSdwest2008 V101 F Dpowerpoint Final
Sdwest2008 V101 F Dpowerpoint Final
 
IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
 
Okd wg kubecon marathon azure &amp; vsphere
Okd wg kubecon marathon azure &amp; vsphereOkd wg kubecon marathon azure &amp; vsphere
Okd wg kubecon marathon azure &amp; vsphere
 
Counterparty
CounterpartyCounterparty
Counterparty
 
Netxms install guide
Netxms install guideNetxms install guide
Netxms install guide
 
Kubernetes Story - Day 1: Build and Manage Containers with Podman
Kubernetes Story - Day 1: Build and Manage Containers with PodmanKubernetes Story - Day 1: Build and Manage Containers with Podman
Kubernetes Story - Day 1: Build and Manage Containers with Podman
 
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...
 
Lessons On Hyper V
Lessons On Hyper VLessons On Hyper V
Lessons On Hyper V
 
Google Cloud Platform for DeVops, by Javier Ramirez @ teowaki
Google Cloud Platform for DeVops, by Javier Ramirez @ teowakiGoogle Cloud Platform for DeVops, by Javier Ramirez @ teowaki
Google Cloud Platform for DeVops, by Javier Ramirez @ teowaki
 

More from Alexey Bokov

Product Visions and Strategy - crash course for startups
Product Visions and Strategy - crash course for startupsProduct Visions and Strategy - crash course for startups
Product Visions and Strategy - crash course for startups
Alexey Bokov
 
Windows containers troubleshooting
Windows containers troubleshootingWindows containers troubleshooting
Windows containers troubleshooting
Alexey Bokov
 
Monte Carlo modeling in cloud - mc-modeling-sdk
Monte Carlo modeling in cloud - mc-modeling-sdkMonte Carlo modeling in cloud - mc-modeling-sdk
Monte Carlo modeling in cloud - mc-modeling-sdk
Alexey Bokov
 
CAP теорема Брюера и ее применения на практике
CAP теорема Брюера и ее применения на практикеCAP теорема Брюера и ее применения на практике
CAP теорема Брюера и ее применения на практике
Alexey Bokov
 
Azure web apps - designing and debugging
Azure web apps  - designing and debuggingAzure web apps  - designing and debugging
Azure web apps - designing and debugging
Alexey Bokov
 
Azure Web App services
Azure Web App servicesAzure Web App services
Azure Web App services
Alexey Bokov
 
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Alexey Bokov
 
All about Azure - Kazan
All about Azure - KazanAll about Azure - Kazan
All about Azure - KazanAlexey Bokov
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
Alexey Bokov
 
Internet of Things in Tbilisi
Internet of Things in TbilisiInternet of Things in Tbilisi
Internet of Things in Tbilisi
Alexey Bokov
 
Azure and web sites hackaton deck
Azure and web sites hackaton deckAzure and web sites hackaton deck
Azure and web sites hackaton deck
Alexey Bokov
 
Asp.net 5 cloud
Asp.net 5 cloudAsp.net 5 cloud
Asp.net 5 cloud
Alexey Bokov
 
Tbilisi hackaton intro
Tbilisi hackaton introTbilisi hackaton intro
Tbilisi hackaton intro
Alexey Bokov
 
Azure for retails
Azure for retailsAzure for retails
Azure for retails
Alexey Bokov
 
Azure for IT pro - TechDays Armenia
Azure for IT pro - TechDays ArmeniaAzure for IT pro - TechDays Armenia
Azure for IT pro - TechDays Armenia
Alexey Bokov
 
Tech day armenia for developers
Tech day armenia   for developersTech day armenia   for developers
Tech day armenia for developers
Alexey Bokov
 
Alexey Bokov key note - TechDays Armenia 2014
Alexey Bokov key note - TechDays Armenia 2014Alexey Bokov key note - TechDays Armenia 2014
Alexey Bokov key note - TechDays Armenia 2014
Alexey Bokov
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
Alexey Bokov
 
Windows Azure для стартапов
Windows Azure для стартаповWindows Azure для стартапов
Windows Azure для стартапов
Alexey Bokov
 
Train for trainers event in Warsaw / Intro
Train for trainers event in Warsaw / IntroTrain for trainers event in Warsaw / Intro
Train for trainers event in Warsaw / IntroAlexey Bokov
 

More from Alexey Bokov (20)

Product Visions and Strategy - crash course for startups
Product Visions and Strategy - crash course for startupsProduct Visions and Strategy - crash course for startups
Product Visions and Strategy - crash course for startups
 
Windows containers troubleshooting
Windows containers troubleshootingWindows containers troubleshooting
Windows containers troubleshooting
 
Monte Carlo modeling in cloud - mc-modeling-sdk
Monte Carlo modeling in cloud - mc-modeling-sdkMonte Carlo modeling in cloud - mc-modeling-sdk
Monte Carlo modeling in cloud - mc-modeling-sdk
 
CAP теорема Брюера и ее применения на практике
CAP теорема Брюера и ее применения на практикеCAP теорема Брюера и ее применения на практике
CAP теорема Брюера и ее применения на практике
 
Azure web apps - designing and debugging
Azure web apps  - designing and debuggingAzure web apps  - designing and debugging
Azure web apps - designing and debugging
 
Azure Web App services
Azure Web App servicesAzure Web App services
Azure Web App services
 
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
 
All about Azure - Kazan
All about Azure - KazanAll about Azure - Kazan
All about Azure - Kazan
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Internet of Things in Tbilisi
Internet of Things in TbilisiInternet of Things in Tbilisi
Internet of Things in Tbilisi
 
Azure and web sites hackaton deck
Azure and web sites hackaton deckAzure and web sites hackaton deck
Azure and web sites hackaton deck
 
Asp.net 5 cloud
Asp.net 5 cloudAsp.net 5 cloud
Asp.net 5 cloud
 
Tbilisi hackaton intro
Tbilisi hackaton introTbilisi hackaton intro
Tbilisi hackaton intro
 
Azure for retails
Azure for retailsAzure for retails
Azure for retails
 
Azure for IT pro - TechDays Armenia
Azure for IT pro - TechDays ArmeniaAzure for IT pro - TechDays Armenia
Azure for IT pro - TechDays Armenia
 
Tech day armenia for developers
Tech day armenia   for developersTech day armenia   for developers
Tech day armenia for developers
 
Alexey Bokov key note - TechDays Armenia 2014
Alexey Bokov key note - TechDays Armenia 2014Alexey Bokov key note - TechDays Armenia 2014
Alexey Bokov key note - TechDays Armenia 2014
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
 
Windows Azure для стартапов
Windows Azure для стартаповWindows Azure для стартапов
Windows Azure для стартапов
 
Train for trainers event in Warsaw / Intro
Train for trainers event in Warsaw / IntroTrain for trainers event in Warsaw / Intro
Train for trainers event in Warsaw / Intro
 

Recently uploaded

BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
zwunae
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
Self-Control of Emotions by Slidesgo.pptx
Self-Control of Emotions by Slidesgo.pptxSelf-Control of Emotions by Slidesgo.pptx
Self-Control of Emotions by Slidesgo.pptx
iemerc2024
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
Kamal Acharya
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
ssuser36d3051
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
obonagu
 
Fundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptxFundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptx
manasideore6
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
Divyam548318
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
anoopmanoharan2
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
ssuser7dcef0
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.pptPROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
bhadouriyakaku
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
yokeleetan1
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 

Recently uploaded (20)

BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
Self-Control of Emotions by Slidesgo.pptx
Self-Control of Emotions by Slidesgo.pptxSelf-Control of Emotions by Slidesgo.pptx
Self-Control of Emotions by Slidesgo.pptx
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
 
Fundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptxFundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptx
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.pptPROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 

Creating a gallery image for Azure marketplace

  • 1. Create a gallery image for Azure Marketplace Alexey Bokov @abokov
  • 2. Contents • Seller dashboard • Publish dashboard • Create Virtual Machines for Marketplace
  • 3. Getting started : there’s a marketplace
  • 6. And one more : vmdepot.msopentech.com Not really a marketplace But repo for “open sourced” VMs
  • 7. Publishing offer: how it works 1. Company registration as a seller with Microsoft • Completed in the Microsoft Seller Dashboard • Once you register your company, you can continue working in parallel while the verification of your registration is completed by the Seller Dashboard team 2. Build and certify VM image • This step and all subsequent steps are completed in the Azure Publishing Portal 3. Create offer, input marketing content, and define pricing in Publishing Portal 4. Test in staging and go-live Seller portal : Used to register the company information once. Publisher portal : Used to publish and manage the offer. Microsoft Azure Marketplace Publication Guidelines : aka.ms/am-guideline
  • 8. sellerdashboard.microsoft.com Microsoft Seller Dashboard • Used to register the company information once. • The registrant must be a valid representative of the company, and must provide their personal information as a way to validate their identity. • The person registering must use a Microsoft Account that is shared for the company, and the same account must be used in the Azure Publishing Portal.
  • 10. publish.windowsazure.com Azure Publishing Portal • Used to publish and manage the offer. • The same company Microsoft Account that was used in the Seller Dashboard registration must be used here. • Additional users can be added to assist once the master publisher account has been created.
  • 12. Create Virtual Machine for Marketplace Terminology: • SKU (StockKeeping Unit) means VM Image • VM Image contain OS disk + some amount of data disks ( may be zero ) – for each disk it own VHD is required ( even for empty data disk ). • VHD means Virtual Hard Disk • VHDx means another Hyper-V format, not supported by Azure. There’s Convert-VHD tools for make conversion between formats.
  • 13. Add offer 1. Log in to the Publishing Portal (publish.windowsazure.com) using your seller account. 2. Enter the Virtual Machines tab of the Publishing Portal. In the prompted entry field, enter your offer name, and create. Under seller account, enter your namespace. 3. Add any other administrators you want to be able to work with the publishing portal.
  • 15. Define SKU 1. Add a SKU. It will require an identifier, which will be used in the URL. This will need to be unique within your Publishing Profile, but there is no risk of identifier collision with other publishers. 2. Add a summary description for your SKU. This will be read by humans in the UX, so it is advised to make it easily readable. This information does not need to be locked until "Push to Staging". Until then, you are free to edit it. 3. If you are using Windows-based SKUs, follow the suggested links to acquire the approved versions of Windows Server.
  • 17. Common thoughts 1. Your VM image (aka SKU) should works on all existing ( and future) VM sizes – from A0 ( one shared CPU core, 0.75 GB RAM) up to G5 (32 CPU cores, 448 GB RAM ). 2. Data disks can be as large as 1 TB. Data disk VHDs should be created as a fixed format VHD, but also be sparse. 3. When deciding on the disk size, please keep in mind that end users cannot resize VHDs within an image. 4. Data disks can be empty or contain data
  • 18. What’s next 1.Create Linux VHD 2.Create Windows VHD 3.Register VHD in publisher portal 4.Certify it
  • 19. Create Linux VM 1. VHD 2. Azure Linux agent ( waagent ) and required libs/packages 3. Kernel and Logical Volume Manager (LVM) 4. Network and SSH daemon 5. Security tips 6. Generalize image Note: if you use image from Gallery like ‘official Ubuntu’ – just to step 6 ( as soon as image is already well prepared )
  • 20. 1. Create Linux VM : VHD 1. Linux OS VHD: The Linux OS VHD in your VM Image should be created as a 30GB — 50GB fixed format VHD. 2. No, It cannot be less than 30GB. If the physical size is less than VHD size, the VHD should be sparse. 3. Linux VHDs larger than 50GB will be considered on a case by case basis. Documentation : aka.ms/linux-vhd
  • 21. 2. Create Linux VM: waagent and libs 1. The Azure Linux agent (waagent) provides key functions for deploying Linux IaaS deployment in Azure, such as image provisioning and networking capabilities. 2. You can get this agent from repos ( RPM or Deb packages ) : aka.ms/linux-distros 3. Source code: github.com/Azure/WALinuxAgent 1. Copy 'waagent' file to /usr/sbin 2. chmod 755 /usr/sbin/waagent; /usr/sbin/waagent install 3. Agent config is placed here: /etc/waagent.conf 4. Read manual 4. Check latest Linux Integration Services (LIS) driver is installed, current v4.0: aka.ms/lis-v4 5. Magical Kernel Patch for Azure I/O ( usually included in latests distros, take care about non-listed kernels ) 6. Python 2.6+ and pyasn1 ( Abstract Syntax Notation v1) package 7. OpenSLL v1.0+ Azure Linux Agent user guide: aka.ms/waagent-guide
  • 22. 3. Create Linux VM: Kernel and LVM 1. OS has to be placed on single root partition 2. SWAP space (if it needed ) can be created on the local resource disk with the Linux Agent by enable swap in /etc/waagent.conf. It will automatically use the resource disk (which comes with every VM) to create the swap. There's no need to create a disk for it. More info : bokov.net/weblog/azure/configure-linux-in-azure 3. Serial console output must be always enabled even if you not allow any SSH to your VM ( and our support may provide you output from serial console ) 4. Add good enough timeout for mounting cloud based storage device 5. Add this to kernel boot line “console=ttyS0 earlyprintk=ttyS0 rootdelay=300” 6. Do not : • Do not use LVM Logical Volume Manager • Do not use swap on OS or data disk
  • 23. 4. Create Linux VM: network and SSH 1. We recommend enable SSH for the end user, add keep live into sshd_config by ClientAliveInterval settings - acceptable range of ClientAliveInterval is 30 to 235, recommended 180. 2. Networking configuration should use ifcfg-eth0 file and manage it via the ifup/ifdown 3. Make sure that network device is brought up on boot and uses DHCP 4. Do not: • Do not install Network Manager package - it conflicts with waagent. • No custom network configuration and resolv.conf file ( please “rm /etc/resolv.conf” ). • Do not configure IPv6 – it’s not supported yet.
  • 24. 5. Create Linux VM: Security 1. Do classics : install all security patches for your distribution ( sudo apt-get update;sudo apt-get upgrade) / follow distribution security guidelines / clean up bash history 2. Please take care about root - the image should not contain a root password (!!!!!!) – delete it and check /etc/shadow and /etc/passwd. 3. Add firewall i.e. include iptables, but do not enable any rules – default expectation from customer is that they may easily enable it right after VM is started. 4. Do not: • Store your Azure account credentials on VM image (!!!!!) • Do not create default accounts, which remain the same, across provisioning instances • A lot of other stupid things
  • 25. 6. Create Linux VM: Generalize Image 1. OS VHD must be deprovisioned: “waagent deprovision”. This command does: • Removes the nameserver configuration in /etc/resolv.conf • Removes cached DHCP client leases • Resets host name to localhost.localdomain 2. We recommend setting /etc/waagent.conf to ensure the following actions are also completed: • Remove all SSH host keys: Provisioning.RegenerateSshHostKeyPair='y' • Remore root password from /etc/shadow : Provisioning.DeleteRootPassword='y‘
  • 26. Example of /etc/waagent.conf # Azure Linux Agent Configuration Role.StateConsumer=None Role.ConfigurationConsumer=None Role.TopologyConsumer=None Provisioning.Enabled=y Provisioning.DeleteRootPassword=n Provisioning.RegenerateSshHostKeyPair=y Provisioning.SshHostKeyPairType=rsa Provisioning.MonitorHostName=y ResourceDisk.Format=y ResourceDisk.Filesystem=ext4 ResourceDisk.MountPoint=/mnt/resource ResourceDisk.EnableSwap=n ResourceDisk.SwapSizeMB=0 LBProbeResponder=y Logs.Verbose=n OS.RootDeviceScsiTimeout=300 OS.OpensslPath=None Azure Linux Agent user guide: aka.ms/waagent-guide
  • 27. Cool things Linux 1. Custom data and cloud-init – way to inject a script or other metadata into a Microsoft Azure virtual machine at provision time: bokov.net/weblog/azure/configure-linux-in-azure/ 2. Non-endorsed Linux distros : aka.ms/another-linux
  • 28. Create Windows VM 1.Choose base image 2.Run image 3.Customize VM using RDP and PowerShell 4.Configure 5.Generalize image
  • 29. 1. Create Windows VM: choose base image 1. The OS VHD for your VM Image must be based on a Microsoft Azure-approved base image, containing Windows Server or SQL Server. 2. To begin, create a VM from one of the following images, located at the Microsoft Azure Portal (portal.azure.com): 1. Windows Server 2012 R2 Datacenter, 2012 Datacenter, 2008 R2 SP1 2. SQL Server 2014 Enterprise/Standard/Web 3. SQL Server 2012 SP2 Enterprise/Standard/Web 4. SQL Server 2008 R2 SP2 Enterprise/Standard/Web 5. These links can also be found in the Publishing Portal under the SKU page. 3. Main idea is that you may use Windows Server Images published on September 8, 2014 and later.
  • 30. 1. Create Windows VM: choose base image Current list of approved images in publish.windowsazure.com
  • 31. 2. Create Windows VM: run image 1. Actually what you do is create VM under Azure portal, that’s all. 2. Hints: • Choose US-* region for deployment, it would helps during certification process because when you will submit your image for certification team • Do all thing in cloud, create/customize/configure VM on-premise under Hyper-V technically correct and will work if you follow documentation, but we don’t recommend it in most cases. Reality is that using on- premise for this purpose makes whole process much longer and brings very hard-to-find issues when VM is finally goes to cloud.
  • 32. 3. Create Windows VM: Customize VM using RDP and PowerShell 1. RDP is recommended way to develop on your VM.
  • 33. 3. Create Windows VM: Customize VM using RDP and PowerShell 1. You can use powershell to access your VM (download RDP file to c:tools >>Get-AzureAccount >>Get-AzureVM >>Get-AzureRemoteDesktopFile -ServiceName "abokov- ws2012DC" -Name "abokov-ws2012DC" -LocalPath "C:toolsabokov-ws2012DC.rdp" ServiceName Name
  • 34. 4. Create Windows VM: configure 1. The Windows OS VHD in your VM Image should be created as a 128 GB fixed format VHD. If the physical size is less than 128GB, the VHD should be sparse. Base images of recommended Windows Server are already meet this, just don’t charge defaults. 2. Install patches, especially critical and security 3. No configuration should rely on drives other than C: or D:, since these are the only two drives that are always guaranteed to exist. C: is the OS disk and D: is the temporary local disk. 4. Don’t keep your Azure credentials inside images
  • 35. 4. Create Windows VM: generalize 1. Windows images should be sysprep’ed - run command line ( not PowerShell! ), change directory to “c:windowssystem32sysprep” 2. “sysprep.exe /generalize /oobe /shutdown” 3. Remote Desktop Connection will be closed immediately 4. Wait for generalize and shutdown…
  • 36. 4. Create Windows VM: generalize When it finished – go to management panel for VHD URL
  • 37. Deploy a VM from your generalized VHDs 1. Generalized OS VHD from Azure storage account can be registered as a user VM Image with which to test. You cannot directly deploy the VM by providing generalized VHD URL. 2. You need to use the Create VM Image Rest API to register VHDs as a VM Image. 3. There’s two options for that: Invoke-WebRequest or Save-AzureVMIMage
  • 38. Option 1 – Invoke-WebRequest# Image Parameters to Specify $ImageName='myVMImage' $Label='IMAGE_LABEL‘ $Description='My VM Image to Test' $osCaching='ReadWrite' $os = 'Windows' $state = 'Generalized' $osMediaLink = 'http://mystorageaccount.blob.core.windows.net/vhds/myOSvhd.vhd' $dataCaching='None' $lun='1' $dataMediaLink='http://mystorageaccount.blob.core.windows.net/vhds/mydatavhd.vhd' # Subscription Related Properties $SrvMngtEndPoint='https://management.core.windows.net' $subscription = Get-AzureSubscription -Current -ExtendedDetails $certificate = $subscription.Certificate $SubId = $subscription.SubscriptionId $body = "" + "" + $ImageName + "" + "" + $Label + "" + "" + $Description + "" + "" + "" + $osCaching + "" +"" + $state + "" +"" + $os + "" +"" + $osMediaLink + "" + "" "" + "" +"" + $dataCaching + "" + "" + $lun + "" +"" + $dataMediaLink + "" + "" + "" + "" $uri = $SrvMngtEndPoint + "/" + $SubId + "/" + "services/vmimages" $headers = @{"x-ms-version" = "2014-06-01"} $response = Invoke-WebRequest -Uri $uri -ContentType "application/xml" -Body $body -Certificate $certificate -Headers $headers -Method POST if ($response.StatusCode -ge 200 -and $response.StatusCode -lt 300) { echo "Accepted" } else { echo "Not Accepted" }
  • 39. Option 2 - Save-AzureVMImage Save-AzureVMImage –ServiceName “myServiceName” –Name “myVMtoCapture” –OSState “Generalized” –ImageName “myAwesomeVMImage” –ImageLabel “This is my Virtual Machine Image” -Verbose
  • 41. Generate SAS URI 1. The SAS URI created should adhere to the following requirements • When generating SAS URIs for your VHDs, List and Read-Only permissions are sufficient. Do not provide Write or Delete access. • The duration for access should be a minimum of 7 business days from when the SAS URI is created. • To avoid immediate errors due to clock skews, specify a time 15 minutes before the current time. 2. You can use AzureStorageExplorer tool : AzureStorageExplorer.codeplex.com
  • 44. AzureStorageExplorer: save SAS URI to publisher portal
  • 45. Certification process This process includes running a special certification tool, uploading the verification results to the Azure container where your VHDs reside, adding an offer, defining your SKU, and submitting your VM Image for certification. 1. Download Certification tool 2. Connect to your image 1. Linux : choose SSH authentication ( DNS + username/password) 2. Windows : use FQDN ( Fully Qualified Domain Name + username/password ) 3. Run tool 4. Send results to Microsoft (contact
  • 47. Certification process – tests execution
  • 48. Certification process – true anywhere
  • 49. Certification process – true anywhere
  • 52. Certification process – final step More details: aka.ms/azure-cert
  • 53. Summary • There’s some formalities with registration • Create VM based on VM images from Azure gallery is quite easy • Certification process took some time • Nevertheless it might took time to make publishing, keeping in touch with folks from Microsoft helps a LOT