{"id":3267,"date":"2022-08-12T12:42:30","date_gmt":"2022-08-12T17:42:30","guid":{"rendered":"https:\/\/microsoftgeek.com\/?p=3267"},"modified":"2022-08-12T13:08:53","modified_gmt":"2022-08-12T18:08:53","slug":"hub-spoke-architecture-on-azure","status":"publish","type":"post","link":"https:\/\/microsoftgeek.com\/?p=3267","title":{"rendered":"Hub &#038; Spoke Architecture on Azure"},"content":{"rendered":"\n<p>\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/architecture-cloud.fr\/wp-content\/uploads\/2022\/05\/hub-spoke-1024x525.png\" alt=\"\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>The standardization and reuse of architectural models is a common practice in software development, which can be inspired in cloud network topologies.&nbsp;The&nbsp;<strong>Hub-and-Spoke<\/strong>&nbsp;model is a network topology increasingly adopted by customers on Azure.<\/p>\n\n\n\n<p>We will discuss in this article the characteristics of this architecture, the advantages that can be drawn from it and the most common use cases.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Hub-and-Spoke Topology<\/h2>\n\n\n\n<p>The basic&nbsp;<strong>Hub-and-Spoke<\/strong>&nbsp;architecture consists of several VNETs that we will call: Hub and Spokes.&nbsp;The&nbsp;<strong>Hub<\/strong>&nbsp;is a virtual network that will be our entry point to our Azure infrastructure and which will be connected to our On-Premise infrastructure in our case.&nbsp;The connection between our local infrastructure to the Hub will be made through a VPN or an Express Route.<\/p>\n\n\n\n<p>We will find in the Hub common and central services, for example VM bastion, supervision, a Firewall or a VPN Gateway.&nbsp;<strong><em>Our Hub is a central point for connectivity to our various On-Premise sites or to other cloud providers<\/em><\/strong>&nbsp;.<\/p>\n\n\n\n<p><strong>Spokes<\/strong>&nbsp;are&nbsp;virtual networks on which we will generally place our PaaS applications, VMs and vNet integrated services.&nbsp;Network communication between the Hub and the Spokes involves setting up peerings between the vNets spokes and the Hub.<strong><\/strong><\/p>\n\n\n\n<p><strong>How many spokes and for which use case?&nbsp;<\/strong>We can imagine a spoke for the production environment and a spoke for pre-production or 1 spoke per application.<\/p>\n\n\n\n<p><strong><em><strong><em>We will find several use cases of this architecture, namely:<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Architecture with a hub zone firewall for filtering,<\/li><li>Centralization of the entry point with a VPN Gateway,<\/li><li>Centralization of common services such as supervision, FW, Bastion at the Hub level,<\/li><li>Segregation of environments and resources.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/architecture-cloud.fr\/wp-content\/uploads\/2022\/07\/hub-spoke-architecture.png\" alt=\"\" class=\"wp-image-1807\"\/><figcaption><strong>Basic hub-and-spoke architecture<\/strong><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Hub-and-Spoke with Firewall<\/h2>\n\n\n\n<p>To centralize the control of incoming and outgoing flows to our applications, we can position a firewall virtual appliance (NVA) in the Hub.&nbsp;The NVA will filter the flows respecting the rules defined by the RSSI to each spoke.&nbsp;The definition of static routes on our subnets is essential to be sure to always pass through our NVA, the&nbsp;<strong><em>User Defined Routing<\/em><\/strong>&nbsp;(UDR) service on Azure is our friend for this need.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/francescomolfese.it\/wp-content\/uploads\/2018\/08\/2018_08_20_Azure-HubSpoke-02.png?resize=574%2C566&amp;ssl=1\" alt=\"\"\/><figcaption><strong>Hub-and-Spoke architecture with an NVA<\/strong><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Advantages and disadvantages<\/h2>\n\n\n\n<p><strong>In terms of benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Our architecture allows a better separation of our environments with a central entry point (Hub) connected to several Spokes.&nbsp;This will allow our security teams to apply fine granularity to each environment or application,<\/li><li>The application of Tags at the level of each spoke will facilitate internal invoicing and the organization of our resources,<\/li><li>The hybridization of our services is also easier, because the network connection to them is easier to set up from the Hub,<\/li><li>A financial advantage: a reduction in connection costs to our On-Premise environment. A single connection for all applications instead of setting up 1 VPN per application\/environment,<\/li><li>Simplification in terms of architecture and resource management.<\/li><\/ul>\n\n\n\n<p><strong>In terms of disadvantages<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Delicate management of IP address spaces to avoid overlap between the Hub, Spoke and our other On-Premise environments,<\/li><li>The definition of all IP addressing must be done from the start to avoid surprises,<\/li><li>A high availability architecture for all Hub services is recommended to avoid any interruption in the event of an incident.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Hub-and-Spoke best practices<\/h2>\n\n\n\n<p>The organization of Vnets spokes must be based on application or internal entity to have a functional or business logic.<\/p>\n\n\n\n<p><strong>Example:<\/strong>&nbsp;an online sales company<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Hub<\/strong>&nbsp;: central services \u2013 resource group hub<\/li><li><strong>Spoke 1<\/strong>&nbsp;: online sales application (mobile and PC) \u2013 resource group 1<\/li><li><strong>Spoke 2:<\/strong>&nbsp;inventory management application \u2013 resource group 2<\/li><li><strong>Spoke 3:<\/strong>&nbsp;delivery management application \u2013 resource group 3<\/li><li><strong>Spoke 4:<\/strong>&nbsp;supplier management application \u2013 resource group 4<\/li><\/ul>\n\n\n\n<p>IP management can be done with third-party tools like IPAM or a simple excel file.&nbsp;Group resource tags are your best friend: spoke, hub, prod, pprd, stockbdd..Etc.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p><strong><em>The Hub-and-Spoke<\/em><\/strong>\u00a0architecture\u00a0remains the most popular for customers who wish to hybridize their On-Premise environments based on a pattern validated and standardized by Microsoft.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 The standardization and reuse of architectural models is a common practice in software development, which can be inspired in cloud network topologies.&nbsp;The&nbsp;Hub-and-Spoke&nbsp;model is a network topology increasingly adopted by customers on Azure. We will discuss in this article the characteristics of this architecture, the advantages that can be drawn from it and the most [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[69,35,1],"tags":[],"class_list":["post-3267","post","type-post","status-publish","format-standard","hentry","category-azure","category-cloud-computing","category-networking-stuff"],"_links":{"self":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/3267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3267"}],"version-history":[{"count":2,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/3267\/revisions"}],"predecessor-version":[{"id":3272,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/3267\/revisions\/3272"}],"wp:attachment":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}