SlideShare a Scribd company logo
1 of 28
ARCHITECTING EXTREMELY
LARGE SCALE WEB
APPLICATIONS
A MUST read for every architect
[ #Prashanth B Panduranga ]
An overview of the much needed
vicissitude in the architectural
thought transformation from
monolithic to microservices
architecture
New York times auto scaled to 500,000 users
HipChat has about 1.2 billion messages/documents stored
Sales force deals with 1,300,000,000 daily transactions with over 24,000 database
transactions per second and over 22PB of raw SAN storage capacity
CinchCast has over 50 million page views a month
Pinterest has over 18 million visitors with a 10X growth rate
Amazon has over 55 million active customer accounts
Flickr has over 4 billion queries per day
Netflix has 48 million members with over 50,000 requests per second and the list goes
on. .
Thanks to HighScalability, where the above statistics are derived from, you get a
picture of the websites and the scale that I am referring to
I have elaborated on SAAS requirements and general architectural requirements in my previous blog.
https://prashanthpanduranga.wordpress.com/2015/03/25/inevitability-of-multi-tenancy-saas-in-product-
engineering/
The requirements which apply the most to large scale web applications:
Performance: There are lot of statistics published relating to performance implications of web applications. One
such statistic, Users abandon website even if there is a 2 second delay during a transaction. Large scale web
applications obviously have very high performance requirements. A very large percentage of applications gets
redesigned primarily for a better user experience. Average Page Load Time as a fraction of Server and client time,
Network time, Page views, Bounce Rate, Percentage Exit, Average Redirection Time, Average Domain Lookup Time,
Average Server Connection Time, Average Server Response Time, Average Page Download Time, Average content
load time, Average session time, DNS resolution time, TCP connection time, Time to first byte, Full page object load
time, Requests per second, error rates, Peak response time, Uptime, CPU utilization, Memory Utilization are just a
few metrics to look for
Availability:
Business continuity is of utmost importance. Various availability techniques can be applied on every layer.
AlwaysOn Failover Cluster Instances, AlwaysOn Availability Groups, Database mirroring, Log shipping,
Redundancy models - Active-Active, Active-Passive, Redundancy Methods - Hot Standby, Warm Standby, Cold
Standby, and the measurement of the same expressed as mean time to failure, mean time to repair, Eliminating
single points of failure, Accelerating fault detection, isolation and resolution, hot spares, warm spares, cold
spares, clustering, RAID, redundancy, Heart beats, watermarking resources, check pointing, Watch dogs and
more
Monitoring and Diagnostics:
26 front end proxy serves. Double that in backend app servers [Atlassian HipChat]
15,000+ hardware systems – [Salesforce]
100 hardware nodes in production – [CinchCast]
180 Web Engines + 240 API Engines, 88 MySQL DBs (cc2.8xlarge) + 1 slave each, 110 Redis Instances, 200
Memcache Instances, 4 Redis Task Manager + 80 Task Processors, Sharded Solr – [Pinterest]
1000+ supported devices – [Netflix]
Imagine maintaining those, when there are innumerable servers involved, failure of system components is
common, needless to say, to take appropriate timely actions monitoring and diagnostics plays a very important
role.
Scalability:
Capability of supporting and optimizing resource utilization on increasing workloads on various dimensions such
as memory, cores, data structures, throughout and more. Goes without doubt that the application need to scale,
in order for the application to perform well, and without automating it, the application cannot stay inexpensive.
Automation:
Identifying failures and automating re-provisioning of those components/servers is extremely important
Architecture has significantly emerged from a monolithic architecture to microservices architecture
APPLICATION
DATA
PRESENTATION
SERVICE/BUSINESS LOGIC
DATA
PRESENTATION
SERVICE/BUSINESS LOGIC
DATA
SECURITY
ANALYTICS
MONITORING&DIAGNOSTICS
STORAGE
EVENTS
NOTIFICATION
VIRTUALIZATION
NETWORKCOMPUTE
HARDWARE LAYER
CLOUD
CLOUD ADAPTER
AUTOMATION/BATCH
INTEGRATION
PROCESSING ENGINE
CACHE
MANAGEMENT
AD-HOCLAYER
AUDITING
CONFIGURATION
DISTRIBUTED PROCESSING
INGESTION
DATA MANAGEMENT DATA RULES META DATA DATA QUALITY
CLICKSTREAM DATA
SOURCES
CHAT
SENSOR
SOCIAL
LOGS
CRM
ERP
APPLICATION
DATA
CHANNELS
EDW
METADATA MANAGEMENT MULTI TENANT PROCESSING PARALLEL COMPUTE
PARALLEL OPERATIONS COMPLEX EVENT PROCESSING GOVERNANCE
WORKFLOW
REPORTING
STREAM PROCESSING
IN-MEMORY PROCESSING
MESSAGE TRANSPORTSMESSAGE QUEUESMESSAGE BROKERS
INTEGRATION FRAMEWORKS
ENTERPRISE SERVICE BUS
INTEGRATION SUITES
OPERATING SYSTEM
Tools/software Usage/Description TOP few similar tools/software to consider Comments
RabbitMQ Message broker
system
Message oriented
middleware
Queuing software
ESB
ActiveMQ, Amazon SQS, HornetQ, HiveMQ,
JMS, Kafka, ZeroMQ, MSMQ, NServiceBus, Azure
Service Bus, OpenMQ, Redis, Storm, Akka,
Apache Camel and Spring, OFM, Fuse ESB,
WebsphereMQ, Windows Service Bus, BizTalk,
WSO2, Mule, Talend ESB, Gearman, JBoss,
ServiceMix, OpenESB, Apache QPID
Look out for AMQP
compliance
Some of the tools
referred aren’t
Message brokers but
are used in
conjunction to perform
the same
Other AMQP
PIKA
Shovel
Kinesis Real time data
processing
Kafka, Storm
Tornado Web Server
HTTP Server
Nginx, Apache, IIS, lighttpd, haproxy, varnish,
glassfish, Jetty, Geronimo, Tomcat,
Some are even used
as reverse proxy,
proxies,
Cassandra Distributed database
management system
Mongodb, aerospike, accumulo, azure table storage,
bigtable, couchbase, couchdb, dynamodb, datastax,
ElasticSearch, Greenplum, Vertica, HBase, InfiniDb,
InnoDB, MariaDB, neo4j, Netezza, TeraData, RedShift,
Riak, RavenDB, Solr, Spark, VoltDB,
With over 200 dbs, it’s
difficult to list all: Checkout
the below link
https://prashanthpanduran
ga.wordpress.com/2013/12
/23/why-nosql-ok-but-why-
so-many/
Some of them are
dataware housing
Solutions, While some are
data processing engines
Hana In-Memory database GemFire, Hekaton, Aerospike, BigMemory, DataBlitz,
EhCache, eXtremeDB, FuelDB, HazelCast, MonetDB,
Coherence, VoltDB
Any Key value store can be
used for the same, some of
the enterprises have
experimented using NoSQL
store used as a cache and
unstructured db solution
Linux Operating System SUSE, FreeBSD, Solaris, Debian/Ubuntu, Windows Server,
Mac OS X, RHEL
Only Server OS included in
the list
SockJS Web Socket like
object
Web socket, socket.io, atmosphere, SignalR,
Alchemy, Fleck
Couple of them listed
are open source
Libev Event Loop LibEvent, Asio, Nginx, epoll
Fabrik Visual programming
IDE
Also known for
Content construction
Kits (CCK)
IDE: Visual Studio, Eclipse, NetBeans, Aptana
CCKS: Seblod, K2, chronoform, Zoo,
Breezingforms, Cobalt, FlexiContent
Java Programming
language
C, C++, Python, C#, PHP, Javascript, Ruby, R,
Matlab, Objective-C, Visual Basic, Perl, Swift,
Scala, Shell, GO, LISP, SAS, F#, Groovy, Lua
Some of them listed
are web programming
languages adiitionals:
HTML, SQL, Haskell
Twisted Event driven network
programming
framework
Tornado, Django, Asyncio,
AWS Cloud provider Azure, Rackspace, CenturyLink, Salesforce,
Engineyard, Google, OpenStack, SAP,
CloudBees, CumuLogic, Eucalyptus, Gigaspaces,
Mulesoft, Parallels, Pivotal, puppet Labs, Ravello,
Rightscale, SoftwareAG, Xively, AT & T, Cisco,
Comcast, EMC, GoGrid, CSC, HP, IBM
smartcloud, Joyent,
The list includes
infrastructure, platform,
storage and security
cloud providers
Lucene Test search Engine
Library
Azure Search, Autonomy, Solr, GSA, Attivio,
DTSearch, elasticSearch, endeca, FAST,
MarkLogic, Nutch, Sphinx, Sketchy, Scumblr
A few NOSQL
databases have been
used for the same, This
list does not include all
the NOSQL databases
that could be used
Adobe Air Cross-platform
runtime
Cordova(Phonegap), Appcelerator, Qt, Sencha,
cocos2d-x, Xamarin, ionic, Kony, mono, xcode
The ones listed here are
cross platform as well as
mobile development
platforms.
Sensu Monitoring
Framework
Zabbix, Nagios, icinga, monit, Riemann, statsd,
graphite, zenoss, collectd, munin, cacti, new
Relic, ganglia, splunk, sentry, dynatrace,
datadog, skylight, zenoss, observium, spiceworks,
solarwinds, fiddler, wireshark, httpwatch, firebug,
soapUI, OpManager
The list includes some of
the: Infrastructure
monitoring
Searching, monitoring
and analysing, Network
monitoring
Scalable distributed
monitoring system
PagerDuty
NeoLoad
Incident
management system
and performance
testing and
monitoring
OpsGenie, VictorOps, xmatters, pingdom,
Gomez, webpagetest, monitis, uptrends,
keynote, OpsView, Apache JMeter, LoadRunner,
WebLOAD, Appvance, NeoLoad, LoadUI, WAPT,
Loadster, LoadImpact, Soasta, Rational
Performance Tester, Testing Anywhere,OpenSTA,
QEngine (ManageEngine), Loadstorm,
CloudTest, Httperf, SilkPerformer, BlazeMeter,
Visual Studio Test Suite,
Also includes web site
monitoring
Cloud based quality
testing
Performance
monitoring
Chef IT Automation Puppet, ansible, salt, docker, Jenkins,
Capistrano, saltstack
Configuration
management, SCCM
memCache Distributed memory
object caching
Apc, memcached, dynacache, ehcache,
xcache,
key value based
NOSQL databases are
also used
Razor Physical and virtual
hardware provisioning
solution
Axemblr, Cobbler, JuJU, SaltCloud, Dell Crowbar,
Ansible, CFEngine, Chef
Perforce Version Management
and Content
collaboration
Git, SVN, TFS, bitbucket, ClearCase, Subversion
Pytheas ITIL assets management
software
Remedy (BMC), Assyst (Axios), FrontRange, EasyVista,
Hornbill, HP Service Manager, SmartCloud Control Desk
(IBM), ServiceNow
IT incident management, IT
problem management, IT
change management, IT
release governance, IT user
self-service, IT request
management, IT
knowledge management,
IT service support analytics
and reporting, IT SLA
management
Ref: Gartner
ZUUL Service that provides
dynamic routing,
monitoring, resiliency
and security
Nginx, lightpd, Netscaler, HAProxy, Radware,
CoyotePoint, Barracuda, Kemp, Varnish, Avast, Norton,
Kaspersky, Mcafee, AVG, Avast, Bitdefender, F5,
PaloAlto, Cisco ASA, Cisco ACE, Foundary, Juniper SSG,
MS TMG
Can be firewall, router, web
load balancing server,
proxy Server etc.
Feign Java http client binder Retrofit, JAX-RS, web socket,
Jersey, CXF, Apache HC
Includes transport libraries
Hive Querying and managing
large datasets residing in
distributed storage
Impala, BigSQL, HAWQ
AWS ELB Elastic Load balancing Nginx, HAProxy, Route53,
Azure Traffic Manager, F5
Port-bound servers, sticky sessions, TCP session
reassignment, automatic unfail, slow start, SynGuard,
dynamic feedback protocol, NAT, maximum
connection, Round Robin, Least Connections,
Weighted Round Robin, Weighted Least Connections,
Fastest Response
Layer 4 and Layer 7 load balancing
Cloud Load balancing features: Dedicated (static) IP
address,SSL termination, Multiple protocols, Advanced
access control, Connection logging, Advanced
algorithmic routing, Session persistence, Connection
throttling, Node management, High availability
Content caching, Persistent connections, Gzip
compression, Regionalized load balancers
gZip Application used for
file compression and
decompression
httpZip,deflate, 7zip, bzip2, zlib
Akamai Content delivery
network
Azure CDN, Cloudfront, Torbit, Incapsula,
Cotendo, Fastly
HTML 5 frameworks
Javascript
Frameworks
https://www.facebook.com/notes/prashanth-panduranga/frameworks/10152107517972934
OpenStack Open Source Cloud
computing platform
OpenStack currently has the following features:
Compute(Nova), Object Storate (Swift), Block
Storage (Cinder), Networking (Neutron),
Dashboard (Horizon), Identity Service (Keystone),
Image Service (Glance), Telemetry (Ceilometer),
Orchestration (Heat), Database (Trove), Bare
Metal Provisioning (Ironic), Multiple tenant cloud
messaging (Zaqar), Elastic Map Reduce
(Sahara)
Hadoop Distributed storage and distributed processing of very large data sets on computer clusters
Aegisthus Bulk Data Pipeline out of Cassandra
Eureka Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS
cloud for locating services for the purpose of load balancing and failover of middle-tier servers
Genie Federated Job Execution Engine
Clojure Dynamic programming language that targets the Java Virtual Machine
PigPen Map-Reduce for Clojure
Governator Governator is a library of extensions and utilities that enhance Google Guice to provide:
classpath scanning and automatic binding, lifecycle management, configuration to field
mapping, field validation and parallelized object warmup
Inviso Visualize Hadoop performance
Ribbon Ribbon is a Inter Process Communication (remote procedure calls) library with built in software
load balancers
Hystrix Hystrix is a latency and fault tolerance library designed to isolate points of access to remote
systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex
distributed systems where failure is inevitable
Suro Distributed data pipeline
Aminator A tool for creating EBS AMIs
Lipstick Pig Visualization framework
Zeno In-Memory Data Propagation Framework
Blesk Lightweight client for pushing notifications to web based applications/sites
Turbine Turbine is a tool for aggregating streams of Server-Sent Event (SSE) JSON data into a
single stream. The targeted use case is metrics streams from instances in an SOA
being aggregated for dashboards
Priam Co-Process for backup/recovery, Token Management, and Centralized
Configuration management for Cassandra
Workflowable Workflowable is a Ruby gem that allows adding flexible workflow functionality to
Ruby on Rails Applications
s3mper S3mper is a library that provides an additional layer of consistency checking on top
of Amazon's S3 index through use of a consistent, secondary index
Astyanax Java Client for Apache Cassandra
Denominator Denominator is a portable Java library for manipulating DNS clouds. Denominator
has pluggable back-ends, including AWS Route53, Neustar Ultra, DynECT, Rackspace
Cloud DNS, OpenStack Designate, and a mock for testing
GCViz Garbage Collector Visualization framework
Curator The Curator Framework is a high-level API that greatly simplifies using ZooKeeper. It
adds many features that build on ZooKeeper and handles the complexity of
managing connections to the ZooKeeper cluster and retrying operations
Staash A language-agnostic as well as storage-agnostic web interface for storing data into
persistent storage systems, the metadata layer abstracts a lot of storage details and
the pattern automation APIs take care of automating common data access patterns
Edda Edda is a Service to track changes in cloud deployments
Brutal An asyc centered chat bot framework for python programmers written using the twisted
framework
CassJMeter JMeter plugin to run cassandra tests
Glisten Groovy library for building JVM applications with Amazon Simple Workflow (SWF)
Pig Platform for analyzing large data sets
Spark Engine for big data processing, with built-in modules for streaming, SQL, machine learning and
graph processing
Karyon Framework and a library for a cloud ready web service. Blueprint for the services. It contains
Bootstrapping, Libraries and Lifecycle Management, Runtime Insights and Diagnostics,
Pluggable Web Resources, Cloud-Ready hooks
EBS Elastic Block store, persistent block level storage volume
Curler A Gearman worker which cURLs to do work
archaius, , Library for configuration management API
ZooKeeper ZooKeeper is a centralized service for maintaining configuration information, naming, providing
distributed synchronization, and providing group services
Parallel processing - Explicit and Implicit parallelism, batch parallelism, asynchronous programming, segregating
layers, distributing workloads, Load balancing, multi- tenancy, scaling out on all layers, sharding, partitioning,
CAP preference, reads, writes, statelessness, logging and telemetry, automating, SOA adoption, caching,
throttling, distributing requests across multiple zones, effective usage of CDNs, Auto provisioning, Auto scaling,
compression, queuing, workload distribution, batch processing, designing system with fault tolerance,
redundancy, Consistency, Availability, Partition Tolerance, event processing, web sockets, cloud computing, fog
computing, Grid Computing, Client side workload distribution, In-Memory processing, Proxies, No single points
of failure. Resilience to failure, Graceful degradation, Recoverability from failure, design for failure, Database
Transactions, Client side transactions, two-phase commit, Auto-commit, Partition Everything, DB operations
ordering, Considerations for Eventual consistency, Functional Segmentation, Application Pools, Prevention of
session state, Async Everywhere, Index, Structured Indexes, text indexes, entity indexes, Fuzzy match indexes,
pre-aggregated indexes, pre-calculated indexes, embedded value indexes, join indexes, link indexes, De-
Normalized Indexes (all kinds) are all important considerations for a highly successful and scalable website.
Rest assured if you have considered all the above factors in your architecture you are on your way to create a
scalable one. Do let me know if you have questions regarding any particular subject and I will be glad to write
up on the same.
Reference
www.HighScalability.com
has some awesome architecture blogs, I have derived the technology stack from multitude of articles
hosted by highscalability and a few from Netflix blogs
PRASHANTH B PANDURANGA
https://prashanthpanduranga.wordpress.com/
Telephone (India): 7259767006, 7760824680
Prashanth.panduranga@gmail.com

More Related Content

What's hot

Introduction to OpenStack Storage
Introduction to OpenStack StorageIntroduction to OpenStack Storage
Introduction to OpenStack StorageNetApp
 
OpenStack Explained: Learn OpenStack architecture and the secret of a success...
OpenStack Explained: Learn OpenStack architecture and the secret of a success...OpenStack Explained: Learn OpenStack architecture and the secret of a success...
OpenStack Explained: Learn OpenStack architecture and the secret of a success...Giuseppe Paterno'
 
Distributed Block-level Storage Management for OpenStack, by Danile lee
Distributed Block-level Storage Management for OpenStack, by Danile leeDistributed Block-level Storage Management for OpenStack, by Danile lee
Distributed Block-level Storage Management for OpenStack, by Danile leeHui Cheng
 
OpenStack Tutorial For Beginners | OpenStack Tutorial | OpenStack Training | ...
OpenStack Tutorial For Beginners | OpenStack Tutorial | OpenStack Training | ...OpenStack Tutorial For Beginners | OpenStack Tutorial | OpenStack Training | ...
OpenStack Tutorial For Beginners | OpenStack Tutorial | OpenStack Training | ...Edureka!
 
OpenStack Architecture: Past and Future
OpenStack Architecture: Past and FutureOpenStack Architecture: Past and Future
OpenStack Architecture: Past and FutureKen Pepple
 
Architecture Openstack for the Enterprise
Architecture Openstack for the EnterpriseArchitecture Openstack for the Enterprise
Architecture Openstack for the EnterpriseKeith Tobin
 
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...Edureka!
 
Openstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2SchoolOpenstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2SchoolAsaf Abres
 
OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpen Stack
 
OpenStack Tutorial
OpenStack TutorialOpenStack Tutorial
OpenStack TutorialBret Piatt
 
Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"CREATE-NET
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack IntroductionJimi Chen
 
Red Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureRed Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureAlex Baretto
 
8 Source Code Cloudstack Developer Day
8 Source Code Cloudstack Developer Day8 Source Code Cloudstack Developer Day
8 Source Code Cloudstack Developer DayKimihiko Kitase
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia Jaesuk Ahn
 
Introduction to OpenStack Architecture (Grizzly Edition)
Introduction to OpenStack Architecture (Grizzly Edition)Introduction to OpenStack Architecture (Grizzly Edition)
Introduction to OpenStack Architecture (Grizzly Edition)Ken Pepple
 

What's hot (20)

Introduction to OpenStack Storage
Introduction to OpenStack StorageIntroduction to OpenStack Storage
Introduction to OpenStack Storage
 
OpenStack Explained: Learn OpenStack architecture and the secret of a success...
OpenStack Explained: Learn OpenStack architecture and the secret of a success...OpenStack Explained: Learn OpenStack architecture and the secret of a success...
OpenStack Explained: Learn OpenStack architecture and the secret of a success...
 
OpenStack Report
OpenStack ReportOpenStack Report
OpenStack Report
 
Distributed Block-level Storage Management for OpenStack, by Danile lee
Distributed Block-level Storage Management for OpenStack, by Danile leeDistributed Block-level Storage Management for OpenStack, by Danile lee
Distributed Block-level Storage Management for OpenStack, by Danile lee
 
OpenStack Tutorial For Beginners | OpenStack Tutorial | OpenStack Training | ...
OpenStack Tutorial For Beginners | OpenStack Tutorial | OpenStack Training | ...OpenStack Tutorial For Beginners | OpenStack Tutorial | OpenStack Training | ...
OpenStack Tutorial For Beginners | OpenStack Tutorial | OpenStack Training | ...
 
OpenStack Architecture: Past and Future
OpenStack Architecture: Past and FutureOpenStack Architecture: Past and Future
OpenStack Architecture: Past and Future
 
Architecture Openstack for the Enterprise
Architecture Openstack for the EnterpriseArchitecture Openstack for the Enterprise
Architecture Openstack for the Enterprise
 
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
 
Openstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2SchoolOpenstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2School
 
OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overview
 
OpenStack Tutorial
OpenStack TutorialOpenStack Tutorial
OpenStack Tutorial
 
OpenStack architecture and services
OpenStack architecture and servicesOpenStack architecture and services
OpenStack architecture and services
 
Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introduction
 
Red Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureRed Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud Infrastructure
 
8 Source Code Cloudstack Developer Day
8 Source Code Cloudstack Developer Day8 Source Code Cloudstack Developer Day
8 Source Code Cloudstack Developer Day
 
OpenStack 101 update
OpenStack 101 updateOpenStack 101 update
OpenStack 101 update
 
AWS-compared-to-OpenStack
AWS-compared-to-OpenStackAWS-compared-to-OpenStack
AWS-compared-to-OpenStack
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia
 
Introduction to OpenStack Architecture (Grizzly Edition)
Introduction to OpenStack Architecture (Grizzly Edition)Introduction to OpenStack Architecture (Grizzly Edition)
Introduction to OpenStack Architecture (Grizzly Edition)
 

Viewers also liked (16)

Mcr trendz
Mcr trendzMcr trendz
Mcr trendz
 
Augmenting IT strategy with Enterprise architecture assessment
Augmenting IT strategy with Enterprise architecture assessmentAugmenting IT strategy with Enterprise architecture assessment
Augmenting IT strategy with Enterprise architecture assessment
 
Arch on global_hackathon
Arch on global_hackathonArch on global_hackathon
Arch on global_hackathon
 
Seeory
SeeorySeeory
Seeory
 
Light suitcase
Light suitcaseLight suitcase
Light suitcase
 
Asset anywhere
Asset anywhereAsset anywhere
Asset anywhere
 
Dev opsnirvana
Dev opsnirvanaDev opsnirvana
Dev opsnirvana
 
C s rwe
C s rweC s rwe
C s rwe
 
View d print
View d printView d print
View d print
 
Architecting extremelylargescalewebapplications
Architecting extremelylargescalewebapplicationsArchitecting extremelylargescalewebapplications
Architecting extremelylargescalewebapplications
 
Introducing techsharp
Introducing techsharpIntroducing techsharp
Introducing techsharp
 
My stylemyway
My stylemywayMy stylemyway
My stylemyway
 
Safesors
SafesorsSafesors
Safesors
 
Digital transformation
Digital transformationDigital transformation
Digital transformation
 
Air sync
Air syncAir sync
Air sync
 
Inevitability of Multi-Tenancy & SAAS in Product Engineering
Inevitability of Multi-Tenancy & SAAS in Product EngineeringInevitability of Multi-Tenancy & SAAS in Product Engineering
Inevitability of Multi-Tenancy & SAAS in Product Engineering
 

Similar to Architecting extremelylarge scale web applications

Apache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice ArchitecturesApache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice ArchitecturesKai Wähner
 
When Open Source Meets the Enterprise
When Open Source Meets the EnterpriseWhen Open Source Meets the Enterprise
When Open Source Meets the EnterpriseMariaDB plc
 
StackOverflow Architectural Overview
StackOverflow Architectural OverviewStackOverflow Architectural Overview
StackOverflow Architectural OverviewFolio3 Software
 
Open Source für den geschäftskritischen Einsatz
Open Source für den geschäftskritischen EinsatzOpen Source für den geschäftskritischen Einsatz
Open Source für den geschäftskritischen EinsatzMariaDB plc
 
Real-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo LogicReal-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo LogicAmazon Web Services
 
Technology Overview
Technology OverviewTechnology Overview
Technology OverviewLiran Zelkha
 
(BDT302) Big Data Beyond Hadoop: Running Mahout, Giraph, and R on Amazon EMR ...
(BDT302) Big Data Beyond Hadoop: Running Mahout, Giraph, and R on Amazon EMR ...(BDT302) Big Data Beyond Hadoop: Running Mahout, Giraph, and R on Amazon EMR ...
(BDT302) Big Data Beyond Hadoop: Running Mahout, Giraph, and R on Amazon EMR ...Amazon Web Services
 
Big Data LDN 2018: DATABASE FOR THE INSTANT EXPERIENCE
Big Data LDN 2018: DATABASE FOR THE INSTANT EXPERIENCEBig Data LDN 2018: DATABASE FOR THE INSTANT EXPERIENCE
Big Data LDN 2018: DATABASE FOR THE INSTANT EXPERIENCEMatt Stubbs
 
Keynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the EnterpriseKeynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the EnterpriseMariaDB plc
 
Processing Real-Time Data at Scale: A streaming platform as a central nervous...
Processing Real-Time Data at Scale: A streaming platform as a central nervous...Processing Real-Time Data at Scale: A streaming platform as a central nervous...
Processing Real-Time Data at Scale: A streaming platform as a central nervous...confluent
 
Apache Kafka® + Machine Learning for Supply Chain 
Apache Kafka® + Machine Learning for Supply Chain Apache Kafka® + Machine Learning for Supply Chain 
Apache Kafka® + Machine Learning for Supply Chain confluent
 
IIoT with Kafka and Machine Learning for Supply Chain Optimization In Real Ti...
IIoT with Kafka and Machine Learning for Supply Chain Optimization In Real Ti...IIoT with Kafka and Machine Learning for Supply Chain Optimization In Real Ti...
IIoT with Kafka and Machine Learning for Supply Chain Optimization In Real Ti...Kai Wähner
 
Role of cloud and analytics in IoT
Role of cloud and analytics in IoTRole of cloud and analytics in IoT
Role of cloud and analytics in IoTSelvaraj Kesavan
 
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...Deepak Chandramouli
 
High-speed, Reactive Microservices 2017
High-speed, Reactive Microservices 2017High-speed, Reactive Microservices 2017
High-speed, Reactive Microservices 2017Rick Hightower
 
Keynote: Open Source für den geschäftskritischen Einsatz
Keynote: Open Source für den geschäftskritischen EinsatzKeynote: Open Source für den geschäftskritischen Einsatz
Keynote: Open Source für den geschäftskritischen EinsatzMariaDB plc
 
Vancouver keynote - AWS Innovate - Sam Elmalak
Vancouver keynote - AWS Innovate - Sam ElmalakVancouver keynote - AWS Innovate - Sam Elmalak
Vancouver keynote - AWS Innovate - Sam ElmalakAmazon Web Services
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Prolifics
 
Webinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS ApplicationsWebinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS ApplicationsTechcello
 

Similar to Architecting extremelylarge scale web applications (20)

Apache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice ArchitecturesApache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice Architectures
 
When Open Source Meets the Enterprise
When Open Source Meets the EnterpriseWhen Open Source Meets the Enterprise
When Open Source Meets the Enterprise
 
Keynote sp summit 2014 final
Keynote sp summit 2014  finalKeynote sp summit 2014  final
Keynote sp summit 2014 final
 
StackOverflow Architectural Overview
StackOverflow Architectural OverviewStackOverflow Architectural Overview
StackOverflow Architectural Overview
 
Open Source für den geschäftskritischen Einsatz
Open Source für den geschäftskritischen EinsatzOpen Source für den geschäftskritischen Einsatz
Open Source für den geschäftskritischen Einsatz
 
Real-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo LogicReal-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo Logic
 
Technology Overview
Technology OverviewTechnology Overview
Technology Overview
 
(BDT302) Big Data Beyond Hadoop: Running Mahout, Giraph, and R on Amazon EMR ...
(BDT302) Big Data Beyond Hadoop: Running Mahout, Giraph, and R on Amazon EMR ...(BDT302) Big Data Beyond Hadoop: Running Mahout, Giraph, and R on Amazon EMR ...
(BDT302) Big Data Beyond Hadoop: Running Mahout, Giraph, and R on Amazon EMR ...
 
Big Data LDN 2018: DATABASE FOR THE INSTANT EXPERIENCE
Big Data LDN 2018: DATABASE FOR THE INSTANT EXPERIENCEBig Data LDN 2018: DATABASE FOR THE INSTANT EXPERIENCE
Big Data LDN 2018: DATABASE FOR THE INSTANT EXPERIENCE
 
Keynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the EnterpriseKeynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the Enterprise
 
Processing Real-Time Data at Scale: A streaming platform as a central nervous...
Processing Real-Time Data at Scale: A streaming platform as a central nervous...Processing Real-Time Data at Scale: A streaming platform as a central nervous...
Processing Real-Time Data at Scale: A streaming platform as a central nervous...
 
Apache Kafka® + Machine Learning for Supply Chain 
Apache Kafka® + Machine Learning for Supply Chain Apache Kafka® + Machine Learning for Supply Chain 
Apache Kafka® + Machine Learning for Supply Chain 
 
IIoT with Kafka and Machine Learning for Supply Chain Optimization In Real Ti...
IIoT with Kafka and Machine Learning for Supply Chain Optimization In Real Ti...IIoT with Kafka and Machine Learning for Supply Chain Optimization In Real Ti...
IIoT with Kafka and Machine Learning for Supply Chain Optimization In Real Ti...
 
Role of cloud and analytics in IoT
Role of cloud and analytics in IoTRole of cloud and analytics in IoT
Role of cloud and analytics in IoT
 
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
 
High-speed, Reactive Microservices 2017
High-speed, Reactive Microservices 2017High-speed, Reactive Microservices 2017
High-speed, Reactive Microservices 2017
 
Keynote: Open Source für den geschäftskritischen Einsatz
Keynote: Open Source für den geschäftskritischen EinsatzKeynote: Open Source für den geschäftskritischen Einsatz
Keynote: Open Source für den geschäftskritischen Einsatz
 
Vancouver keynote - AWS Innovate - Sam Elmalak
Vancouver keynote - AWS Innovate - Sam ElmalakVancouver keynote - AWS Innovate - Sam Elmalak
Vancouver keynote - AWS Innovate - Sam Elmalak
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
 
Webinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS ApplicationsWebinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS Applications
 

More from Prashanth Panduranga (11)

WebApplicationArchitectureAzure.pptx
WebApplicationArchitectureAzure.pptxWebApplicationArchitectureAzure.pptx
WebApplicationArchitectureAzure.pptx
 
WebApplicationArchitectureAzure.pdf
WebApplicationArchitectureAzure.pdfWebApplicationArchitectureAzure.pdf
WebApplicationArchitectureAzure.pdf
 
Social review
Social reviewSocial review
Social review
 
Meet mi
Meet miMeet mi
Meet mi
 
Flex matics
Flex maticsFlex matics
Flex matics
 
Doc byyou
Doc byyouDoc byyou
Doc byyou
 
Being there
Being thereBeing there
Being there
 
Agri future
Agri futureAgri future
Agri future
 
Introduction to Enterprise architecture and the steps to perform an Enterpris...
Introduction to Enterprise architecture and the steps to perform an Enterpris...Introduction to Enterprise architecture and the steps to perform an Enterpris...
Introduction to Enterprise architecture and the steps to perform an Enterpris...
 
Why nosql also_why_somany
Why nosql also_why_somanyWhy nosql also_why_somany
Why nosql also_why_somany
 
Mongo learning series
Mongo learning series Mongo learning series
Mongo learning series
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 

Architecting extremelylarge scale web applications

  • 1. ARCHITECTING EXTREMELY LARGE SCALE WEB APPLICATIONS A MUST read for every architect [ #Prashanth B Panduranga ]
  • 2. An overview of the much needed vicissitude in the architectural thought transformation from monolithic to microservices architecture
  • 3. New York times auto scaled to 500,000 users HipChat has about 1.2 billion messages/documents stored Sales force deals with 1,300,000,000 daily transactions with over 24,000 database transactions per second and over 22PB of raw SAN storage capacity CinchCast has over 50 million page views a month Pinterest has over 18 million visitors with a 10X growth rate Amazon has over 55 million active customer accounts Flickr has over 4 billion queries per day Netflix has 48 million members with over 50,000 requests per second and the list goes on. . Thanks to HighScalability, where the above statistics are derived from, you get a picture of the websites and the scale that I am referring to
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. I have elaborated on SAAS requirements and general architectural requirements in my previous blog. https://prashanthpanduranga.wordpress.com/2015/03/25/inevitability-of-multi-tenancy-saas-in-product- engineering/ The requirements which apply the most to large scale web applications: Performance: There are lot of statistics published relating to performance implications of web applications. One such statistic, Users abandon website even if there is a 2 second delay during a transaction. Large scale web applications obviously have very high performance requirements. A very large percentage of applications gets redesigned primarily for a better user experience. Average Page Load Time as a fraction of Server and client time, Network time, Page views, Bounce Rate, Percentage Exit, Average Redirection Time, Average Domain Lookup Time, Average Server Connection Time, Average Server Response Time, Average Page Download Time, Average content load time, Average session time, DNS resolution time, TCP connection time, Time to first byte, Full page object load time, Requests per second, error rates, Peak response time, Uptime, CPU utilization, Memory Utilization are just a few metrics to look for
  • 9. Availability: Business continuity is of utmost importance. Various availability techniques can be applied on every layer. AlwaysOn Failover Cluster Instances, AlwaysOn Availability Groups, Database mirroring, Log shipping, Redundancy models - Active-Active, Active-Passive, Redundancy Methods - Hot Standby, Warm Standby, Cold Standby, and the measurement of the same expressed as mean time to failure, mean time to repair, Eliminating single points of failure, Accelerating fault detection, isolation and resolution, hot spares, warm spares, cold spares, clustering, RAID, redundancy, Heart beats, watermarking resources, check pointing, Watch dogs and more
  • 10. Monitoring and Diagnostics: 26 front end proxy serves. Double that in backend app servers [Atlassian HipChat] 15,000+ hardware systems – [Salesforce] 100 hardware nodes in production – [CinchCast] 180 Web Engines + 240 API Engines, 88 MySQL DBs (cc2.8xlarge) + 1 slave each, 110 Redis Instances, 200 Memcache Instances, 4 Redis Task Manager + 80 Task Processors, Sharded Solr – [Pinterest] 1000+ supported devices – [Netflix] Imagine maintaining those, when there are innumerable servers involved, failure of system components is common, needless to say, to take appropriate timely actions monitoring and diagnostics plays a very important role.
  • 11. Scalability: Capability of supporting and optimizing resource utilization on increasing workloads on various dimensions such as memory, cores, data structures, throughout and more. Goes without doubt that the application need to scale, in order for the application to perform well, and without automating it, the application cannot stay inexpensive. Automation: Identifying failures and automating re-provisioning of those components/servers is extremely important
  • 12. Architecture has significantly emerged from a monolithic architecture to microservices architecture APPLICATION DATA PRESENTATION SERVICE/BUSINESS LOGIC DATA
  • 13. PRESENTATION SERVICE/BUSINESS LOGIC DATA SECURITY ANALYTICS MONITORING&DIAGNOSTICS STORAGE EVENTS NOTIFICATION VIRTUALIZATION NETWORKCOMPUTE HARDWARE LAYER CLOUD CLOUD ADAPTER AUTOMATION/BATCH INTEGRATION PROCESSING ENGINE CACHE MANAGEMENT AD-HOCLAYER AUDITING CONFIGURATION DISTRIBUTED PROCESSING INGESTION DATA MANAGEMENT DATA RULES META DATA DATA QUALITY CLICKSTREAM DATA SOURCES CHAT SENSOR SOCIAL LOGS CRM ERP APPLICATION DATA CHANNELS EDW METADATA MANAGEMENT MULTI TENANT PROCESSING PARALLEL COMPUTE PARALLEL OPERATIONS COMPLEX EVENT PROCESSING GOVERNANCE WORKFLOW REPORTING STREAM PROCESSING IN-MEMORY PROCESSING MESSAGE TRANSPORTSMESSAGE QUEUESMESSAGE BROKERS INTEGRATION FRAMEWORKS ENTERPRISE SERVICE BUS INTEGRATION SUITES OPERATING SYSTEM
  • 14. Tools/software Usage/Description TOP few similar tools/software to consider Comments RabbitMQ Message broker system Message oriented middleware Queuing software ESB ActiveMQ, Amazon SQS, HornetQ, HiveMQ, JMS, Kafka, ZeroMQ, MSMQ, NServiceBus, Azure Service Bus, OpenMQ, Redis, Storm, Akka, Apache Camel and Spring, OFM, Fuse ESB, WebsphereMQ, Windows Service Bus, BizTalk, WSO2, Mule, Talend ESB, Gearman, JBoss, ServiceMix, OpenESB, Apache QPID Look out for AMQP compliance Some of the tools referred aren’t Message brokers but are used in conjunction to perform the same Other AMQP PIKA Shovel Kinesis Real time data processing Kafka, Storm Tornado Web Server HTTP Server Nginx, Apache, IIS, lighttpd, haproxy, varnish, glassfish, Jetty, Geronimo, Tomcat, Some are even used as reverse proxy, proxies,
  • 15. Cassandra Distributed database management system Mongodb, aerospike, accumulo, azure table storage, bigtable, couchbase, couchdb, dynamodb, datastax, ElasticSearch, Greenplum, Vertica, HBase, InfiniDb, InnoDB, MariaDB, neo4j, Netezza, TeraData, RedShift, Riak, RavenDB, Solr, Spark, VoltDB, With over 200 dbs, it’s difficult to list all: Checkout the below link https://prashanthpanduran ga.wordpress.com/2013/12 /23/why-nosql-ok-but-why- so-many/ Some of them are dataware housing Solutions, While some are data processing engines Hana In-Memory database GemFire, Hekaton, Aerospike, BigMemory, DataBlitz, EhCache, eXtremeDB, FuelDB, HazelCast, MonetDB, Coherence, VoltDB Any Key value store can be used for the same, some of the enterprises have experimented using NoSQL store used as a cache and unstructured db solution Linux Operating System SUSE, FreeBSD, Solaris, Debian/Ubuntu, Windows Server, Mac OS X, RHEL Only Server OS included in the list
  • 16. SockJS Web Socket like object Web socket, socket.io, atmosphere, SignalR, Alchemy, Fleck Couple of them listed are open source Libev Event Loop LibEvent, Asio, Nginx, epoll Fabrik Visual programming IDE Also known for Content construction Kits (CCK) IDE: Visual Studio, Eclipse, NetBeans, Aptana CCKS: Seblod, K2, chronoform, Zoo, Breezingforms, Cobalt, FlexiContent Java Programming language C, C++, Python, C#, PHP, Javascript, Ruby, R, Matlab, Objective-C, Visual Basic, Perl, Swift, Scala, Shell, GO, LISP, SAS, F#, Groovy, Lua Some of them listed are web programming languages adiitionals: HTML, SQL, Haskell
  • 17. Twisted Event driven network programming framework Tornado, Django, Asyncio, AWS Cloud provider Azure, Rackspace, CenturyLink, Salesforce, Engineyard, Google, OpenStack, SAP, CloudBees, CumuLogic, Eucalyptus, Gigaspaces, Mulesoft, Parallels, Pivotal, puppet Labs, Ravello, Rightscale, SoftwareAG, Xively, AT & T, Cisco, Comcast, EMC, GoGrid, CSC, HP, IBM smartcloud, Joyent, The list includes infrastructure, platform, storage and security cloud providers Lucene Test search Engine Library Azure Search, Autonomy, Solr, GSA, Attivio, DTSearch, elasticSearch, endeca, FAST, MarkLogic, Nutch, Sphinx, Sketchy, Scumblr A few NOSQL databases have been used for the same, This list does not include all the NOSQL databases that could be used Adobe Air Cross-platform runtime Cordova(Phonegap), Appcelerator, Qt, Sencha, cocos2d-x, Xamarin, ionic, Kony, mono, xcode The ones listed here are cross platform as well as mobile development platforms.
  • 18. Sensu Monitoring Framework Zabbix, Nagios, icinga, monit, Riemann, statsd, graphite, zenoss, collectd, munin, cacti, new Relic, ganglia, splunk, sentry, dynatrace, datadog, skylight, zenoss, observium, spiceworks, solarwinds, fiddler, wireshark, httpwatch, firebug, soapUI, OpManager The list includes some of the: Infrastructure monitoring Searching, monitoring and analysing, Network monitoring Scalable distributed monitoring system PagerDuty NeoLoad Incident management system and performance testing and monitoring OpsGenie, VictorOps, xmatters, pingdom, Gomez, webpagetest, monitis, uptrends, keynote, OpsView, Apache JMeter, LoadRunner, WebLOAD, Appvance, NeoLoad, LoadUI, WAPT, Loadster, LoadImpact, Soasta, Rational Performance Tester, Testing Anywhere,OpenSTA, QEngine (ManageEngine), Loadstorm, CloudTest, Httperf, SilkPerformer, BlazeMeter, Visual Studio Test Suite, Also includes web site monitoring Cloud based quality testing Performance monitoring Chef IT Automation Puppet, ansible, salt, docker, Jenkins, Capistrano, saltstack Configuration management, SCCM memCache Distributed memory object caching Apc, memcached, dynacache, ehcache, xcache, key value based NOSQL databases are also used
  • 19. Razor Physical and virtual hardware provisioning solution Axemblr, Cobbler, JuJU, SaltCloud, Dell Crowbar, Ansible, CFEngine, Chef Perforce Version Management and Content collaboration Git, SVN, TFS, bitbucket, ClearCase, Subversion Pytheas ITIL assets management software Remedy (BMC), Assyst (Axios), FrontRange, EasyVista, Hornbill, HP Service Manager, SmartCloud Control Desk (IBM), ServiceNow IT incident management, IT problem management, IT change management, IT release governance, IT user self-service, IT request management, IT knowledge management, IT service support analytics and reporting, IT SLA management Ref: Gartner ZUUL Service that provides dynamic routing, monitoring, resiliency and security Nginx, lightpd, Netscaler, HAProxy, Radware, CoyotePoint, Barracuda, Kemp, Varnish, Avast, Norton, Kaspersky, Mcafee, AVG, Avast, Bitdefender, F5, PaloAlto, Cisco ASA, Cisco ACE, Foundary, Juniper SSG, MS TMG Can be firewall, router, web load balancing server, proxy Server etc.
  • 20. Feign Java http client binder Retrofit, JAX-RS, web socket, Jersey, CXF, Apache HC Includes transport libraries Hive Querying and managing large datasets residing in distributed storage Impala, BigSQL, HAWQ AWS ELB Elastic Load balancing Nginx, HAProxy, Route53, Azure Traffic Manager, F5 Port-bound servers, sticky sessions, TCP session reassignment, automatic unfail, slow start, SynGuard, dynamic feedback protocol, NAT, maximum connection, Round Robin, Least Connections, Weighted Round Robin, Weighted Least Connections, Fastest Response Layer 4 and Layer 7 load balancing Cloud Load balancing features: Dedicated (static) IP address,SSL termination, Multiple protocols, Advanced access control, Connection logging, Advanced algorithmic routing, Session persistence, Connection throttling, Node management, High availability Content caching, Persistent connections, Gzip compression, Regionalized load balancers
  • 21. gZip Application used for file compression and decompression httpZip,deflate, 7zip, bzip2, zlib Akamai Content delivery network Azure CDN, Cloudfront, Torbit, Incapsula, Cotendo, Fastly HTML 5 frameworks Javascript Frameworks https://www.facebook.com/notes/prashanth-panduranga/frameworks/10152107517972934 OpenStack Open Source Cloud computing platform OpenStack currently has the following features: Compute(Nova), Object Storate (Swift), Block Storage (Cinder), Networking (Neutron), Dashboard (Horizon), Identity Service (Keystone), Image Service (Glance), Telemetry (Ceilometer), Orchestration (Heat), Database (Trove), Bare Metal Provisioning (Ironic), Multiple tenant cloud messaging (Zaqar), Elastic Map Reduce (Sahara)
  • 22. Hadoop Distributed storage and distributed processing of very large data sets on computer clusters Aegisthus Bulk Data Pipeline out of Cassandra Eureka Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers Genie Federated Job Execution Engine Clojure Dynamic programming language that targets the Java Virtual Machine PigPen Map-Reduce for Clojure Governator Governator is a library of extensions and utilities that enhance Google Guice to provide: classpath scanning and automatic binding, lifecycle management, configuration to field mapping, field validation and parallelized object warmup Inviso Visualize Hadoop performance Ribbon Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers Hystrix Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable
  • 23. Suro Distributed data pipeline Aminator A tool for creating EBS AMIs Lipstick Pig Visualization framework Zeno In-Memory Data Propagation Framework Blesk Lightweight client for pushing notifications to web based applications/sites Turbine Turbine is a tool for aggregating streams of Server-Sent Event (SSE) JSON data into a single stream. The targeted use case is metrics streams from instances in an SOA being aggregated for dashboards Priam Co-Process for backup/recovery, Token Management, and Centralized Configuration management for Cassandra Workflowable Workflowable is a Ruby gem that allows adding flexible workflow functionality to Ruby on Rails Applications s3mper S3mper is a library that provides an additional layer of consistency checking on top of Amazon's S3 index through use of a consistent, secondary index
  • 24. Astyanax Java Client for Apache Cassandra Denominator Denominator is a portable Java library for manipulating DNS clouds. Denominator has pluggable back-ends, including AWS Route53, Neustar Ultra, DynECT, Rackspace Cloud DNS, OpenStack Designate, and a mock for testing GCViz Garbage Collector Visualization framework Curator The Curator Framework is a high-level API that greatly simplifies using ZooKeeper. It adds many features that build on ZooKeeper and handles the complexity of managing connections to the ZooKeeper cluster and retrying operations Staash A language-agnostic as well as storage-agnostic web interface for storing data into persistent storage systems, the metadata layer abstracts a lot of storage details and the pattern automation APIs take care of automating common data access patterns Edda Edda is a Service to track changes in cloud deployments
  • 25. Brutal An asyc centered chat bot framework for python programmers written using the twisted framework CassJMeter JMeter plugin to run cassandra tests Glisten Groovy library for building JVM applications with Amazon Simple Workflow (SWF) Pig Platform for analyzing large data sets Spark Engine for big data processing, with built-in modules for streaming, SQL, machine learning and graph processing Karyon Framework and a library for a cloud ready web service. Blueprint for the services. It contains Bootstrapping, Libraries and Lifecycle Management, Runtime Insights and Diagnostics, Pluggable Web Resources, Cloud-Ready hooks EBS Elastic Block store, persistent block level storage volume Curler A Gearman worker which cURLs to do work archaius, , Library for configuration management API ZooKeeper ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services
  • 26. Parallel processing - Explicit and Implicit parallelism, batch parallelism, asynchronous programming, segregating layers, distributing workloads, Load balancing, multi- tenancy, scaling out on all layers, sharding, partitioning, CAP preference, reads, writes, statelessness, logging and telemetry, automating, SOA adoption, caching, throttling, distributing requests across multiple zones, effective usage of CDNs, Auto provisioning, Auto scaling, compression, queuing, workload distribution, batch processing, designing system with fault tolerance, redundancy, Consistency, Availability, Partition Tolerance, event processing, web sockets, cloud computing, fog computing, Grid Computing, Client side workload distribution, In-Memory processing, Proxies, No single points of failure. Resilience to failure, Graceful degradation, Recoverability from failure, design for failure, Database Transactions, Client side transactions, two-phase commit, Auto-commit, Partition Everything, DB operations ordering, Considerations for Eventual consistency, Functional Segmentation, Application Pools, Prevention of session state, Async Everywhere, Index, Structured Indexes, text indexes, entity indexes, Fuzzy match indexes, pre-aggregated indexes, pre-calculated indexes, embedded value indexes, join indexes, link indexes, De- Normalized Indexes (all kinds) are all important considerations for a highly successful and scalable website. Rest assured if you have considered all the above factors in your architecture you are on your way to create a scalable one. Do let me know if you have questions regarding any particular subject and I will be glad to write up on the same.
  • 27. Reference www.HighScalability.com has some awesome architecture blogs, I have derived the technology stack from multitude of articles hosted by highscalability and a few from Netflix blogs
  • 28. PRASHANTH B PANDURANGA https://prashanthpanduranga.wordpress.com/ Telephone (India): 7259767006, 7760824680 Prashanth.panduranga@gmail.com