<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rangan Mahesh</title>
    <description>The latest articles on DEV Community by Rangan Mahesh (@ranganmahesh).</description>
    <link>https://dev.to/ranganmahesh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F902739%2F77d0c250-9c67-48a2-ae4d-74c24c49f4cb.png</url>
      <title>DEV Community: Rangan Mahesh</title>
      <link>https://dev.to/ranganmahesh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ranganmahesh"/>
    <language>en</language>
    <item>
      <title>Importance of Software design</title>
      <dc:creator>Rangan Mahesh</dc:creator>
      <pubDate>Sat, 15 Oct 2022 07:47:00 +0000</pubDate>
      <link>https://dev.to/ranganmahesh/importance-of-software-design-3hba</link>
      <guid>https://dev.to/ranganmahesh/importance-of-software-design-3hba</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A good design will solve your current problems, a great design will solve problems throughout your system’s lifecycle.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Software design is one of the first steps towards a solution for a given problem, there are various important factors which contribute to a design decision such as Purpose, efficiency, cost, security, aesthetic etc., but is it good enough ? Does the system accommodate change ? Does it cause more problems if a new feature is to be added ? Does it always demand work-arounds for new requirements ?.&lt;/p&gt;

&lt;p&gt;A design should not be focused totally around its first iteration, it should compliment best practices and principles, it should make problem solving easier and enjoyable.&lt;/p&gt;

&lt;h2&gt;
  
  
  An example of how a great design makes problem solving easier
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Problem statement:&lt;/strong&gt; Setup ready to use AWS Cloud accounts for team A and team B to host applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Initial Design Approach&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DicA30Ep--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n2naxq6zpt7ie17n1dsu.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DicA30Ep--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n2naxq6zpt7ie17n1dsu.PNG" alt="Initial approach" width="846" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now both of the above approaches solve the current problem and provide a solution, let’s add something to it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem 2:&lt;/strong&gt; Send bill reports of AWS services to appropriate team&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--43DuXjLD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5d3gt1w8ulplqs0xvyl0.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--43DuXjLD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5d3gt1w8ulplqs0xvyl0.PNG" alt="New requirement design update" width="840" height="687"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Notice how beautifully approach 2 solves the problem when there is a new requirement without having to make any changes to existing system or coming up with work arounds.&lt;/p&gt;

&lt;p&gt;Let’s add some more changes&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem 3:&lt;/strong&gt; Team A should not have access to Team B resources and vice versa.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4kdsdUj7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fcpb8t4l5xklrnx0kj74.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4kdsdUj7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fcpb8t4l5xklrnx0kj74.PNG" alt="Security constraint requirement" width="840" height="682"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clearly Approach 2 is way easier and requires almost no extra work, the design solves the problems. This example distinguishes a good design which solves the current problem at hand and a great design which compliments the system to solve all problems in an elegant way.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to create Great Design
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Understand the problem
&lt;/h3&gt;

&lt;p&gt;There can be many fancy ways to solve a problem, there can be various solutions to solve a problem, its important to understand the problem domain and create a solution in the problem domain.&lt;/p&gt;

&lt;h3&gt;
  
  
  Identify the goal
&lt;/h3&gt;

&lt;p&gt;Try to understand the vision and purpose of the system, if you do, you can create a wonderful image of what the system’s lifecycle and roadmap will be, that is more than enough to design a beautiful system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Challenge the theories
&lt;/h3&gt;

&lt;p&gt;Explore the possibilities, try to do a proof of concept on theories, do not make assumptions, understand data and make decisions based on knowledge derived from data, not mere data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Design Thinking
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Be innovative and think creatively&lt;/li&gt;
&lt;li&gt;  Change perspectives and connect with your users&lt;/li&gt;
&lt;li&gt;  Question the problem and do not restrict your thinking.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Read more about &lt;a href="https://www.interaction-design.org/literature/article/what-is-design-thinking-and-why-is-it-so-popular"&gt;Design thinking&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Follow best practices and principles
&lt;/h3&gt;

&lt;p&gt;The best practices are standards which have been built based on experience and practice, try to stick to the best practices as much as possible, they have proven to be of great value in a longer run.&lt;/p&gt;

