Category Archives: Application Architecture

API Led Connectivity

Here is a well-known fact: Technology has become a part of every aspect of our lives. We are all connected in some way. We live in a highly connected world. Every day we create humongous amount of data, as individuals, businesses or machines. And we do so with the help of numerous devices and applications. As consumers, we keep interacting with new technologies that change the way we live. We want the systems to be powerful and want them to work together seamlessly. We expect the organizations to deliver these functionalities faster than ever. To meet this, organizations are presented with several specialized tools to meet the customer expectations.

Point-to-Point Integration

Karan-1

Continue reading

Posted in Application Architecture, Application Security, salesforce connectors. Tagged with , , .

Software as a Service (SaaS) takes root as Multi-Billion Dollar industry

According to SaaS Mag, with increased adoption specially of Salesforce, Software as a Service industry, is on a rise and is expected to be more than $130 billion industry by 2020. SaaS is referred to as a software distribution model in which a service provider hosts the application and makes it available for the customers over the internet. There are three main categories of cloud computing:

  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)

SaaS is similar to ASP (Application Service Provider) and on demand computing software delivery models.  The SaaS model where the provider hosts the client’s software and delivers it over the internet to an approved set of users is like ASP. The on-demand software model of SaaS refers when the provider gives clients network-based access to software. The source code of the application is same, and it is specifically created for SaaS distribution. When the new functionalities are to be rolled out, it is done for all users. Data storage again depends upon the type of agreement the provider has with the customers. Customers can opt data storage locally, in the cloud or both locally and in the cloud. Organizations can also integrate other software with SaaS applications using APIs.

Continue reading

Posted in Application Architecture, Application Security.

Recurrent Neural Network with Long Short-Term Memory

What is a Neuron?

In Biological term, Neurons is the unit of nervous system which is responsible for flow of message in the form of electrical impulse in Human brain. So, Neuron is responsible for Human intelligence. But, in Today’s scenario it is used in Artificial Intelligence as well. Recurrent Neural Network (RNN) is a class of Artificial neural network in which connections between the neurons form a directed graph, or in simpler words, having a self-loop in the hidden layers. This helps RNNs to utilize the previous state of the hidden neurons to learn current state. Along with the current input, RNNs utilize the information they have learnt previously. Among all the neural networks, they are the only one with an internal memory. A usual RNN has a short-term memory. Because of their internal memory, RNN are able to remember things.

Pawan1

Continue reading

Posted in Application Architecture, Salesforce AI, salesforce development, Salesforce Einstein, Salesforce Einstein, salesforce for healthcare, Salesforce Machine Learning. Tagged with , , , , .

Amazon Simple Queue Service: Overview

With modern cloud architecture applications are now decoupled into smaller, independent building blocks that are easier to develop, deploy and maintain, but the applications should also deal with connecting system components for the seamless flow of information among these components.

MeghaP1

The message queue is a powerful way of combining application components. Message queue not only simplifies coding of decoupled applications, it also improves performance, reliability and scalability.

Message queues allow different parts of a system to communicate (send and receive messages) and process operations asynchronously by providing a lightweight buffer to store messages, and endpoints temporarily. A message is sent to the queue by a component called a producer and it is stored in the queue until another component called a consumer retrieves the message and processes it.

MeghaP2

This messaging pattern is often called one-to-one, or point-to-point, communications because many producers and consumers can use the queue, but each message is processed only once, by a single consumer.

What is Amazon SQS?

Amazon Simple Queue Service (SQS) is a secure, durable, fully managed and available hosted queue that offers to integrate and decouple distributed software systems and components by allowing transmitting data between distributed application components. SQS eliminates the complexity and burden associated with managing and operating message-oriented middleware and empowers developers to focus on differentiating work. Using SQS, messages can be sent, stored, and received between software components at any volume, without losing messages or requiring other services to be available.

Use cases-Application integration, Allocation of tasks to multiple worker nodes, Decouple live user requests from intensive background work, Decoupling microservices, Batch messages for future processing

An Amazon SQS message has three basic states:

  1. Sent to a queue by a producer
  2. Received from the queue by a consumer and
  3. Deleted from the queue.

