Summary of Lean Code
May 14, 2020 Leave a comment
This is a summary of concepts explained in the book by Mary Poppendieck and talks given by Kevlin Henley
Software Developer Notes
May 14, 2020 Leave a comment
This is a summary of concepts explained in the book by Mary Poppendieck and talks given by Kevlin Henley
March 21, 2020 Leave a comment
As an Information technology consultant, it is my day to day job try to find patterns in challenges faced by my team members.
I am analyzing the current scenario of the coronavirus in Italy, Spain, Germany, and Japan.
as per research, it was highlighted that Corona will impact mainly on elders. due to the high standard of the living average lifespan of all of these countries is too high. but I was surprised to see the result of Japan.
Country | population in million | number of cases till now | deaths | cases per million | average life expectancy |
Spain | 46.66 | 24980 | 1347 | 535.3621946 | 82.83 |
Italy | 60 | 47000 | 4000 | 783.3333333 | 82.54 |
Japan | 126 | 1007 | 35 | 7.992063492 | 84 |
but Japan is an outlier in it. So one can say the Impact of Corona to an elder is one of the factors but not the only factor. what is something special in Japan not present in these European countries
This virus spread during Chrismas season when a lot of international travelers spend vacations specifically Italy, Spain, France and yes China is in top five (Refer)
but Japan has banned entry from china from 1st Feb onwards [Refer]
Japan comes from the background of disaster almost every year due to earthquakes. luckily Europe is paradise on earth hence found relatively fewer disasters. it is one of the reasons for effective incident management don’t you think so?
Japanese people like to bow when they meet each other instead of handshakes. it reduces the problem of this virus
#spreadpositivity #betterlife
March 6, 2020 Leave a comment
Learning syntax of any programming language is easy but semantics is not that much easy
how to manage tags effectively with fewer errors when designing the Terraform module.it will provide a lot of benefits for tracking resources for cost, monitoring
Currently, we can find a huge amount of terraform modules on various version control systems like Github, bitbucket…..
as per my understanding, IaaC tools like terraform provide a lot of benefits in terms of automation but if not designed properly it creates a lot of challenges for monitoring, cost tracking and security. care must be taken from the beginning otherwise it is challenging once it goes in production I tried my best to avoid various anti-patterns when we design any terraform module.
I had started contributing to avoid these anti-patterns by publishing my terraform modules on terraform registry. although these modules are for AWS same thought process can be applied to designing modules for other cloud providers.
the main motivation for designing these modules is to make the life of any Cloud Engineer easy and productive. instead of working on some useless tasks like finding resources that are not tagged, removing Ec2 in the public subnet.
Please refer to the mindmap which mainly highlights common mistakes we make while tagging or naming resources.
MindMap for designing better terraform module
https://registry.terraform.io/search?q=polganesh
March 2, 2020 Leave a comment
Domain 1: Design for Organizational Complexity 12.5%
Domain 2: Design for New Solutions 31%
Domain 3: Migration Planning 15%
Domain 4: Cost Control 12.5%
Domain 5: Continuous Improvement for Existing Solutions 29%
{Please note it is still in draft phase. I am planning to add more content to this page in future}
October 20, 2018 Leave a comment
AWS | Azure | Important Notes | |
1 | Virtual private cloud (VPC) | Virtual Network | |
2 | Subnet | Virtual subnet | In AWS subnet is specific to Availability zone i.e. one to one relationship between AZ and subnet
but in Azure we can have subnet span across multiple Availability zone i.e. One subnet can be mapped to multiple to AZ. |
Access control | |||
3 | Network access control list (NACL) | NACL is stateless in AWS.
Azure don’t have any substitute for it. |
|
4 | Security group | Network security group |
|
Load Balancer | |||
5 | AWS Elastic load balancer | Azure load Balancer |
|
6 | AWS Application load balancer | Azure APP Gateway | |
connect other networks on premises or in cloud | |||
7 | VPC Peering | Virtual network peering | |
8 | VPN | VPN | |
9 | Direct Connect | Express route (Dedicated Connection) | |
DNS | |||
10 | Route53 | Azure DNS |
|
11 | Azure Traffic Manager |
April 24, 2018 Leave a comment
By default DNS use default port 53 for TCP or UDP for communication.
Type | |
A | Address Record
§ Used by machine to translate the name of domain to IP addresses § Usually one domain name mapped to multiple IP addresses. |
AAAA | IPv6 Address Record. |
PTR | Pointer Record
It is exact opposite of A record i.e. it will provide domain name when IP address is provided. |
Reverse lookup i.e. fetching domain from IP
Example for YAHOO IP address
Type | |
NS | Name Server Record
It is used by top level domain servers to direct traffic to the content DNS server. |
SOA | Start of authority record.
§ It is very first Name server for our domain name. § It gives majority of information for our domain |
Type | |
CNAME | Canonical Record Name
§ It is used to resolve one domain name to another domain. § A record points to IP address but CName points to another domain. § E.g. m.amazon.com and mobile.amazon.com both point to same application.
|
Alias | · This term is specific to AWS |
What is mean by Naked domain name? |
Internet domain name without www or subdomain is known as Naked domain name.
http://computerlanguage.com/ is naked domain but http://www.computerlanguage.com/ is not naked domain. |
Other record types
March 19, 2018 Leave a comment
This mind map highlight various storage types and supported services in AWS
Mind map for simple storage service(S3)
Mind map for cloud front
Mind map for block storage supported by AWS
August 30, 2017 Leave a comment
August 7, 2015 Leave a comment
In this post we will look at simple example how does catching exception impact performance.
private static void exceptionTest(){ int i=0; int j=1; try{ int k=j/i; }catch(ArithmeticException ex){ //not good idea to catch run time exception but catch for demo only } }
private static void withoutExceptionTest(){ int i=0; int j=1; if(i>0){ int k=j/i; } }
private static long exceptionTestLoop(int iterations,boolean isCatchException){ long startTime=System.nanoTime(); for(int i=0;i<iterations;i++){ if(isCatchException){ exceptionTest(); }else{ withoutExceptionTest(); } } long endTime=System.nanoTime(); long time=endTime-startTime; return time; }
public static void main(String[] args) { int itr=1000000; long timeForCatching=exceptionTestLoop(itr,true); long time=exceptionTestLoop(itr,false); System.out.println("Time for catching Exception "+timeForCatching+" without catching "+time); }
Avoid catching exception as it will reduce response time. above example demonstrate results for simple single threaded application but situation become worst in multi threaded environment.