Skip to main content

Posts

Showing posts with the label Software Architecture

Microservices Architecture, A developer's Prespective

Microservices architecture addresses many concern of application development but does not solve all the problems. It has its own advantages and limitations. In order to understand it fully, we need to understand one common architecture pattern in practice, i.e. Monolithic Architecture Monolithic architecture are highly tightly coupled and you can’t change something without impacting other. Look at this building and tell me how easy it is to change Let’s take an example of an e-commerce website that has many components and services i.e. Order service Invoice service Payment services will talk to various payment gateways. User Administration services. Graphical user interface for web, WAP and for various mobile platform like android, iOS, blackberry etc. Database services, possibly more than one database will be involved. Now let’s see what are some common problems associated with it Ever Growing Container size Generally all these components are packaged in one ...

Apple Siri's Architecture

Apple siri has evolved many times and each and every time it has managed to bounce back with solid capabilities, sky is the limit and we can only expect some or other kind of improvement in the architecture as the technology evolves. These guys have not given an inch to rivals. Apple Siri backend runs thousands of services and they are running on equal number of nodes. Siri’s Application data resides in HDFS (Hadoop distributed file system) cluster . Apple have created a proprietary PaaS-like scheduler framework named J.A.R.V.I.S. , which allows developers to deploy Siri services in a scalable and highly available manner. Apache Mesos is the one that Apple Siri is leveraging for backend cluster management, it serves the CPU, Memory and computing resources abstraction very well, to prove the capability, following is the data published by Apache Mesos Apache Mesos Features Scalability to 10,000s of nodes Fault-tolerant replicated master and slaves using ZooKeeper Support for...