<?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: Vivek Siva</title>
    <description>The latest articles on DEV Community by Vivek Siva (@viv).</description>
    <link>https://dev.to/viv</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%2F316438%2F888de055-ba8f-415a-9e70-6f26b0721a1f.jpeg</url>
      <title>DEV Community: Vivek Siva</title>
      <link>https://dev.to/viv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/viv"/>
    <language>en</language>
    <item>
      <title>Azure PaaS vs Iaas</title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Thu, 03 Aug 2023 16:27:37 +0000</pubDate>
      <link>https://dev.to/viv/azure-paas-vs-iaas-2g4i</link>
      <guid>https://dev.to/viv/azure-paas-vs-iaas-2g4i</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ap5dXlvb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://iamguptarishi.files.wordpress.com/2019/03/3-azure-services.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ap5dXlvb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://iamguptarishi.files.wordpress.com/2019/03/3-azure-services.png" alt="Azure in nutshell" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>cloud</category>
      <category>cloudcomputing</category>
      <category>cloudpractitioner</category>
    </item>
    <item>
      <title>Azure Monitor</title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Thu, 03 Aug 2023 16:05:44 +0000</pubDate>
      <link>https://dev.to/viv/azure-monitor-576d</link>
      <guid>https://dev.to/viv/azure-monitor-576d</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hAU4UOd_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://docs.microsoft.com/en-ca/training/azure-fundamentals/monitoring-fundamentals/media/2-identify-product-options-01.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hAU4UOd_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://docs.microsoft.com/en-ca/training/azure-fundamentals/monitoring-fundamentals/media/2-identify-product-options-01.png" alt="Azure Monitor in nutshell" width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>monitoring</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Kinesis 101</title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Tue, 05 Oct 2021 15:52:17 +0000</pubDate>
      <link>https://dev.to/viv/kinesis-101-338k</link>
      <guid>https://dev.to/viv/kinesis-101-338k</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mbAjjqNR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/icgo5d6o3sd9edobvrkr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mbAjjqNR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/icgo5d6o3sd9edobvrkr.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YttRn8mi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h9ea6aaeb8qlu7x19ke4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YttRn8mi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h9ea6aaeb8qlu7x19ke4.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fhHvBmCl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/21479gik34xcm2xjv4sr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fhHvBmCl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/21479gik34xcm2xjv4sr.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;example -&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0JMacpI0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dg058giggb6mp5yxigke.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0JMacpI0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dg058giggb6mp5yxigke.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AppSync vs API Gateway</title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Tue, 05 Oct 2021 15:27:05 +0000</pubDate>
      <link>https://dev.to/viv/appsync-vs-api-gateway-4i4b</link>
      <guid>https://dev.to/viv/appsync-vs-api-gateway-4i4b</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0svlla7w8m8drysnfi5h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0svlla7w8m8drysnfi5h.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>api</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Handling Multiple Lambda functions </title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Tue, 05 Oct 2021 15:12:35 +0000</pubDate>
      <link>https://dev.to/viv/handling-multiple-lambda-functions-22pi</link>
      <guid>https://dev.to/viv/handling-multiple-lambda-functions-22pi</guid>
      <description>&lt;p&gt;Don't do this -&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flrv0std8n6bdo1xawag6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flrv0std8n6bdo1xawag6.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Because it will&lt;br&gt;