</description>
      <category>design</category>
      <category>productivity</category>
      <category>aws</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Importance of Cloud security</title>
      <dc:creator>Rangan Mahesh</dc:creator>
      <pubDate>Mon, 29 Aug 2022 13:51:00 +0000</pubDate>
      <link>https://dev.to/ranganmahesh/importance-of-cloud-security-4cb1</link>
      <guid>https://dev.to/ranganmahesh/importance-of-cloud-security-4cb1</guid>
      <description>&lt;h3&gt;
  
  
  Focus on Security, Compliance, Visibility and Permission management to get the best out of cloud while staying safe.
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;To handle the changing market demands and customer needs, digital transformation is becoming a necessary step for any business to adapt and survive.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Cloud technologies provide various benefits such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unlimited scalability&lt;/li&gt;
&lt;li&gt;Pay-as-go model(only pay for what you use)&lt;/li&gt;
&lt;li&gt;Ability to create resources within minutes&lt;/li&gt;
&lt;li&gt;Global reach&lt;/li&gt;
&lt;li&gt;Zero downtime with redundancy &lt;/li&gt;
&lt;li&gt;Organization and permission management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes Cloud computing one of the greatest catalyst to achieve digital transformation for businesses of any size.&lt;/p&gt;

&lt;p&gt;With the need to provide focus towards migration to the cloud, it is also very important to understand how security in the cloud works and how to secure your resources/data in the cloud, &lt;strong&gt;&lt;em&gt;you are not safe just by moving to the cloud&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The entire section talks about the business model in the public cloud (AWS, Azure, GCP)&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Security model
&lt;/h2&gt;

&lt;p&gt;With any public cloud vendor (AWS or Azure or GCP) the Security model is split into two layers &lt;strong&gt;&lt;code&gt;Security of the Cloud and Security in the Cloud&lt;/code&gt;&lt;/strong&gt;, usually termed as the shared responsibility model/security model.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The Shared Responsibility model defines the boundaries between what the Cloud vendor promises to safeguard and what the Customer of the Cloud is expected to safeguard.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Security of the Cloud:
&lt;/h3&gt;

&lt;p&gt;Security of the Cloud refers to the Security of components and infrastructure that makes up the cloud &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Security of physical hardware&lt;/li&gt;
&lt;li&gt;Cloud facilities&lt;/li&gt;
&lt;li&gt;Host operating systems&lt;/li&gt;
&lt;li&gt;Network and storage capabilities&lt;/li&gt;
&lt;li&gt;Regions/locations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of these are protected by the cloud provider with compliance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security in the Cloud:
&lt;/h3&gt;

&lt;p&gt;Security in the Cloud refers to the proper and secure usage of services in the Cloud. &lt;/p&gt;

&lt;p&gt;The cloud providers do not take responsibility for managing the security in the Cloud, this includes various features such as: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Access controls&lt;/li&gt;
&lt;li&gt;Permissions&lt;/li&gt;
&lt;li&gt;Software usage&lt;/li&gt;
&lt;li&gt;Firewalls&lt;/li&gt;
&lt;li&gt;Data and encryption&lt;/li&gt;
&lt;li&gt;Storage settings&lt;/li&gt;
&lt;li&gt;Security groups&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The ability to perform so much in the cloud also comes with the risk of a single misconfiguration leading to huge loss (such as data leak, hacks, open network etc).&lt;/p&gt;


&lt;center&gt;&lt;em&gt;AWS Shared Responsibility Model&lt;/em&gt;&lt;/center&gt;
&lt;br&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--onKRQroo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cg4w3kc565l8ynx7ryda.png" alt="AWS Shared responsibility model" width="880" height="482"&gt;&lt;br&gt;
&lt;center&gt;&lt;em&gt;Azure Shared Responsibility Model&lt;/em&gt;&lt;/center&gt;
&lt;br&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--l4ToJJtj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ag58t78d5ad8gfurhx6p.png" alt="Azure Shared Responsibility Model" width="880" height="514"&gt;


&lt;center&gt;&lt;em&gt;GCP Shared Responsibility Model&lt;/em&gt;&lt;/center&gt;
&lt;br&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--syZCrm9u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/26ujbfeydkyokn22xkdw.png" alt="GCP Shared Responsibility Model" width="593" height="544"&gt;

