The preparation for the migration involves the following:
1)
Defining the Service Fabric cluster: The
planning for a Service Fabric cluster will culminate with an Azure Resource
Manager (ARM) template that defines the node types and their numbers. Sample template for creating a Service Fabric
cluster is included here.
2)
Developer workstation requirements: The
workstation requirements are important for application development. These
include Docker for windows to containerize and test the applications prior to
deployment, Visual Studio Docker support for Docker compatibility, and compute
resources when workstations do not have 8GB of memory. Azure DevTest Labs
service is an option for such compute.
3)
Networking requirements: Service Fabric
deployments for large enterprises require careful planning for the following:
a.
Reachability over VPN: Enterprises extend their
corporate network with a private address space to an Azure subscription.
ExpressRoute or Site-to-Site VPN provides secure on-premises connectivity and
must have corresponding resources instantiated for viewing and managing via the
Azure Portal.
b.
NSG rules: Enterprises must secure their inbound
and outbound network traffic through third-party firewall appliances or with
Azure Network Security Group rules or both.
c.
Address Space: The Service Fabric cluster has
tight control over address space requirements and subnets. These will also be
described under the placement constraints.
4)
Containerizing existing Windows applications:
Docker images can run an operating system, an IIS server and the windows
application to be migrated to Service Fabric. Proper choice of base line image,
Docker layers, customizations and hardening are required to secure the
containerized image. A sample Dockerfile has been included here
for this purpose. The base image could be a locked-down custom enterprise image
that enforces enterprise requirements but often it is an official signed image
from a public image repository and as an alpine version at that.
5)
Cluster configuration – node types: A Service Fabric cluster may have one or mode
nodeTypes which loosely map to an Azure Virtual Machine Scale Set (VMSS) each.
A VMSS is a set of Virtual Machines (VM)s with the same set of properties. Each
cluster must have at least one node type-primary node type, which runs the
Service Fabric system services. The application containers cannot be run on the
primary node type. The sizing of the primary node type is directly proportional
to the size of the cluster. T-shirt sizing of Service Fabric cluster is
available and can be referenced via monikers such as Standard_D2s_v3.
Application and Data intensive compute can form the other node types. Choice of
node types can be determined based on the application that is being migrated.
If the Service Fabric cluster starts out with being dedicated to a single
application, it can have just two node types – primary and application. Each
scale set can be scaled in or out independently and does not require extensive planning
and testing because the actual size can grow or shrink driven by monitoring and
metrics.
No comments:
Post a Comment