Between state 1 and state 2, message is stored in queue and available for use while in between in state 2 and state 3, message is in flight and not available for use for the other consumers.

When a consumer receives and processes a message from a queue, Amazon SQS doesn’t delete the message automatically because SQS is a part of a distributed system, there’s no guarantee that the consumer receives the message (for example, due to a connectivity issue, or due to an issue in the consumer application). This need to be done by the event handler function at the consumer’s side after receiving and processing message. If the message is not deleted during the defined period (called visibility timeout), the message becomes again visible for the other consumers

Benefits of Amazon SQS

  • Administrative overhead– It eliminates administrative overhead and AWS SQS will manage all the operations that are currently underway and infrastructure which is required to scale and run message queuing. There is no requirement to install and configure messaging software as well as maintenance of infrastructure.
  • Security-Amazon SQS can be used to exchange sensitive data between applications using server-side secret writing (SSE) that offers to transmit sensitive data by protecting the contents of messages in queues using keys managed in AWS Key Management Service (AWS KMS). It also allows to control who can send messages to and receive messages from an Amazon SQS queue.
  • Durability– To ensure the safety of your messages, Amazon SQS stores them on multiple servers though only for a limited. (Max.- 14 days)
  • Availability– Amazon SQS stores data on different servers and uses redundant infrastructure to provide highly-concurrent access to messages.
  • Scalability– Amazon SQS allows to dynamically increase read throughput by scaling the number of tasks reading from a queue and requires no pre-provisioning or scale-out of AWS resources.  It easily scales to handle a large volume of messages, without user intervention. SQS buffers requests to transparently handle increase in load.
  • Reliability – It locks your messages during processing so that a message is consumed only once by a single consumer. It also enables multiple producers can send and multiple consumers can receive messages at the same time.
  • Customization – Amazon SQS allows customization in multiple ways, from modifying the queue attributes to integrate with other AWS services in an order to build scalable and more flexible applications. It is compatible with other Amazon Web Services, including Amazon Relational Database Service, Amazon Elastic Compute Cloud and Amazon Simple Storage Service.

 

Amazon SQS queues

Amazon SQS offers following two types of queues:

1. Standard Queue

  • Availability in regions-All regions.
  • Unlimited Throughput–Supports a nearly unlimited number of transactions per second (TPS) per action.
  • At-Least-Once Delivery– It guarantees a message to be delivered at least once. SQS stores copies of messages on multiple servers for high availability and redundancy. On rare occasions, the copy of the message isn’t deleted on any of the servers might be due to unavailability of that server during deletion. This may result in the message delivered more than once.
  • Use Case– It can be used in any scenarios, as long as the application can handle messages which might be out of order or duplicate
  • Best-Effort Ordering– A standard queue makes a best effort to preserve the order of messages, but occasionally, messages might be delivered in an order different from which they were sent

MeghaP3

2. FIFO Queue

  • Availability in regions– US East (Ohio), Asia Pacific (Tokyo), US East (N. Virginia), US West (N. California), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Mumbai), Canada (Central), US West (Oregon), EU (Frankfurt), EU (Ireland), EU (London), EU (Paris), and South America (São Paulo) regions.
  • The name must end with the .fifo
  • High Throughput–FIFO queues support up to 3,000 messages per second with batching. FIFO queues support up to 300 messages per second, per action (SendMessage, ReceiveMessage, or DeleteMessage) without batching.
  • Exactly-Once Processing– A message is delivered once and remains available until a consumer process and deletes it. Duplicates aren’t introduced into the queue.
  • Use Case-Designed to enhance messaging between applications when the order of operations and events is critical, or where duplicates can’t be permitted.
  • First-In-First-Out Delivery– The order of the messages in which messages are sent and received is maintained.

MeghaP4

 

Conclusion

Message queue plays an important role in distributed system to for the communication and coordination among components. As you saw Amazon provide one such service called Amazon SQS which is intended to provide a highly scalable hosted message queue. Apart from benefits it provides like scalability, security, etc, it also provides two types of queue well-suited for different use cases.

Posted in Amazon SQS, Amazon Web Services (AWS), Application Architecture, Message Queue. Tagged with , , , .