&lt;blockquote&gt;
&lt;p&gt;Various organizations have had huge cloud security breach's leading to loss in millions, legal issues, losing their reputation and trust. It is important to take Cloud security as a necessity before its too late. &lt;/p&gt;


&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How to solve the problem
&lt;/h2&gt;

&lt;p&gt;To improve Cloud security, the primary focus should be mainly around:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Configuration Errors&lt;/strong&gt;: Misconfigurations in cloud (networking ports, firewall permissions, improper usage of services)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visibility and monitoring in the Cloud&lt;/strong&gt;: monitor and alerting mechanisms to identify and promptly alert any threats and vulnerabilities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Permissions and Access management&lt;/strong&gt;: Least privilege policy, proper onboard/offboarding, permission boundaries. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Understanding &amp;amp; making efforts to ensure Cloud security, visibility, monitoring and access management is a very important step for any business to adapt to the Cloud model. &lt;/p&gt;

</description>
      <category>aws</category>
      <category>azure</category>
      <category>cloud</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>AWS Well-Architected Framework: Why you should know it to work with AWS</title>
      <dc:creator>Rangan Mahesh</dc:creator>
      <pubDate>Sun, 14 Aug 2022 07:27:00 +0000</pubDate>
      <link>https://dev.to/ranganmahesh/aws-well-architected-framework-why-you-should-know-it-to-work-with-aws-28ch</link>
      <guid>https://dev.to/ranganmahesh/aws-well-architected-framework-why-you-should-know-it-to-work-with-aws-28ch</guid>
      <description>&lt;p&gt;Building applications and infrastructure in the cloud is becoming easier everyday, it is very important to understand the need for better design that is scalable and efficient.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The AWS Well-Architected Framework helps you understand the pros and cons of decisions you make while building systems on AWS. Having well-architected systems greatly improves technical debt of your AWS landscape and the likelihood of business success.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The AWS Well-Architected framework focuses on the six pillars, namely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Operational excellence&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;Reliability&lt;/li&gt;
&lt;li&gt;Performance efficiency&lt;/li&gt;
&lt;li&gt;Cost optimization&lt;/li&gt;
&lt;li&gt;Sustainability&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Purpose and Focus of each pillar
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;Operational excellence&lt;/u&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Understand the importance of operations to effectively manage, monitor and support cloud workloads.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Focus&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Perform operations as code&lt;/li&gt;
&lt;li&gt;Make frequent, small, reversible changes&lt;/li&gt;
&lt;li&gt;Refine operations procedures frequently&lt;/li&gt;
&lt;li&gt;Anticipate failure&lt;/li&gt;
&lt;li&gt;Learn from all operational failures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/welcome.html"&gt;Learn more about Operational Excellence Pillar&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;Security&lt;/u&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Secure your workload in AWS by following best practices&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Focus&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identity foundation&lt;/li&gt;
&lt;li&gt;Traceability&lt;/li&gt;
&lt;li&gt;Detection&lt;/li&gt;
&lt;li&gt;Data protection&lt;/li&gt;
&lt;li&gt;Incident response&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html"&gt;Learn more about Security Pillar&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;Reliability&lt;/u&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;The reliability pillar focuses on the ability of a workload to perform its intended function correctly and consistently. This includes the ability to operate and test the workload through its total lifecycle.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Focus&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Recover from failure automatically&lt;/li&gt;
&lt;li&gt;Test recovery procedures&lt;/li&gt;
&lt;li&gt;Scale horizontally to eliminate a single point of failure&lt;/li&gt;
&lt;li&gt;Automate changes&lt;/li&gt;
&lt;li&gt;Stop guessing capacity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html"&gt;Learn more about Reliability Pillar&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;Performance Efficiency&lt;/u&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Make better use of resources in the cloud to manage requirements. Understand how to handle efficiency as demand changes and technologies evolve.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Focus&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Effectively use better technology and tools in AWS&lt;/li&gt;
&lt;li&gt;Use AWS Regions to provide better capabilities at lower latency&lt;/li&gt;
&lt;li&gt;Go server-less and eliminate overhead work with servers/applications&lt;/li&gt;
&lt;li&gt;Experiment to find your best match&lt;/li&gt;
&lt;li&gt;Use technology that aligns with your goals&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html"&gt;Learn more about Performance Efficiency Pillar&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;Cost Optimization &lt;/u&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Build and operate cost-aware workloads that achieve business outcomes while minimizing costs and allowing your organization to maximize its return on investment.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Focus&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implement cloud financial management&lt;/li&gt;
&lt;li&gt;Adopt a consumption model&lt;/li&gt;
&lt;li&gt;Measure overall efficiency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html"&gt;Learn more about Cost Optimization Pillar&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;Sustainability &lt;/u&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Understand the long-term environmental, economic, and societal impact of the services used. Quantify and apply design principles and best practices to reduce these impacts&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Focus&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand your impact&lt;/li&gt;
&lt;li&gt;Establish sustainability goals&lt;/li&gt;
&lt;li&gt;Maximize utilization&lt;/li&gt;
&lt;li&gt;Anticipate and adopt new, more efficient hardware and software offerings&lt;/li&gt;
&lt;li&gt;Use managed services&lt;/li&gt;
&lt;li&gt;Reduce the downstream impact of your cloud workloads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sustainability-pillar.html"&gt;Learn more about Cost Optimization Pillar&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>aws</category>
      <category>design</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Azure vs AWS design</title>
      <dc:creator>Rangan Mahesh</dc:creator>
      <pubDate>Mon, 08 Aug 2022 20:28:24 +0000</pubDate>
      <link>https://dev.to/ranganmahesh/azure-vs-aws-design-cj1</link>
      <guid>https://dev.to/ranganmahesh/azure-vs-aws-design-cj1</guid>
      <description>&lt;p&gt;While there are many discussions about what each cloud does better in terms of pricing, reliability, service, API's, documentation and so on.. there are few discussion on what a developer loves and makes their job easier, so here is one&lt;/p&gt;

