Skip to content

Commit f769338

Browse files
committed
update manually drawn pictures
1 parent 4951066 commit f769338

File tree

3 files changed

+84
-59
lines changed

3 files changed

+84
-59
lines changed

blogs/img/lambda.jpg

1.71 MB
Loading

blogs/img/reactive_design.png

36.6 KB
Loading

blogs/machine_learning.html

Lines changed: 84 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<div class="w3-grayscale w3-large">
5252
<!-- About Container -->
5353
<div class="w3-container" id="about">
54-
<p class="w3-content" style="max-width:800px">
54+
<p class="w3-content" style="max-width:700px">
5555
<h5 class="w3-center w3-padding-64"><span class="w3-tag w3-wide">ARCHITECTURE OF MACHINE LEARNING PIPELINE</span></h5>
5656
<p>Writing a working machine learning code does not guarantee a production ready system. This blog is about designing a machine learning prototype through the engineering road map. What you need is a team of professional Software Engineers by your side to take your (disposable) proof of concept and turn it into a performant, reliable, loosely coupled and scalable system!</p>
5757
<p>Given below is the roster of objectives that we need to build a production ready system:
@@ -66,82 +66,107 @@ <h5 class="w3-center w3-padding-64"><span class="w3-tag w3-wide">ARCHITECTURE OF
6666
</ul>
6767
</p>
6868
<p>I will start-off by writing some of the most commonly used design architectures:
69-
<ul>
69+
<ol>
7070
<li>
7171
<b>Reactive Style:</b>
72-
<p>Properties of a reactive system: <br>
72+
Properties of a reactive system: <br>
7373
<ul>
7474
<li><i>Responsive:</i> A responsive system provides rapid and consistent response times, establishing reliable upper bounds so they deliver reliable quality product.</li>
7575
<li><i>Resilient:</i> The system stays responsive in case of failure. Resilience is achieved by replication, containment, isolation and delegation. Failures are contained within each component, isolating components from each other and thereby ensuring that parts of the system can fail and recover without compromising the system as a whole. Recovery of each component is delegated to another (external) component and high-availability is ensured by replication where necessary. The client of a component is not burdened with handling its failures.</li>
7676
<li><i>Elastic:</i> The system stays responsive under varying workload. </li>
7777
<li><i>Message Driven:</i> Reactive Systems rely on asynchronous message-passing to establish a boundary between components that ensures loose coupling, isolation and location transparency. This boundary also provides the means to delegate failures as messages. Employing explicit message-passing enables load management, elasticity, and flow control by shaping and monitoring the message queues in the system and applying back-pressure when necessary. Location transparent messaging as a means of communication makes it possible for the management of failure to work with the same constructs and semantics across a cluster or within a single host. Non-blocking communication allows recipients to only consume resources while active, leading to less system overhead.</li>
7878
</ul>
79-
</p>
79+
<center><img src="./img/reactive_design.png" style="width:400%;max-width:400px"></center>
8080
</li>
81+
<br>
8182
<li>
8283
<b>Service Oriented Architecture (SOA):</b>
83-
<p>SOA centres around the concept of decomposing business problems into services. The services share information via the network and they also share code (i.e. common components) to maintain consistency and reduce development effort. <br>
84+
SOA centres around the concept of decomposing business problems into services. The services share information via the network and they also share code (i.e. common components) to maintain consistency and reduce development effort. <br>
8485
</li>
86+
<br>
8587
<li>
86-
<b>Streaming Architecture: </b>
88+
<b>Streaming Architecture:</b>
89+
<ul>A streaming architecture comprises of the following components:
90+
<li><b>Producers:</b> Applications that generate and send messages</li>
91+
<li><b>Consumers:</b> Applications that subscribe to and consume messages</li>
92+
<li><b>Topics:</b> Streams of records belonging to a particular category and stored as a sequence of ordered and immutable records partitioned and replicated across a distributed cluster</li>
93+
<li><b>Stream Processors:</b> Applications that process messages in a certain manner (e.g. data transformations, ML models, etc).</li>
94+
</ul>
8795
</li>
88-
</ul>
89-
</p>
90-
<div class="w3-panel w3-leftbar w3-light-grey">
91-
<p><i>"Use products from nature for what it's worth - but never too early, nor too late." Fresh is the new sweet.</i></p>
92-
<p>Chef, Coffeeist and Owner: Liam Brown</p>
93-
</div>
94-
<img src="/img/ml.jpg" style="width:100%;max-width:1000px" class="w3-margin-top">
95-
<p><strong>Opening hours:</strong> everyday from 6am to 5pm.</p>
96-
<p><strong>Address:</strong> 15 Adr street, 5015, NY</p>
97-
</div>
98-
</div>
99-
<!-- Menu Container -->
100-
<div class="w3-container" id="menu">
101-
<div class="w3-content" style="max-width:700px">
102-
<h5 class="w3-center w3-padding-48"><span class="w3-tag w3-wide">FLASH CARDS</span></h5>
103-
<div class="w3-row w3-center w3-card w3-padding">
104-
<a href="javascript:void(0)" onclick="openMenu(event, 'Eat');" id="myLink">
105-
<div class="w3-col s6 tablink">Questions</div>
106-
</a>
107-
<a href="javascript:void(0)" onclick="openMenu(event, 'Drinks');">
108-
<div class="w3-col s6 tablink">Answers</div>
109-
</a>
110-
</div>
111-
<div id="Eat" class="w3-container menu w3-padding-48 w3-card">
112-
<h5>Bread Basket</h5>
113-
<p class="w3-text-grey">Assortment of fresh baked fruit breads and muffins 5.50</p>
114-
<br>
115-
<h5>Honey Almond Granola with Fruits</h5>
116-
<p class="w3-text-grey">Natural cereal of honey toasted oats, raisins, almonds and dates 7.00</p>
117-
<br>
118-
<h5>Belgian Waffle</h5>
119-
<p class="w3-text-grey">Vanilla flavored batter with malted flour 7.50</p>
120-
<br>
121-
<h5>Scrambled eggs</h5>
122-
<p class="w3-text-grey">Scrambled eggs, roasted red pepper and garlic, with green onions 7.50</p>
12396
<br>
124-
<h5>Blueberry Pancakes</h5>
125-
<p class="w3-text-grey">With syrup, butter and lots of berries 8.50</p>
126-
</div>
127-
<div id="Drinks" class="w3-container menu w3-padding-48 w3-card">
128-
<h5>Coffee</h5>
129-
<p class="w3-text-grey">Regular coffee 2.50</p>
130-
<br>
131-
<h5>Chocolato</h5>
132-
<p class="w3-text-grey">Chocolate espresso with milk 4.50</p>
133-
<br>
134-
<h5>Corretto</h5>
135-
<p class="w3-text-grey">Whiskey and coffee 5.00</p>
136-
<br>
137-
<h5>Iced tea</h5>
138-
<p class="w3-text-grey">Hot tea, except not hot 3.00</p>
97+
<li>
98+
<b>Lambda Architecture:</b>
99+
The Lambda (λ) Architecture is designed to handle both real-time and historically aggregated batched data in an integrated fashion. It separates the duties of real-time and batch processing while query layers present a unified view of all of the data. The concept is simple: When data is generated, it is processed before stored, so analysis can include data generated in the last second, the last minute, or the last hour by only processing the incoming data — not all the data.
100+
This is by far the most commonly used architecture
101+
<center><img src="./img/lambda.jpg" style="width:400%;max-width:400px"></center>
102+
</li>
139103
<br>
140-
<h5>Soda</h5>
141-
<p class="w3-text-grey">Coke, Sprite, Fanta, etc. 2.50</p>
142-
</div>
104+
<li>
105+
<b>Microservice Architecture:</b>
106+
Microservices, is an architectural style that structures an application as a collection of small, autonomous, loosely coupled and collaborating services, modelled around a business domain. The services communicate using either synchronous protocols such as HTTP/REST or asynchronous protocols such as AMQP. They can be developed and deployed independently of one another. Each service has its own database in order to be decoupled from other services.
107+
</li>
108+
<br>
109+
<li>
110+
<b>Representational State Transfer (REST) Architecture:</b>
111+
REST is an architectural style for developing web services and it builds upon existing features of the internet’s HTTP. It allows transferring, accessing and manipulating textual data representations, in a stateless manner i.e. applications can communicate agnostically. A RESTful API service is exposed through a Uniform Resource Locator (URL), which provides the capability of data being created, requested, updated, or deleted (CRUD). It is best used to manage systems by decoupling the information that is produced and consumed from the technologies that produce and consume it!
112+
</li>
113+
</ol>
114+
</p>
115+
<!-- <div class="w3-panel w3-leftbar w3-light-grey">-->
116+
<!-- <p><i>"Use products from nature for what it's worth - but never too early, nor too late." Fresh is the new sweet.</i></p>-->
117+
<!-- <p>Chef, Coffeeist and Owner: Liam Brown</p>-->
118+
<!-- </div>-->
119+
<!-- <img src="/img/ml.jpg" style="width:100%;max-width:1000px" class="w3-margin-top">-->
120+
<!-- <p><strong>Opening hours:</strong> everyday from 6am to 5pm.</p>-->
121+
<!-- <p><strong>Address:</strong> 15 Adr street, 5015, NY</p>-->
143122
</div>
144123
</div>
124+
<!-- &lt;!&ndash; Menu Container &ndash;&gt;-->
125+
<!-- <div class="w3-container" id="menu">-->
126+
<!-- <div class="w3-content" style="max-width:700px">-->
127+
<!-- <h5 class="w3-center w3-padding-48"><span class="w3-tag w3-wide">FLASH CARDS</span></h5>-->
128+
<!-- <div class="w3-row w3-center w3-card w3-padding">-->
129+
<!-- <a href="javascript:void(0)" onclick="openMenu(event, 'Eat');" id="myLink">-->
130+
<!-- <div class="w3-col s6 tablink">Questions</div>-->
131+
<!-- </a>-->
132+
<!-- <a href="javascript:void(0)" onclick="openMenu(event, 'Drinks');">-->
133+
<!-- <div class="w3-col s6 tablink">Answers</div>-->
134+
<!-- </a>-->
135+
<!-- </div>-->
136+
<!-- <div id="Eat" class="w3-container menu w3-padding-48 w3-card">-->
137+
<!-- <h5>Bread Basket</h5>-->
138+
<!-- <p class="w3-text-grey">Assortment of fresh baked fruit breads and muffins 5.50</p>-->
139+
<!-- <br>-->
140+
<!-- <h5>Honey Almond Granola with Fruits</h5>-->
141+
<!-- <p class="w3-text-grey">Natural cereal of honey toasted oats, raisins, almonds and dates 7.00</p>-->
142+
<!-- <br>-->
143+
<!-- <h5>Belgian Waffle</h5>-->
144+
<!-- <p class="w3-text-grey">Vanilla flavored batter with malted flour 7.50</p>-->
145+
<!-- <br>-->
146+
<!-- <h5>Scrambled eggs</h5>-->
147+
<!-- <p class="w3-text-grey">Scrambled eggs, roasted red pepper and garlic, with green onions 7.50</p>-->
148+
<!-- <br>-->
149+
<!-- <h5>Blueberry Pancakes</h5>-->
150+
<!-- <p class="w3-text-grey">With syrup, butter and lots of berries 8.50</p>-->
151+
<!-- </div>-->
152+
<!-- <div id="Drinks" class="w3-container menu w3-padding-48 w3-card">-->
153+
<!-- <h5>Coffee</h5>-->
154+
<!-- <p class="w3-text-grey">Regular coffee 2.50</p>-->
155+
<!-- <br>-->
156+
<!-- <h5>Chocolato</h5>-->
157+
<!-- <p class="w3-text-grey">Chocolate espresso with milk 4.50</p>-->
158+
<!-- <br>-->
159+
<!-- <h5>Corretto</h5>-->
160+
<!-- <p class="w3-text-grey">Whiskey and coffee 5.00</p>-->
161+
<!-- <br>-->
162+
<!-- <h5>Iced tea</h5>-->
163+
<!-- <p class="w3-text-grey">Hot tea, except not hot 3.00</p>-->
164+
<!-- <br>-->
165+
<!-- <h5>Soda</h5>-->
166+
<!-- <p class="w3-text-grey">Coke, Sprite, Fanta, etc. 2.50</p>-->
167+
<!-- </div>-->
168+
<!-- </div>-->
169+
<!-- </div>-->
145170
<!-- End page content -->
146171
</div>
147172
<!-- Footer -->

0 commit comments

Comments
 (0)