Cause these Problems -&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7dkhfnlhb6bq43q7nmgr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7dkhfnlhb6bq43q7nmgr.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Simple Solution -&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1dwg3zvrvszgkrlhlnv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1dwg3zvrvszgkrlhlnv.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How your architecture should look -&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffs07m6el56f3k22fsd1q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffs07m6el56f3k22fsd1q.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;High Level -&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzx4ky9onokyflwaemjyl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzx4ky9onokyflwaemjyl.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>cloud</category>
      <category>aws</category>
    </item>
    <item>
      <title>SQS Differences</title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Tue, 05 Oct 2021 15:06:47 +0000</pubDate>
      <link>https://dev.to/viv/sqs-differences-3api</link>
      <guid>https://dev.to/viv/sqs-differences-3api</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2hg7elbgd75b0xwjxdj3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2hg7elbgd75b0xwjxdj3.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>queue</category>
      <category>cloud</category>
      <category>aws</category>
      <category>beginners</category>
    </item>
    <item>
      <title>IAM best docs</title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Mon, 04 Oct 2021 16:15:19 +0000</pubDate>
      <link>https://dev.to/viv/iam-best-docs-3hph</link>
      <guid>https://dev.to/viv/iam-best-docs-3hph</guid>
      <description>&lt;p&gt;Sites: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://start.jcolemorrison.com/aws-iam-policies-in-a-nutshell/"&gt;https://start.jcolemorrison.com/aws-iam-policies-in-a-nutshell/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://forrestbrazeal.com/2019/02/18/cloud-irregular-iam-is-the-real-cloud-lock-in/"&gt;https://forrestbrazeal.com/2019/02/18/cloud-irregular-iam-is-the-real-cloud-lock-in/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Codes:&lt;br&gt;
&lt;a href="https://github.com/iann0036/iamlive"&gt;https://github.com/iann0036/iamlive&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;developing post....&lt;/p&gt;

</description>
      <category>cloudskills</category>
      <category>security</category>
      <category>aws</category>
      <category>cloud</category>
    </item>
    <item>
      <title>AWS Associate Architect Exam - Pointers</title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Mon, 23 Aug 2021 14:15:31 +0000</pubDate>
      <link>https://dev.to/viv/aws-associate-architect-exam-pointers-1kdd</link>
      <guid>https://dev.to/viv/aws-associate-architect-exam-pointers-1kdd</guid>
      <description>&lt;p&gt;SO I recently cleared my AWS associate architect exam (2nd time) and here are the list of services / types that normally comes in the exam! &lt;/p&gt;

&lt;h1&gt;
  
  
  Type of questions
&lt;/h1&gt;

&lt;p&gt;Most of the questions are based on &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;"when to use what" - which services are suited &lt;/li&gt;
&lt;li&gt;"what's the more secure way" &lt;/li&gt;
&lt;li&gt;"what's the most cheaper way" &lt;/li&gt;
&lt;li&gt;"which of these requires less operational overhead" &lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Topics
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;s3 + Cloud front and OAI&lt;/li&gt;
&lt;li&gt;S3 different use cases (when to use Standard, Glacier/ vault etc)&lt;/li&gt;
&lt;li&gt;SQS + RDS / different queues and when to use FIFO vs standard&lt;/li&gt;
&lt;li&gt;VPC peering and endpoints&lt;/li&gt;
&lt;li&gt;ec2 auto scaling related (scheduled scaling/ cool down periods) &lt;/li&gt;
&lt;li&gt;Redshift availability/durability / multi region&lt;/li&gt;
&lt;li&gt;DynamoDB / Dax / DynamoDB streams &lt;/li&gt;
&lt;li&gt;iam roles/policies and types (lambda to s3/ instance profile roles etc /cross account roles)&lt;/li&gt;
&lt;li&gt;storage gateway (volumes/cached)&lt;/li&gt;
&lt;li&gt;data sync vs s3 transfer acceleration&lt;/li&gt;
&lt;li&gt;Kinesis data streams/ analytics/firehose &lt;/li&gt;
&lt;li&gt;s3 select vs glacier select&lt;/li&gt;
&lt;li&gt;RDS related (when to use aurora - latency/ read replicas vs Multi AZ )&lt;/li&gt;
&lt;li&gt;Monitoring related (cloudtrail vs cloudwatch vs trusted advisor)&lt;/li&gt;
&lt;li&gt;VPC scenarios (how to create networking). It needs the practical knowledge of setting up access to the Internet for the EC2 instances, for example from Igor (comments)&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>aws</category>
      <category>inthirtyseconds</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Aws compute inthirtyseconds :)</title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Wed, 20 Jan 2021 14:56:09 +0000</pubDate>
      <link>https://dev.to/viv/aws-compute-inthirtyseconds-bhl</link>
      <guid>https://dev.to/viv/aws-compute-inthirtyseconds-bhl</guid>
      <description>&lt;p&gt;&lt;b&gt;EC2 instances&lt;/b&gt;- Elastic Compute Cloud, this is essentially a virtual machine &lt;/p&gt;

