Thursday, February 2, 2017

Today we continue to compare networking capabilities in the azure and aws public clouds. We compared Security, Security Groups, Network ACLs, Custom routing tables, Virtual network interfaces. We now compare DNS service, connectivity, VPN over IPSec, private connectivity over Exchange, SDK & Tools,  AWS provides Route53 as a highly available and scalable DNS web service. We can register domain names, route internet traffic to the resources for the domain and check the health of the resources. The domain registry is with Verisign.  When we register a domain name, Amazon route 53 automatically creates a public hosted zone that has the same name as the domain and to route traffic to our resources, we create resource record sets. When an end user requests a name, the request is routed to a name resolver which forwards it to the DNS root name server. With the response the name resolver forwards it to the TLD name server for the .com domains. Again with the response, the name resolver forwards it to the route 53 name server which then provides the ip address for the name. The resolver then returns this to the user.
Azure uses Anycast networking  so that each DNS query is answered by the closest available DNS server thus increasing the performance and the availability of the domain.
VPN gateway provides connectivity between the virtual network in the cloud and the on-premise site. The Azure VPN gateway is a virtual network gateway that sends encyrpted traffic over a public connection. Azure provides two types of gateways - ExpressRoute and VPN. There can be only one gateway of each type in a virtual private network. A VPN gateway allows point to site as well as multisite that share bandwidth available to the gateway. AWS provides Direct Connect links that lets you create virtual interfaces directly to the AWS cloud and Amazon Virtual Private cloud, bypassing the ISPs in the route. Both cloud providers allow public ip addresses to be assigned to virtual machine instances there by providing internet connectivity. In order to service, large customers with heavy bandwidth requirements, both cloud providers seem to have agreements with major Telecom providers and ISVs to offer private connectivity between their clouds and the customer's premise. While AWS doesn't provide SLA for this service, Azure provides 99.9 % SLA.  Azure and AWS provide programmable SDKs as well as CLI and REST APIs. These significantly improve automation and workflow expansion.
#codingexercise
Find all possible interpretation of an array of digits.
For example 121 can be aba au la
We can decode a tree and print the leaves from the root for the interpretations. This is similar to dynamic programming as shown below:

void decode(List<int> A, int? prev, ref StringBuilder b)
{
if (A.empty()) { b+= ToLetter(prev); // null has no effect
                          Console.WriteLine(b.toString());
                          b -= ToLetter(prev);
                          return;}
if (prev !=  null) {
char c =  ToLetter(prev*10+A[0]); // data more than 26 has no effect
if (c.isValid()){
b+= c;
Decode( A.GetRange(1, A.Count-1), null, ref b);
b-=c;
}
}
char c =ToLetter(A[0]);
b+= c;
Decode(A.GetRange(1,A.Count -1), null, ref b);
b-=c;
Decode (A.GetRange(1,A.Count-1), A[0], ref b);
}

No comments:

Post a Comment