&lt;h2&gt;
  
  
  Navigating in the UI
&lt;/h2&gt;

&lt;p&gt;AWS groups resources of the same type based on region, so you need to know which service you are looking for and in which region, this may sometimes be confusing as you have to know the region you are looking for.&lt;/p&gt;

&lt;p&gt;Azure displays all the resource of a single type under the particular resource category irrespective of region/resource-group/subscription.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resource details
&lt;/h2&gt;

&lt;p&gt;In AWS, the resource details usually are displayed at the bottom and the buttons at the top allow working with them, some details are not provided straight forward in the UI and needs to be hunted by navigating to correct places (such as policy document, access details, connections etc).&lt;/p&gt;

&lt;p&gt;Azure does this in a beautiful way using the "everything related to this service tab" at the left, while working with services in the Azure portal, the left tab displays lots of sections with details such as (access details, policy document, support etc) on each page. This makes it really easy to navigate around and never wonder, is there something hiding somewhere ?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6_qNTq1L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2yn4do8u4khwzh901qrm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6_qNTq1L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2yn4do8u4khwzh901qrm.png" alt="AWS vs Azure" width="574" height="607"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;AWS also provides a similar tab for many services such as EC2, but does not provide resource level isolated information.&lt;/p&gt;

&lt;h2&gt;
  
  
  Search
&lt;/h2&gt;

&lt;p&gt;The Search in AWS management console does not provide results of your hosted resources, you cannot search for a resource by its name such as 'testsns' and get the result, the closest is the SNS service in AWS and you need to know the region as well 😖.&lt;/p&gt;

&lt;p&gt;In Azure you can search for a resource you need by its name, just type 'testservicebus' and your hosted servicebus will show up in the list irrespective of regions or resource-groups 😁.&lt;/p&gt;

&lt;h2&gt;
  
  
  Functionalities
&lt;/h2&gt;

&lt;p&gt;AWS UI is designed in an elegant way trying to give the users a very easy approach to work with services, it considers the usage scenarios and provides ways to connect and implement solutions easily, ex: connecting Services such as SQS and Lambda, modifying configurations. AWS Provides a neat wrapper considering the user scenarios making it easier to work with directly.&lt;/p&gt;

&lt;p&gt;Azure provides a simpler design and keeps all related information bound to the resource, sometimes the implementations needs to be understood and executed if its not provided directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Access control
&lt;/h2&gt;

&lt;p&gt;AWS allows to manage access control primarily using IAM, which is very well designed and provides centralized control over entire infrastructure, it sometimes becomes difficult working with individual resource level controls, but the general policies at resource type level are well structured and easy to use.&lt;/p&gt;