&lt;p&gt;In a typical data center, you use a hypervisor like vmware to create virutal machines on top of a physical server and you have a level of liberty to choose your own configuration like vCPU (virtual CPU) and RAM, in cloud , like AWS, its all pre configured! and there comes the AWS Instance families &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Instance families &lt;/b&gt;:  &lt;/p&gt;


&lt;li&gt;
&lt;u&gt;General Purpose&lt;/u&gt; - ATM (a1, t2-t3 families with cpu burst, m5(intel)-m5a (amd) - m6g (graviton) 
&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Compute&lt;/u&gt;: c5 -intel, c5a -amd, c6g graviton 
&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Memory&lt;/u&gt; : R5, x1, z1 
&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Accelerated Computing &lt;/u&gt;-: Gx, Px, INF1, F
&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Storage&lt;/u&gt;: Ix, Dx, Hx

&lt;p&gt;&lt;b&gt;fixed vs burstable&lt;/b&gt;: &lt;br&gt;
&lt;u&gt;Cx,Rx, Mx&lt;/u&gt; are fixed, static unit based ec2 &lt;br&gt;
&lt;u&gt;Tx &lt;/u&gt;- CPU burstable -  governed by CPU Credits. ex t3 nano has 2vpu and 6 cpu units burstable&lt;/p&gt;

&lt;p&gt;Once you spin up server using any of those, it will be in any one of the below states &lt;br&gt;
&lt;/p&gt;


&lt;/li&gt;
&lt;li&gt;Instance state
&lt;/li&gt;
&lt;li&gt;Pending 
&lt;/li&gt;
&lt;li&gt;Running 
&lt;/li&gt;
&lt;li&gt;Stopping--&amp;gt; Stopped
&lt;/li&gt;
&lt;li&gt;Shutting-down --&amp;gt; Terminated
&lt;/li&gt;
&lt;li&gt;Started 
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdocs.aws.amazon.com%2FAWSEC2%2Flatest%2FUserGuide%2Fimages%2Finstance_lifecycle.png" alt="credit aws"&gt;
&lt;/li&gt;

</description>
      <category>beginners</category>
      <category>inthirtyseconds</category>
      <category>aws</category>
      <category>cloud</category>
    </item>
    <item>
      <title>aws serverless services </title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Thu, 14 Jan 2021 16:09:41 +0000</pubDate>
      <link>https://dev.to/viv/aws-serverless-services-2eh2</link>
      <guid>https://dev.to/viv/aws-serverless-services-2eh2</guid>
      <description>&lt;li&gt; &lt;b&gt; AWS Lambda &lt;/b&gt; automatically runs your code on
highly available, fault-tolerant infrastructure spread across multiple Availability Zones in a single region
without requiring you to provision or manage servers




&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;AWS Fargate &lt;/b&gt; — a serverless compute engine for containers
&lt;/li&gt;
&lt;li&gt; &lt;b&gt;Amazon DynamoDB &lt;/b&gt; — a fast and flexible NoSQL database
&lt;/li&gt;
&lt;li&gt; &lt;b&gt;Amazon Aurora Serverless  &lt;/b&gt;— a MySQL compatible relational database
&lt;/li&gt;
&lt;li&gt; &lt;b&gt;Amazon API Gateway &lt;/b&gt;— a service to create, publish, monitor and secure APIs
&lt;/li&gt;
&lt;li&gt; &lt;b&gt;Amazon S3 &lt;/b&gt;— a secure, durable and highly scalable object storage
&lt;/li&gt;
&lt;li&gt; &lt;b&gt;Amazon Elastic File System &lt;/b&gt;— a simple, scalable, elastic file storage
&lt;/li&gt;
&lt;li&gt; &lt;b&gt;Amazon SNS &lt;/b&gt;— a fully managed pub/sub messaging service
&lt;/li&gt;
&lt;li&gt; &lt;b&gt;Amazon SQS &lt;/b&gt;— a fully managed message queuing service
&lt;/li&gt;

</description>
      <category>aws</category>
      <category>serverless</category>
      <category>beginners</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Kafka 101</title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Fri, 08 Jan 2021 18:46:53 +0000</pubDate>
      <link>https://dev.to/viv/kafka-101-3pnm</link>
      <guid>https://dev.to/viv/kafka-101-3pnm</guid>
      <description>&lt;h1&gt;So what is Kafka? &lt;/h1&gt;

&lt;p&gt;It is a distributed event streaming platform&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/FKgi3n-FyNU"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;ok so what does it do :) ? &lt;/h2&gt;

&lt;p&gt;An event is a thing that happens. Any action happening in a computer or a service will result in a event, its usually getting stored in logs in a traditional system. Now  this can be a file based log file or getting saved into databases. &lt;/p&gt;

&lt;p&gt;But these are old school techniques and doesn't scale nicely, ever seen a peta byte scale database? so internet scale requires, new tech and Enter Kafka, a distributed event streaming platform, which is designed keeping all the scaling problems in mind!&lt;br&gt;&lt;br&gt;
To under stand more, lets take an example. &lt;/p&gt;

&lt;h2&gt;Example &lt;/h2&gt;

&lt;p&gt;lets imagine that you are taking an uber ride, what usually happens ? &lt;br&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br&gt;
1) You open the app and look for near by rides and this kicks off a series of internet calls. Between your app and the uber servers a lot of api calls were initiated, ex: the user app api, which will first log an event , stating that you have opened the app with its date and time, location etc. (yes! everything that you do in internet , every moment / event is tracked, welcome to internet ) and then your login which is another event.. &lt;/p&gt;


