Application Deployments

6 min

Application Deployments

Application Deployments define the package of software components that make up an application in a particular environment, e.g. development or production. Instances of these are deployed onto physical Technology Nodes to capture where that software is executing. Although this is technically an activity in the Technology Layer, it is the logical conclusion of the Application Layer working from the Conceptual, through Logical and the Physical Views.

Application Deployments are used to represent things such as the Production deployment of ‘MyApp’, as opposed to the Test instance of ‘MyApp’. The Application Deployment Role is used to determine this and forms part of the fully-qualified name of the Application Deployment.

By deploying instances of the Application Deployments, we can also record the dependencies on specific Technology Instances that are also deployed to that Technology Node, e.g.:

  • Our Java EAR depends on the instance of Tomcat Application Server on ‘myapp.myorg.com’

A Technology Node is a locatable technology device that exists in the organisation or even the extended enterprise. Technology Nodes can represent both physical and virtual devices such as virtual servers.

TIP: AWS EC2, Azure Windows Server, etc. deployments should all be modelled as Technology Nodes

Creating a Deployment

Deploying an instance of the Application Deployment in Essential is done as follows:

  • From your application, either Application_Provider or Composite_Application_Provider, select the Physical Deployments slot and add a new Application_Deployment
  • In the Application_Deployment create a new instance from the slot Deployed Application Instances
  • This opens a new, Application Software Instance form window
  • Give this instance a name, which could be the name of the software package that is really deployed, e.g. myApp.ear, myApp.exe
  • Give this instance a description if appropriate
  • The fully qualified name will be automatically generated.
  • In the Instance of Technology Provider slot specify the type of technology that is used to package this deployment,
    • e.g. Java EAR file,
    • Windows Executable.
  • Define the other Technology Instances that this application deployment instance is directly dependent upon using the Is Dependent upon Technology Instances slot. It is worth considering the layer technology architecture and only defining dependencies between adjacent layers, i.e. only worry about the immediate technology and not any technology which is used as Essential will manage the full chain of dependencies in the model.
  • In the Attributes of this Instance slot, define any pertinent attributes of this instance
  • In Deployed to Technology Node select the Technology Node (this may be a physical or virtual node) to which you wish to deploy this application instance
  • Specify the deployment status of this instance in the Technology Instance Deployment Status e.g.
    • The live instance
    • A standby instance
    • A mirror instance
  • Specify the Application Deployment Role, e.g. Production, Test, Development
  • Select the relevant Technology Product Build that defines the Technology Architecture that is required to support this application deployment.

This allows us to have different technology architectures for, e.g. the Production environment and the Test environment – may be a different server specification.

See Define Technology Product Build for more information about Technology Product Builds and how to define them in Essential Architecture Manager.

TIP: For deployments of e.g. desktop applications, where it is impractical to create an instance of the deployment for each real physical instance, we can use the Application Deployment Group to capture the number of instances of that deployment that really exist.

Updated 31 October 2023

Contact Us