Deploy PrestaShop Via ansible
┌────────────────────────────────────────┐ ┌───────────┐
│ LB-80/443 │ │ 22 │
└────────────────────────────────────────┘ ├───────────┤
┌───────────┐ ┌───────────┐ ┌───────────┐ │Control VM │
│ Front #1 │ │ Front #2 │ │ Front #n │ │ Ansible │
│ Apache │ │ Apache │ │ Apache │ │ │
│ PHP-FPM │ │ PHP-FPM │ │ PHP-FPM │ └───────────┘
├─────┬─────┤ ├─────┬─────┤ ├─────┬─────┤
│ dd1 │ dd2 │ │ dd1 │ dd2 │ │ dd1 │ dd2 │
│raid │raid │ │raid │raid │ │raid │raid │
│soft │soft │ │soft │soft │ │soft │soft │
├─────┴─────┴──┴─────┴─────┴──┴─────┴─────┤
│ csync2/lsyncd │
└─────────────────────────────────────────┘
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Back #1 │ │ Back #2 │ │ Back #n │
│ MySQL │ │MySQL Slave│ │MySQL Slave│
│ Master │ │ │ │ │
├─────┬─────┤ ├─────┬─────┤ ├─────┬─────┤
│ dd1 │ dd2 │ │ dd1 │ dd2 │ │ dd1 │ dd2 │
│raid │raid │ │raid │raid │ │raid │raid │
│soft │soft │ │soft │soft │ │soft │soft │
└─────┴─────┘ └─────┴─────┘ └─────┴─────┘
Microsoft Azure Marketplace Solution Templates - Validation Criteria for Virtual Machine based offers
Check list fot the project
####Templates Parameters
-
[Template parameters MUST NOT include allowedValues for the following parameter types:]
- Virtual Machine Size
- Storage Account Type
- Location
-
[Templates MUST NOT define default values for the following parameters:]
- Storage Account Name
- Domain Name Label
-
Templates authentication related parameters MUST set Default Values as following:
- SSH Key needs a default value blank if the solution also support Passw authentication
- Password needs a default value blank if the solution also support SSH Key
-
[The
apiVersion
specified for a resource type MUST be either be the latest version or have a date within 12 months of publishing.] -
[All
apiVersion
references for a given resource type MUST use the same API.] -
All usage of the providers function MUST use an explicit
apiVersion
[v1.1] -
Templates MUST provide a templateBaseUrl variable for any base URL depend asset [v1.1]
-
[Template solutions using
virtualMachines/extensions
MUST use protected settings when passing secrets such as passwords to those extensions] -
[Parameters passed into templates that represent secrets such as passwords MUST use the type
securestring
] -
When using extensions (ex. CustomScriptForLinux) autoUpgradeMinorVersion MUST be set to true.[v1.1]
-
When using a custom images MUST use production SingleVMs offers, no preview(staged) ones [v1.2]
####Compute
- [All
imageReferences
for virtual machines or virtual machine scale sets MUST use images that are available in the Azure Marketplace or core platform images.] - [All
imageReferences
for virtual machines or virtual machine scale sets that do not belong to the marketplace publisher MUST specifylatest
for theversion
property.] - [All Linux VMs created that support the use of SSH MUST support using public key authentication for any provisioned user.]
####Storage
- [Templates MUST take account of
storageAccounts
throughput constraints and deploy across multiplestorageAccounts
where necessary.] - [Where
storageAccounts
are used for the purpose of backup or snapshotting of dataMicrosoft.Authorization/locks
MUST be used to prevent accidental deletion of those accounts.] - Templates creating new
storageAccounts
that creates storage names MUST generate uniquename
properties for each account created.[v1.1]
####Networking
- [If a template creates any new publicIPAddresses then it MUST have an output section that provides details of the fully qualified domain created.]
- [
publicIPAddresses
assigned to a Virtual Machine Instance MUST only be used when these are required for application purposes, for connectivity to the resources for debug, management or administrative purposes eitherinboundNatRules
,virtualNetworkGateways
or a jumpbox should be used.] - [Templates creating new
publicIPAddresses
that creates domain names label in the templates, MUST generate uniquedomainNameLabel
properties for each address created.]
###Recommended — these are recommended requirements to deploy VM Based solution templates into the Azure marketplace, however they may be discounted where appropriate.
- Templates SHOULD offer multiple sizes of deployments to cover common customer scenarios.
- Multi-tier applications SHOULD deploy multiple Virtual Machines for each tier into Availability Sets and configure update and fault domains as appropriate.
- Templates SHOULD offer premium storage as an option for both OS and data disks.
- Applications using VMs local disk for durable data SHOULD be configured to take regular back-ups to durable storage to reduce the impact of data loss.
- Linux based solutions SHOULD offer the ability to provision password based authentication in addition to using an SSH Key.
- Templates SHOULD be optimized to minimize deployment times.
- If a template creates any
publicIPAddresses
then it SHOULD also support the use of pre-existing ones. - Templates SHOULD include
networkSecurityGroups
to restrict traffic withinvirtualNetworks
and to and from the Internet. - Templates SHOULD include
virtualMachines/diagnosticSettings
for each virtual machine created. - Where a provisioned application uses the virtual machines local disk for durable data it SHOULD replicate that data at least 3 times across at least 3 fault domains.
- Where a template solution creates resources that are optional then it SHOULD use the new or existing pattern