&lt;p&gt;&lt;br&gt;
2) Then you start seeing cars nearby , which involves  maps api, a driver api, and an algorithm  that calculates the distance between you and your driver(s) and then a lot of different sets of permutations combinations like which uber vehicle type you are requesting, is it peak pricing, are you looking for a shared pool, how many users are nearby etc.  , each and every one of these actions will generate events that gets stored somewhere (hint : Kafka) &lt;br&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br&gt;
3) Then , you get matched to a driver and finally get a ride and driver will reach you in x mins,  and once you get in your car, another api will determine the map traffic and your driver's speed for an arrival estimate again second by second events are getting generated. &lt;br&gt;
&lt;/p&gt;


&lt;p&gt;4) finally your ride gets completed and then various api's like payment , review api's gets invoked and the ride comes to an end , by this time your ride alone would have created more than 100 events (barring the second by second map api calls) &lt;/p&gt;

&lt;h2&gt;but, why cant we use rdbms databases? &lt;/h2&gt;

&lt;p&gt;Now lets "assume" that in the united states 10000 people are booking a uber ride in any minute and each ride will create 100 events, and estimating every ride will take 10 mins. &lt;/p&gt;

&lt;p&gt;So for the next ten minutes you will have approximately 10 million events generated and if we are thinking of storing it on a database (a rdbms) then good luck :) .&lt;/p&gt;

&lt;p&gt;even though , theoretically this can still be stored in a database , the constant growth of these events will result in a place where you cant scale the rdbms anymore! &lt;/p&gt;

&lt;p&gt;Currently , uber handles &lt;b&gt;trillion&lt;/b&gt; such events .Uber processes trillions of messages and multiple petabytes of data per day. Imagine putting these on a database :D &lt;/p&gt;

&lt;h2&gt; So What's the solution &lt;/h2&gt;

&lt;p&gt;So how do we solve this? enter Kafka, with its topics and producers and consumers. and what are those? &lt;/p&gt;

&lt;p&gt;1) a Kafka producer is something that shares the events, here the rider, driver etc.&lt;/p&gt;