&lt;p&gt;Azure provides fine grained resource level IAM and central IAM using AD, while resource level IAM in azure gives it a great edge, AWS IAM also does really well to manage groups and policies as a unit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which to choose ?
&lt;/h2&gt;

&lt;p&gt;The decision is usually done at an enterprise level, considering  factors such as cost, integrations, support, vision etc.&lt;br&gt;
If you are someone looking to get started or learn more about the cloud consider the scenarios&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First time working with cloud&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AWS and Azure both need a basic level of understanding to get started, but the AWS UI might be easier to try out and learn.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Microsoft stack (C#, .NET etc)&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Azure&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Trial usage&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Both Azure and AWS Provide trial accounts with no cost for trying out their services&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Create a free account, you wont be charged unless you create something they says it will cost you.&lt;/p&gt;

&lt;p&gt;Microsoft Azure Free Account: &lt;a href="https://azure.microsoft.com/en-in/free/"&gt;https://azure.microsoft.com/en-in/free/&lt;/a&gt;&lt;br&gt;
AWS Free Account: &lt;a href="https://aws.amazon.com/free"&gt;https://aws.amazon.com/free&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>azure</category>
      <category>discuss</category>
    </item>
    <item>
      <title>How to not overengineer in software development</title>
      <dc:creator>Rangan Mahesh</dc:creator>
      <pubDate>Sat, 06 Aug 2022 07:40:00 +0000</pubDate>
      <link>https://dev.to/ranganmahesh/how-to-not-overengineer-in-software-development-3cp0</link>
      <guid>https://dev.to/ranganmahesh/how-to-not-overengineer-in-software-development-3cp0</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--l9PSRJCp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q5nbu6ge5bnmxq9hh170.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--l9PSRJCp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q5nbu6ge5bnmxq9hh170.jpg" alt="OverEngineering" width="674" height="488"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Software development is becoming increasingly complex with the need to address different variables such as security, compliance, latency, reliability, recovery and so on.. software development is also becoming easier with growth of various tools, better technologies, automation, cloud and so much more..&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;So... how to make it simple ?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Software development becomes simple when you engineer the problem just enough and make proper use of tools/technologies to solve it.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't assume
&lt;/h2&gt;

&lt;p&gt;Most of the complexity, technical debt, improper design, incorrect behavior and many more problems arise due to improper communication and lack of common understanding among the team.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ask the question, is this going to be X or Y ? do not make an assumption and build on top of it, make sure everyone has a common understanding and are working towards the same goal.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Understand your end goal
&lt;/h2&gt;

&lt;p&gt;Do no focus just on the implementation and what cool tech/tools you can use, think of the end goal and find out if there is a better approach, a simpler approach which would solve your problem and get you to the end result.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=W_WSGHIPSrM"&gt;Best example ever&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  You can't do anything about it ?
&lt;/h2&gt;

&lt;p&gt;We often think of various scenarios/blockers/bottlenecks which could be caused by factors out of our control (such as another team, a resource you need access to, dependency with another system) and try to solve them. While these are very good pro-active and essential measure to be able to work towards a goal smoothly, sometimes it becomes too much and leads to lot of resources being spent in vain.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Try to bring it up and voice out what is needed to the levels required, but do not put more than what is required, instead think of what else can be done which is under your control.. if none, then wait for it 😄.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Let's make it generic and futuristic
&lt;/h2&gt;

&lt;p&gt;Everyone loves creating software that is futuristic and is applicable across various domains, but the effort required to do so keeps increasing as the design becomes more fancier.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Generic/futuristic software code is really good, but do evaluate the value it generates vs the effort put, are many people/teams going to be benefited with some more effort ? Yes ? Go for it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Timebox
&lt;/h2&gt;

&lt;p&gt;While we have to spend time to explore and solve lot of problems, it might lead to the trap of getting lost and not knowing when to quit thus overengineering and overthinking.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Timebox what you are going to explore, once you hit your timer think about 'are you on the right track ? do you see any outcome with some more effort and time ?' and decide what to do next based on your answer to that question.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>tutorial</category>
      <category>productivity</category>
      <category>beginners</category>
      <category>design</category>
    </item>
  </channel>
</rss>
