Distributed System?

A system whose components(hardward or software) are located on different networked computers, but appears to its users as a 1 system giving 1 system view ie end users does not notice that he is dealing with processes, data and control are dispersed across the nodes.
All transactions in distributed systems Follow ACID properties.

Types of Distributed Systems

1. High Performance Distributed Computing

2. Cluster Computing

Simple computers connected on high-speed network, does parallel processing of task. Eg: Hadoop.

3. Grid Computing

Nodes can be anything. Databases, High end machines(super computers), normal processor, sensors, telescopes etc.

4. Edge Computing

Computing done near to the data source. How does this help? If computation is done near data source it will be faster and has low latency.

5. HPC(High Performance Computing)

Process data and perform complex calculations at high speeds. HPC systems can perform quadrillions of calculations/sec. Eg: supercomputer. HPC has 3 main components: Compute, Network, Storage

6. Cloud Computing

Customer upload tasks to a data center and charged on a per-resource basis.
Advantages of cloud computing wrt onprem
1. Trade upfront expense for variable expense: if you are setting up an Datacenter, upfront expenses include physical servers & other resources. With AWS no need to purchase Datacenter Hardware, Pay for on demand/usage. No upfront payment
2. Stop spending money to run & maintain data centers: Donot spend time on datacenter's research(if you are not datacenter company). Focus on your application, make application better than your competitors. Delight your customer with new innovations.
3. Stop guessing capacity: if we are building our own datacenter we need to guess how much would be the cost(Eg: for 10M users for 3 years) & purchased HW accordingly. Overestimation: And then turns out we have only 1M users. Underestimation: if we got 100M users, we need to scale our infra it may take 2-3 months(loss of business). At AWS we don’t need to predict users, autoscale up/down. Amazon EC2 instances will spun up/down within 5 min as users increases.
4. Benefit from massive economies of scale: Lower pay-as-you-go prices. AWS is building Huge datacenters around the globe and buys hardware at cheaper costs. AWS is expert in setting datacenters for max productivity & least cost. While if we setup our own datacenter we might buy H/W at higher prices & setup might not be correct costing high.
5. Increase speed and agility: Suppose a new multithreaded code developer wrote and he wants to test it High-end intel Xeon processor need to be purchased might take 2-3 months(if code is not good) whole cost is wasted. With AWS, Get high end EC2 instance in few clicks check your code and delete instance.
6. Go global in minutes: Suppose you have your datacenters in US, now got new customer base in Germany. You need to setup DC in germany or customers see high latency. If you setup datacenter at your own it can take months to years but with AWS it takes minutes.

Types of cloud computing

Type what Examples
SaaS(Software as Service) for CUSTOMERS Host S/W on cloud VM. SaaS is accessed using a thin client or by browser. All services on cloud Gmail, Salesforce, Office 365
PaaS(Platform as Service) for DEVELOPERS Provide Dashboard. upload button is provided you can upload your website. Write your code, Cloud provider will take care of it GAE(Google App engine), Heroku, AWS(Elastic Bean stawk)
iPaaS
(Integration Platform as a Service)
cloud-based software model that allows businesses to connect disparate applications, databases, and services together without writing custom code for every single application
Why Enterprises Need It?
  With the explosion of SaaS (Software as a Service) applications, companies often struggle with fragmented, siloed data.
  Traditional integration methods—like building custom point-to-point code are expensive, hard to scale, and difficult to maintain data, build automated workflows

How it Works?
  • iPaaS platforms provide ready-made connectors/APIs for popular apps (like Salesforce, Workday, or SAP) to link to systems
  • Most platforms offer visual, drag-and-drop tools to map out how data should flow between systems(which configures APIs underhood)
  • Single dashboard for IT teams to monitor, manage, and secure all integrations
1. Mulesoft Anypoint Platform(Owned by Salesforce): focuses on heavy API connectivity and complex enterprise integrations
2. Boomi(by Dell)
3. Informatica Intelligent Data Management Cloud( Informatica IDMC )
4. Zapier
5. Make: offers a highly visual, drag-and-drop canvas for designing multi-step, logic-heavy workflows
6. AWS AppFabric: connects multiple SaaS applications
7. Google Cloud Integration Connectors:
8. Microsoft Azure Integration Services

9. Jitterbit:
- This is fully-fledged, enterprise-grade iPaaS operates at unified platform (called Jitterbit Harmony)
- Provides low code integrations, API management
Advantages of AWS Appfabric, Microsoft, Google Solutions: Jitterbit is an all-in-one, while others are locked in their enviornments.

Competetors to Jitterbit
- MuleSoft (Anypoint Platform): More connectors, more expensive
- Boomi: Has larger market share and a massive crowdsourced data-mapping intelligence network called Boomi Suggest.

Where Jitterbit Lags (Product Limitations)?
- Documentation: Wrt Mulesoft, Bhoomi, Jitterbit has less documentation or overly theoretical for highly niche, custom edge cases.
- Steep Learning Curve: fully mastering its scripting variables and advanced JavaScript need steep learning.
IaaS
(Infrastructure as Service) for ADMINS, Developers
Provide VM. Cloud provider will give access to OS of server/VM, user can install/remove/do anything on Server. Highest control EC2, Azure VMs
CaaS(Container as a Service) Creating kubernets clusters. GKE(Google Kubernets Engine)
FaaS(Function as a Service) OR Cloud Functions Writing application for IoT, mobile backends