&lt;p&gt;2) the Kafka consumer is something that consumes these rider driver events and performs computations, like your cost of ride, your estimated time etc.! &lt;/p&gt;

&lt;p&gt;check out this uber architecture and try to map the contents so far.. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2F1fykyq3mdn5r21tpna3wkdyi-wpengine.netdna-ssl.com%2Fwp-content%2Fuploads%2F2020%2F12%2Fpasted-image-0-14-768x417.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2F1fykyq3mdn5r21tpna3wkdyi-wpengine.netdna-ssl.com%2Fwp-content%2Fuploads%2F2020%2F12%2Fpasted-image-0-14-768x417.png" alt="Alt text of image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Uber has one of the largest deployments of Apache Kafka in the world.&lt;/p&gt;

&lt;h2&gt; Technical details &lt;/h2&gt; 

&lt;h3&gt; Topics &lt;/h3&gt;

&lt;p&gt;Events are organized and durably stored in topics. &lt;br&gt;
Very simplified, a topic is similar to a folder in a filesystem, and the events are the files in that folder. An example topic name could be "payments". Topics in Kafka are always multi-producer and multi-consumer, it can have n number of producers writing and reading at same time.. &lt;/p&gt;

&lt;p&gt;Topics are partitioned, meaning a topic is spread over a number of "buckets" located on different Kafka brokers.&lt;/p&gt;

&lt;p&gt;And then there are many API's&lt;/p&gt;

&lt;p&gt;The Admin API to manage and inspect topics, brokers, and other Kafka objects.&lt;br&gt;
The Producer API to publish (write) a stream of events to one or more Kafka topics.&lt;br&gt;
The Consumer API to subscribe to (read) one or more topics and to process the stream of events produced to them.&lt;br&gt;
The Kafka Streams API to implement stream processing applications and microservices. It provides higher-level functions to process event streams, including transformations, stateful operations like aggregations and joins, windowing, processing based on event-time, and more. Input is read from one or more topics in order to generate output to one or more topics, effectively transforming the input streams to output streams.&lt;br&gt;
The Kafka Connect API to build and run reusable data import/export connectors that consume (read) or produce (write) streams of events from and to external systems and applications so they can integrate with Kafka. For example, a connector to a relational database like PostgreSQL might capture every change to a set of tables. However, in practice, you typically don't need to implement your own connectors because the Kafka community already provides hundreds of ready-to-use connectors.&lt;/p&gt;

&lt;p&gt;More @ &lt;a href="https://kafka.apache.org/intro" rel="noopener noreferrer"&gt;https://kafka.apache.org/intro&lt;/a&gt;  &lt;/p&gt;

</description>
      <category>kafka</category>
      <category>architecture</category>
      <category>beginners</category>
      <category>cloud</category>
    </item>
    <item>
      <title>what is "whatis"</title>
      <dc:creator>Vivek Siva</dc:creator>
      <pubDate>Thu, 05 Nov 2020 15:52:16 +0000</pubDate>
      <link>https://dev.to/viv/what-is-whatis-33i</link>
      <guid>https://dev.to/viv/what-is-whatis-33i</guid>
      <description>&lt;p&gt;Ever wondered whether there is a quick tool in Linux / UNIX to tell what other commands are for?&lt;/p&gt;

&lt;p&gt;enter whatis&lt;/p&gt;

&lt;p&gt;just go to shell and use whatis with whatever command you think of&lt;br&gt;
ex:&lt;br&gt;
whatis ls&lt;br&gt;
ls (1) — list directory contents&lt;/p&gt;

&lt;p&gt;whatis w&lt;br&gt;
w (1) — Show who is logged on and what they are doing&lt;/p&gt;

&lt;p&gt;whatis whatis&lt;br&gt;
whatis (1) — search the whatis database for complete words&lt;/p&gt;

</description>
      <category>linux</category>
      <category>shell</category>
      <category>tutorial</category>
      <category>codenewbie</category>
    </item>
  </channel>
</rss>
