Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...Dakiry
This document discusses using serverless architecture for test automation. It begins with an overview of serverless computing and its benefits like instant scaling, low deployment complexity, and pay-per-use model. It then explores how serverless is well-suited for test automation, noting that tests can run in isolation, achieve high parallelism for fast execution, and benefit from the stability of clean runtime environments. The document also acknowledges challenges like monitoring at scale, cold start delays, and vendor lock-in. It provides examples of implementing API, UI, unit, and load tests on serverless and recommends starting with a simple setup for API tests before progressing to more complex scenarios.
WordPress Speed & Performance from Pagely's CTOLizzie Kardon
We've got 10 years experience in managed WordPress hosting and here our CTO brings you his engineering knowledge on optimizing WordPress and when to NOT compromise.
What is DPI? How can it be used effectively? What are the different use cases and requirements for such products? We discuss this and the methodologies needed to properly evaluate the DPI functionality of network devices under the demanding network conditions in which they will be deployed.
http://nsslabs.com/DPI
This document discusses high performance architecture patterns for building scalable systems. It covers patterns like isolating critical components, reducing components to reduce problems, implementing redundancy through health checks, evaluating data consistency versus availability based on the CAP theorem, using pools of resources, implementing controlled timeouts and resource consumption, caching data closer to applications, different load balancing strategies, adopting decoupled and asynchronous architectures, discovering bottlenecks through testing, and implementing telemetry through tools like Grafana and InfluxDB. The document provides an overview of essential patterns for architecting highly performant and scalable systems.
Trabalhar com milhares de requisições e mensagens por dia já é um desafio para arquitetura, imagina parte do software ter requisitos de alta disponibilidade e alta velocidade. Nesta palestra irei falar em padrões de projeto para confiabilidade e escalabilidade que irão garantir que o seu software escale e garanta a consistência ao seu usuário. Entre esses padrões, há arquitetura de caches, uso de APIs e integrações e padrões de como encapsular a sua plataforma para que se proteja de falhas e sobrecargas.
A Customized Approach to HTTP Proxy Caching in RubyPerry Carbone
The document discusses AcornCache, an HTTP proxy caching gem for Rack-based Ruby applications. AcornCache aims to decrease page load times and server burden through caching at the proxy level. It provides a customizable approach to caching that handles cache control headers and exceptions, while maintaining thread safety. The gem is open source and the authors welcome contributions to continue improving it.
DMIEXPO - Ajay Goyal - Maximum ROI in Bulk Emailing by IPv6 – Optimum deliver...Morning Dough
Following are the main points:
1. What is the meaning, purpose and importance of IPs?
2. What is the meaning of IPv4 and IPv6?
3. What is the role of IPs in Bulk Emailing?
4. Why IPv4 is an obsolete version in Bulk Emailing?
5. How to get maximum in-boxing by sending email through IPv6?
6. How to get maximum deliverability by sending email through IPv6?
7. How to avoid spamming protection even though using 3rd party or purchased list?
8. How to ensure delivery to TLDs, even after their protection?
9. How can cost be reduced by using IPv6?
10. How to get faster deliverability (fastest) through IPv6?
11. How to get page one ranking at google SERP (Search Engine Ranking Page) while using IPv6?
12. Why IPv6 is faster than IPv4 and how does it create effect on the performance in Bulk Emailing?
Service workers: what and why UmbUKFest 2018!Matthew Wise
This document compares the performance of normal web page loads to loads that utilize a service worker. It shows that service workers can improve performance by caching resources so that repeat visits are much faster, with the DOM content loading in under 200ms and transferring 0KB of data compared to over 2 seconds and transferring 3KB without a service worker. Resources for learning more about service workers and examples of sites that use them are also provided.
Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...Dakiry
This document discusses using serverless architecture for test automation. It begins with an overview of serverless computing and its benefits like instant scaling, low deployment complexity, and pay-per-use model. It then explores how serverless is well-suited for test automation, noting that tests can run in isolation, achieve high parallelism for fast execution, and benefit from the stability of clean runtime environments. The document also acknowledges challenges like monitoring at scale, cold start delays, and vendor lock-in. It provides examples of implementing API, UI, unit, and load tests on serverless and recommends starting with a simple setup for API tests before progressing to more complex scenarios.
WordPress Speed & Performance from Pagely's CTOLizzie Kardon
We've got 10 years experience in managed WordPress hosting and here our CTO brings you his engineering knowledge on optimizing WordPress and when to NOT compromise.
What is DPI? How can it be used effectively? What are the different use cases and requirements for such products? We discuss this and the methodologies needed to properly evaluate the DPI functionality of network devices under the demanding network conditions in which they will be deployed.
http://nsslabs.com/DPI
This document discusses high performance architecture patterns for building scalable systems. It covers patterns like isolating critical components, reducing components to reduce problems, implementing redundancy through health checks, evaluating data consistency versus availability based on the CAP theorem, using pools of resources, implementing controlled timeouts and resource consumption, caching data closer to applications, different load balancing strategies, adopting decoupled and asynchronous architectures, discovering bottlenecks through testing, and implementing telemetry through tools like Grafana and InfluxDB. The document provides an overview of essential patterns for architecting highly performant and scalable systems.
Trabalhar com milhares de requisições e mensagens por dia já é um desafio para arquitetura, imagina parte do software ter requisitos de alta disponibilidade e alta velocidade. Nesta palestra irei falar em padrões de projeto para confiabilidade e escalabilidade que irão garantir que o seu software escale e garanta a consistência ao seu usuário. Entre esses padrões, há arquitetura de caches, uso de APIs e integrações e padrões de como encapsular a sua plataforma para que se proteja de falhas e sobrecargas.
A Customized Approach to HTTP Proxy Caching in RubyPerry Carbone
The document discusses AcornCache, an HTTP proxy caching gem for Rack-based Ruby applications. AcornCache aims to decrease page load times and server burden through caching at the proxy level. It provides a customizable approach to caching that handles cache control headers and exceptions, while maintaining thread safety. The gem is open source and the authors welcome contributions to continue improving it.
DMIEXPO - Ajay Goyal - Maximum ROI in Bulk Emailing by IPv6 – Optimum deliver...Morning Dough
Following are the main points:
1. What is the meaning, purpose and importance of IPs?
2. What is the meaning of IPv4 and IPv6?
3. What is the role of IPs in Bulk Emailing?
4. Why IPv4 is an obsolete version in Bulk Emailing?
5. How to get maximum in-boxing by sending email through IPv6?
6. How to get maximum deliverability by sending email through IPv6?
7. How to avoid spamming protection even though using 3rd party or purchased list?
8. How to ensure delivery to TLDs, even after their protection?
9. How can cost be reduced by using IPv6?
10. How to get faster deliverability (fastest) through IPv6?
11. How to get page one ranking at google SERP (Search Engine Ranking Page) while using IPv6?
12. Why IPv6 is faster than IPv4 and how does it create effect on the performance in Bulk Emailing?
Service workers: what and why UmbUKFest 2018!Matthew Wise
This document compares the performance of normal web page loads to loads that utilize a service worker. It shows that service workers can improve performance by caching resources so that repeat visits are much faster, with the DOM content loading in under 200ms and transferring 0KB of data compared to over 2 seconds and transferring 3KB without a service worker. Resources for learning more about service workers and examples of sites that use them are also provided.
SignalR is an ASP.NET library that allows real-time communication between web servers and clients. It uses various techniques like websockets, server-sent events, and long polling to provide a persistent connection. SignalR supports .NET, JavaScript, and mobile clients and can scale out to server farms using backplanes like SQL Server, Service Bus, and Redis. It includes hubs for calling methods between clients and servers and sending messages. Examples of SignalR in use include chat applications and games.
Modern progressive web applications are complex pieces of software running in the browser. Fastly offers unparalleled control over the way the bytes fly from your servers to the user, enabling many of the features of advanced progressive web apps to truly shine. This talk will show how these latest web technologies can best take advantage of smarts in the network to deliver your web app at top speed.
Atmosphere 2016 - Andreas Grabner - Metrics Driven-DevOps: Delivering High Qu...PROIDEA
Becoming the next Uber is only possible when bringing your ideas faster to your end users. Some aspects of DevOps are perfect for that as it only works if Ops and Dev work closely together. But what does this mean for you as a developers? Delivering code faster with the high chance of failing faster?
In my opinion we need to look at Key Technical Metrics such as Memory Usage per User or Request, # of SQLs, # of Service Calls, Transferred Bytes, ... - these are metrics you need to track starting at your workstation all the way through CI into Ops – and don’t forget the Business: How often is the new feature really used? What does it cost to run it? Let these metrics act as Quality Gateways and stop builds early before they Crash your System: faster than ever.
In this session we look at how companies like Facebook, CreditOne and Co apply metric-driven DevOps. We look at use cases that crashed rapid deployments, identify metrics that identify the reason of the crash and learn how to use these metrics to steer your pipeline to build better code, deploy faster, without failing faster!
- The document discusses various technical considerations for running Exchange in a large environment with over 130,000 mailboxes spread across 132 Exchange servers in multiple data centers. It covers topics like TCP connections, TCP keepalive time, LDAP policies, .NET garbage collection, filtering, and using PowerShell for automation.
- It provides recommendations like setting the TCP keepalive time lower to prevent idle connections, modifying LDAP policies to prevent forced disconnections, monitoring .NET garbage collection, and using server-side filtering in PowerShell for better performance. The goal is to optimize the environment to handle the scale while preventing issues like port exhaustion or server overload.
The document discusses Google App Engine (GAE), a platform for developing and hosting web applications. It provides an overview of GAE's supported languages and frameworks, competitors, advantages like easy setup and free usage within quotas, and disadvantages such as limited filesystem access and slow datastore performance. The document also includes sample code for a basic GAE application and instructions for running tests, the development server, and deploying to Google.
La presentazione tenuta da Simone Bordet in occasione del Codemotion Roma del 5 marzo 2011 - http://www.codemotion.it/
Si parlerà delle web applications di tipo Comet, cioè di quelle web applications che si occupano di notificare con latenza bassissima - di norma a browsers - eventi ricevuti dal server come stock price, eventi sportivi, giochi online, etc. La sessione proseguirà con una discussione sugli impatti che le applicazioni Comet hanno nello sviluppo e nel deployment, e con una panoramica sul nuovo protocollo WebSocket definito da HTML5 e sul progetto open source CometD.
Scale your signalR realtime web applicationRan Wahle
This document summarizes a presentation about scaling out SignalR applications. SignalR allows real-time web functionality by pushing messages to clients using techniques like websockets. To scale SignalR, developers must understand how to distribute hub instances across servers and measure traffic patterns. The presentation covered best practices like using groups and async calls. It also described pluggable backends like SQL Server and Redis that can be used to share state across servers. Finally, it gave examples of custom scale-out scenarios using techniques like server transitions and filtered message buses.
The document discusses best practices for designing mobile APIs. It recommends that APIs be designed with mobile constraints in mind, including low power, low bandwidth, and reliance on batteries. The API should focus on providing a good user experience even in changing network conditions. The document advocates for a REST-ish approach using JSON and focusing on resources and actions over objects and methods. It also emphasizes consistency, completeness of payloads, and minimizing roundtrips to reduce latency and data usage.
This document discusses API design and scaling. It begins by outlining the key aspects of API design including design, implementation, deployment and scaling. It then covers topics like REST, URIs, HTTP methods, response statuses, metadata, security, versioning and pagination. The document emphasizes designing APIs that are easy to use and scale. It also provides tips on implementation like using stateless processes, structured processes, caching, replication and async tasks to improve scaling. Overall, the document provides a high-level overview of best practices for API design and scaling.
Develop and Deploy your Mobile API with Rails, Nginx, Unicorn and CapistranoErrazudin Ishak
This document discusses developing and deploying a mobile API using Ruby on Rails, Unicorn, Capistrano, and Nginx. It covers setting up development environments using Vagrant, deploying to staging and production environments on AWS, and considerations for using tools like EC2, RDS, ELB. The mobile API allows communication between mobile devices and a server through HTTPS requests containing authorization tokens and returning JSON responses.
The document discusses using git pull --rebase or git rebase before merging branches to avoid merge conflicts. It recommends rebasing local feature branches onto the master branch before merging to resolve any conflicts locally. Merging with the --squash option squashes all commits into a single commit to keep a clean commit history with each work item as one commit.
Your visitors interact with content, not with your website. Content consistency is crucial to a successful user experience. Re-publishing is one option but it’s an inside-out action that relies on the authority controlling where the information goes. An API frees your data and the responsibility to where it is published and accessed. Mobile is a major consumer for your API but not every API is setup to handle the mass of requests coming from those devices. Learn how to mobile devices consume API’s with limited or low bandwidth and how to to tailor your API to be as efficient and effective as possible.
http://environmentsforhumans.com/2012/doteduguru-summit/
This document provides tips for being prepared for the rise of Node.js and APIs for mobile applications. It discusses how Node.js is well-suited for building APIs and real-time applications due to its asynchronous and event-driven nature. It also offers recommendations for tools to use for Node.js development, such as unit testing with Mocha, package management with npm, process management with PM2, and deployment with Ansible.
Data To Go: Mobile API Design (Lightning Talk)Chuck Greb
This document discusses principles for good mobile API design. It recommends:
1) Reducing round trips to the server by batching requests to minimize network overhead and impatience of mobile users.
2) Controlling verbosity by purging irrelevant data to reduce payload sizes for slow mobile connections and limited data plans. Object expansion allows controlling the level of detail returned.
3) Restricting access by authenticating and authorizing each request to protect sensitive data and prevent unauthorized access with a mobile-friendly security model.
This document discusses strategies for improving mobile application performance through caching and reducing API requests. It recommends caching responses from APIs and content delivery networks to reduce load on servers. Developer should add Cache-Control headers to responses to ensure caching by clients. The document also provides tips for organizing files in Amazon S3 buckets to optimize storage and retrieval performance.
Designing a web API is hard, designing a mobile API is even harder. With heavy constraints such as bandwidth, latency and CPU power, developing a mobile API is a challenge for the service provider and the application developer. As mobile devices become ubiquitous and connected, offering the best user experience in mobile application is crucial; optimizing the network is an important part of it.
In this talk we'll cover the challenges of designing a mobile API as well as innovative solutions and best practices that can be used by the service provider. We'll share our broad experience in developing connected mobile apps.
This document outlines three principles for designing mobile APIs:
1. Reduce round trips to the server by bundling data into single requests to minimize network overhead which conserves mobile resources.
2. Control verbosity by purging unnecessary data, using compression, and allowing clients to specify desired response fields to reduce payload size.
3. Restrict access by identifying request sources, denying unauthorized requests, and protecting sensitive data with a mobile-friendly security model.
Examples are provided to illustrate each principle in action.
Build a REST API for your Mobile Apps using Node.jsStormpath
Join Stormpath Developer Evangelist, Edward Jiang, to learn how to build your first REST API using Node.js, and connect it to an iOS or Android app. He’ll cover everything you need to know to about building an API and take you through an example with live code samples.
The document argues that companies should adopt a mobile API-first approach to succeed in the experience economy. It notes that the development target is no longer a single device but a connected ecosystem of devices centered around user experience. An API-first approach allows for easy discovery of existing APIs, ease of API development, comprehensive analytics on app usage and API consumption, and embraces JavaScript. This approach enables a new model of IT innovation with nimbler and more specialized systems that are loosely coupled.
Designing API for mobile apps (MobileWarsaw 19.01.2015)Wojtek Erbetowski
The document discusses best practices for designing mobile APIs. It recommends that mobile APIs follow REST and HATEOAS principles, return only necessary data to reduce latency and payload size, support data expansion and merging, use HTTP caching and compression, and focus on usability. Case studies showed that refactoring endpoints from 36 to 20 reduced overall endpoints, refactoring application flows from 86 to 20 endpoints reduced usage by 96%, and compression reduced payload size by up to 84%. The key is designing the API around the needs of mobile users and applications.
SignalR is an ASP.NET library that allows real-time communication between web servers and clients. It uses various techniques like websockets, server-sent events, and long polling to provide a persistent connection. SignalR supports .NET, JavaScript, and mobile clients and can scale out to server farms using backplanes like SQL Server, Service Bus, and Redis. It includes hubs for calling methods between clients and servers and sending messages. Examples of SignalR in use include chat applications and games.
Modern progressive web applications are complex pieces of software running in the browser. Fastly offers unparalleled control over the way the bytes fly from your servers to the user, enabling many of the features of advanced progressive web apps to truly shine. This talk will show how these latest web technologies can best take advantage of smarts in the network to deliver your web app at top speed.
Atmosphere 2016 - Andreas Grabner - Metrics Driven-DevOps: Delivering High Qu...PROIDEA
Becoming the next Uber is only possible when bringing your ideas faster to your end users. Some aspects of DevOps are perfect for that as it only works if Ops and Dev work closely together. But what does this mean for you as a developers? Delivering code faster with the high chance of failing faster?
In my opinion we need to look at Key Technical Metrics such as Memory Usage per User or Request, # of SQLs, # of Service Calls, Transferred Bytes, ... - these are metrics you need to track starting at your workstation all the way through CI into Ops – and don’t forget the Business: How often is the new feature really used? What does it cost to run it? Let these metrics act as Quality Gateways and stop builds early before they Crash your System: faster than ever.
In this session we look at how companies like Facebook, CreditOne and Co apply metric-driven DevOps. We look at use cases that crashed rapid deployments, identify metrics that identify the reason of the crash and learn how to use these metrics to steer your pipeline to build better code, deploy faster, without failing faster!
- The document discusses various technical considerations for running Exchange in a large environment with over 130,000 mailboxes spread across 132 Exchange servers in multiple data centers. It covers topics like TCP connections, TCP keepalive time, LDAP policies, .NET garbage collection, filtering, and using PowerShell for automation.
- It provides recommendations like setting the TCP keepalive time lower to prevent idle connections, modifying LDAP policies to prevent forced disconnections, monitoring .NET garbage collection, and using server-side filtering in PowerShell for better performance. The goal is to optimize the environment to handle the scale while preventing issues like port exhaustion or server overload.
The document discusses Google App Engine (GAE), a platform for developing and hosting web applications. It provides an overview of GAE's supported languages and frameworks, competitors, advantages like easy setup and free usage within quotas, and disadvantages such as limited filesystem access and slow datastore performance. The document also includes sample code for a basic GAE application and instructions for running tests, the development server, and deploying to Google.
La presentazione tenuta da Simone Bordet in occasione del Codemotion Roma del 5 marzo 2011 - http://www.codemotion.it/
Si parlerà delle web applications di tipo Comet, cioè di quelle web applications che si occupano di notificare con latenza bassissima - di norma a browsers - eventi ricevuti dal server come stock price, eventi sportivi, giochi online, etc. La sessione proseguirà con una discussione sugli impatti che le applicazioni Comet hanno nello sviluppo e nel deployment, e con una panoramica sul nuovo protocollo WebSocket definito da HTML5 e sul progetto open source CometD.
Scale your signalR realtime web applicationRan Wahle
This document summarizes a presentation about scaling out SignalR applications. SignalR allows real-time web functionality by pushing messages to clients using techniques like websockets. To scale SignalR, developers must understand how to distribute hub instances across servers and measure traffic patterns. The presentation covered best practices like using groups and async calls. It also described pluggable backends like SQL Server and Redis that can be used to share state across servers. Finally, it gave examples of custom scale-out scenarios using techniques like server transitions and filtered message buses.
The document discusses best practices for designing mobile APIs. It recommends that APIs be designed with mobile constraints in mind, including low power, low bandwidth, and reliance on batteries. The API should focus on providing a good user experience even in changing network conditions. The document advocates for a REST-ish approach using JSON and focusing on resources and actions over objects and methods. It also emphasizes consistency, completeness of payloads, and minimizing roundtrips to reduce latency and data usage.
This document discusses API design and scaling. It begins by outlining the key aspects of API design including design, implementation, deployment and scaling. It then covers topics like REST, URIs, HTTP methods, response statuses, metadata, security, versioning and pagination. The document emphasizes designing APIs that are easy to use and scale. It also provides tips on implementation like using stateless processes, structured processes, caching, replication and async tasks to improve scaling. Overall, the document provides a high-level overview of best practices for API design and scaling.
Develop and Deploy your Mobile API with Rails, Nginx, Unicorn and CapistranoErrazudin Ishak
This document discusses developing and deploying a mobile API using Ruby on Rails, Unicorn, Capistrano, and Nginx. It covers setting up development environments using Vagrant, deploying to staging and production environments on AWS, and considerations for using tools like EC2, RDS, ELB. The mobile API allows communication between mobile devices and a server through HTTPS requests containing authorization tokens and returning JSON responses.
The document discusses using git pull --rebase or git rebase before merging branches to avoid merge conflicts. It recommends rebasing local feature branches onto the master branch before merging to resolve any conflicts locally. Merging with the --squash option squashes all commits into a single commit to keep a clean commit history with each work item as one commit.
Your visitors interact with content, not with your website. Content consistency is crucial to a successful user experience. Re-publishing is one option but it’s an inside-out action that relies on the authority controlling where the information goes. An API frees your data and the responsibility to where it is published and accessed. Mobile is a major consumer for your API but not every API is setup to handle the mass of requests coming from those devices. Learn how to mobile devices consume API’s with limited or low bandwidth and how to to tailor your API to be as efficient and effective as possible.
http://environmentsforhumans.com/2012/doteduguru-summit/
This document provides tips for being prepared for the rise of Node.js and APIs for mobile applications. It discusses how Node.js is well-suited for building APIs and real-time applications due to its asynchronous and event-driven nature. It also offers recommendations for tools to use for Node.js development, such as unit testing with Mocha, package management with npm, process management with PM2, and deployment with Ansible.
Data To Go: Mobile API Design (Lightning Talk)Chuck Greb
This document discusses principles for good mobile API design. It recommends:
1) Reducing round trips to the server by batching requests to minimize network overhead and impatience of mobile users.
2) Controlling verbosity by purging irrelevant data to reduce payload sizes for slow mobile connections and limited data plans. Object expansion allows controlling the level of detail returned.
3) Restricting access by authenticating and authorizing each request to protect sensitive data and prevent unauthorized access with a mobile-friendly security model.
This document discusses strategies for improving mobile application performance through caching and reducing API requests. It recommends caching responses from APIs and content delivery networks to reduce load on servers. Developer should add Cache-Control headers to responses to ensure caching by clients. The document also provides tips for organizing files in Amazon S3 buckets to optimize storage and retrieval performance.
Designing a web API is hard, designing a mobile API is even harder. With heavy constraints such as bandwidth, latency and CPU power, developing a mobile API is a challenge for the service provider and the application developer. As mobile devices become ubiquitous and connected, offering the best user experience in mobile application is crucial; optimizing the network is an important part of it.
In this talk we'll cover the challenges of designing a mobile API as well as innovative solutions and best practices that can be used by the service provider. We'll share our broad experience in developing connected mobile apps.
This document outlines three principles for designing mobile APIs:
1. Reduce round trips to the server by bundling data into single requests to minimize network overhead which conserves mobile resources.
2. Control verbosity by purging unnecessary data, using compression, and allowing clients to specify desired response fields to reduce payload size.
3. Restrict access by identifying request sources, denying unauthorized requests, and protecting sensitive data with a mobile-friendly security model.
Examples are provided to illustrate each principle in action.
Build a REST API for your Mobile Apps using Node.jsStormpath
Join Stormpath Developer Evangelist, Edward Jiang, to learn how to build your first REST API using Node.js, and connect it to an iOS or Android app. He’ll cover everything you need to know to about building an API and take you through an example with live code samples.
The document argues that companies should adopt a mobile API-first approach to succeed in the experience economy. It notes that the development target is no longer a single device but a connected ecosystem of devices centered around user experience. An API-first approach allows for easy discovery of existing APIs, ease of API development, comprehensive analytics on app usage and API consumption, and embraces JavaScript. This approach enables a new model of IT innovation with nimbler and more specialized systems that are loosely coupled.
Designing API for mobile apps (MobileWarsaw 19.01.2015)Wojtek Erbetowski
The document discusses best practices for designing mobile APIs. It recommends that mobile APIs follow REST and HATEOAS principles, return only necessary data to reduce latency and payload size, support data expansion and merging, use HTTP caching and compression, and focus on usability. Case studies showed that refactoring endpoints from 36 to 20 reduced overall endpoints, refactoring application flows from 86 to 20 endpoints reduced usage by 96%, and compression reduced payload size by up to 84%. The key is designing the API around the needs of mobile users and applications.
This document discusses optimizing mobile networks and applications for speed. It begins with an overview of networking basics and how mobile networks work. It then discusses factors that affect speed like latency, bandwidth, TCP protocols, and cellular network routing. The document provides recommendations for optimizing like leveraging WiFi, anticipating latency, saving bandwidth and battery. It also covers HTTP optimizations, browser APIs and protocols like XHR, SSE and WebSockets. The goal is to understand how networks impact applications and how to design for optimal mobile performance.
The document discusses the scaling habits of ASP.NET applications over multiple versions from initial launch to large-scale business success. As an application grows from version 1 with a few users to version N with thousands of users, the key scaling challenges change from fixing logical problems to addressing performance bottlenecks and high availability requirements. The solutions also evolve from simple code optimizations to sophisticated architectures with load balancing, caching, and separate servers for web and database tiers.
The document discusses building real-time applications with Symfony2. It begins by introducing the speaker and their company Locastic. It then defines what a real-time application is and provides examples of common use cases. The document goes on to explain various technologies that can be used to build real-time functionality, such as polling, long polling, server-sent events, websockets, and streaming. It also discusses different communication patterns and factors to consider when choosing a technology. Finally, it provides an example of a real-time dashboard that was built with Symfony2, AngularJS, and RabbitMQ and describes hosted solutions like Pusher that can be used.
Creating responsive and interactive web applications has always been one of my hidden dreams. One of the biggest show stopper has been the communication between server and clients. The rise of websockets now open some space for a brand new kind of applications; but we need a library that makes things 'easy' for us and that is able to fall back on previous solutions when the latest technologies are not available.
Suddenly on the ASP.NET scene appears SignalR: a persistence connection abstraction library that helps ASP.NET developers deal with 'real time' client-server communication sceneries.
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013Amazon Web Services
Increasingly, mobile and other connected devices are leveraging the scalability and capabilities of the cloud to deliver services to end users. However, connecting these devices to the cloud presents unique challenges. Resource constraints make it impossible to use many common frameworks and transport restrictions make it difficult to use dynamic cloud resources. In this session, learn how you can develop and deploy highly-scalable global solutions using Amazon Web Services (Amazon Virtual Private Cloud, Elastic IP addresses, Amazon Route 53, Auto Scaling) and tools like Puppet. Hear how Panasonic and Banjo architect their cloud infrastructure from both a start-up and enterprise perspective.
Urban Airship is a mobile platform that provides services to over 160 million active application installs across 80 million devices. They initially used PostgreSQL but needed a system that could scale writes more easily. They tried several NoSQL databases including MongoDB, but ran into issues with MongoDB's locking, long queries blocking writes, and updates causing heavy disk I/O. They are now converging on Cassandra and PostgreSQL for transactions and HBase for analytics workloads.
This is the slide I shared on the second community offline party of Horizon-Dalian. The topic is about restful web, and I started from web service and web history, telling people what the REST might be, and then gave six bindings of REST style.
Building high performance microservices in finance with Apache ThriftRX-M Enterprises LLC
Apache Roadshow Chicago Talk on May 14, 2019
In this talk we’ll look at the ways Apache Thrift can solve performance problems commonly facing next generation applications deployed in performance sensitive capital markets and banking environments. The talk will include practical examples illustrating the construction, performance and resource utilization benefits of Apache Thrift. Apache Thrift is a high-performance cross platform RPC and serialization framework designed to make it possible for organizations to specify interfaces and application wide data structures suitable for serialization and transport over a wide variety of schemes. Due to the unparalleled set of languages supported by Apache Thrift, these interfaces and structs have similar interoperability to REST type services with an order of magnitude improvement in performance. Apache Thrift services are also a perfect fit for container technology, using considerably fewer resources than traditional application server style deployments. Decomposing applications into microservices, packaging them into containers and orchestrating them on systems like Kubernetes can bring great value to an organization; however, it can also take a very fast monolithic application and turn it into a high latency web of slow, resource hungry services. Apache Thrift is a perfect solution to the performance and resource ills of many microservice based endeavors.
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler
Virtualization, Cloud Deployments, and Cloud-Based Tools have challenged and changed performance testing practices. Today’s performance tester can summons tens of thousands of virtual users from the cloud in a few minutes at a cost far lower than the expensive on-premise installations of yesteryear.
Meanwhile, systems under test have changed more. Updated software stacks have increased the complexity of scripting and performance measurement, but the biggest changes are in the nature and quantities of resources powering the systems. Interpreting resource usage when resources are shared on a private virtualization platform is exceedingly difficult. Understanding resources when they live in a large public cloud is impossible.
18CS52 VTU Computer Network & Security
MODULE 1-Part 1
Principles of Network Applications: Network Application Architectures, Processes Communicating, Transport Services Available to Applications, Transport Services Provided by the Internet, Application-Layer Protocols. The Web and HTTP: Overview of HTTP, Non-persistent and Persistent Connections, HTTP Message Format, User-Server Interaction: Cookies, Web Caching, The Conditional GET, File Transfer: FTP Commands & Replies, Electronic Mail in the Internet: SMTP, Comparison with HTTP, Mail Message Format, Mail Access Protocols
SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...Sencha
Three sentences summarizing the key points:
The document discusses how to give Sencha apps real-time web performance. It covers data transfer over HTTP and introduces WebSockets as a better solution for real-time communication. The document also discusses frameworks like SignalR that use WebSockets and provides fallback options, and recommends designing apps to throttle data based on available bandwidth for wireless networks.
The document summarizes lessons learned from building a real-time network traffic analyzer in C/C++. Key points include:
- Libpcap was used for traffic capturing as it is cross-platform, supports PF_RING, and has a relatively easy API.
- SQLite was used for data storage due to its small footprint, fast performance, embeddability, SQL support, and B-tree indexing.
- A producer-consumer model with a blocking queue was implemented to handle packet processing in multiple threads.
- Memory pooling helped address performance issues caused by excessive malloc calls during packet aggregation.
- Custom spin locks based on atomic operations improved performance over mutexes on FreeBSD/
- Designed and developed simplified version of single thread event-based web server engine with Java
- Designed overall architectures and implemented event loop and socket programming
- Attained higher amount of throughput and lower error rate of http request handling comparing with NodeJS
This document summarizes the WWDC 2017 reading session. It discusses topics around network security standards, privacy and apps, advances in networking technology, and new features for Apple Pay Wallet. Specific areas covered include app transport security, privacy prompts, location services, device check, multipath TCP, URL session updates, and enhanced support for donations and error handling in Apple Pay.
Building A Great API - Evan Cooke, Cloudstock, December 2010Twilio Inc
Tips and tricks on how to design, package, and build a great API. We summarize some of the lessons we've learned over the years at Twilio designing and operating Voice and SMS APIs used by more then 20,000 developers.
HEAP SORT ILLUSTRATED WITH HEAPIFY, BUILD HEAP FOR DYNAMIC ARRAYS.
Heap sort is a comparison-based sorting technique based on Binary Heap data structure. It is similar to the selection sort where we first find the minimum element and place the minimum element at the beginning. Repeat the same process for the remaining elements.
Low power architecture of logic gates using adiabatic techniquesnooriasukmaningtyas
The growing significance of portable systems to limit power consumption in ultra-large-scale-integration chips of very high density, has recently led to rapid and inventive progresses in low-power design. The most effective technique is adiabatic logic circuit design in energy-efficient hardware. This paper presents two adiabatic approaches for the design of low power circuits, modified positive feedback adiabatic logic (modified PFAL) and the other is direct current diode based positive feedback adiabatic logic (DC-DB PFAL). Logic gates are the preliminary components in any digital circuit design. By improving the performance of basic gates, one can improvise the whole system performance. In this paper proposed circuit design of the low power architecture of OR/NOR, AND/NAND, and XOR/XNOR gates are presented using the said approaches and their results are analyzed for powerdissipation, delay, power-delay-product and rise time and compared with the other adiabatic techniques along with the conventional complementary metal oxide semiconductor (CMOS) designs reported in the literature. It has been found that the designs with DC-DB PFAL technique outperform with the percentage improvement of 65% for NOR gate and 7% for NAND gate and 34% for XNOR gate over the modified PFAL techniques at 10 MHz respectively.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
6th International Conference on Machine Learning & Applications (CMLA 2024)ClaraZara1
6th International Conference on Machine Learning & Applications (CMLA 2024) will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
2. Download
Gives you real-time information
on the people around you
!
It’s free!!
!
This will be pretty fast-paced
More About SocialRadar
3. Special considerations for a
Mobile API
• Speed really matters
• Battery usage - minimize
• Maximizing network utilization
• Response size matters
• Minimize number of requests
• Stateless
4. Speed: Problems
• Only one thing on screen at a time, perception change
• On desktop other things can distract
• Best Case: ~400ms latency for round trip on cell network
• We tested at SocialRadar using a basic ping no-op
endpoint
• Verizon LTE, iPhone 5S
• Device doesn’t maintain active connection
• Average case much worse, ~1000ms round trip
5. Ideal round trip
iPhone 5S on Verizon LTE
User's Phone API
200ms
200ms
200ms
Total round trip time 800ms
200ms
bit of hand waving, I’m not
a network expert
6. Likely round trip
iPhone 4S on Verizon 3G
User's Phone API
500ms
500ms
200ms
Total round trip time 1600ms
400ms
7. Speed: Solutions
• Cache anything humanly possible
• Respond as quickly as possible, deferring
anything that doesn’t need to be done immediately
• Queue most things
• Make sure your API can handle high concurrency
(we settled on Node.js to accomplish this,
WhatsApp uses Erlang)
8. Minimize battery usage
!
• Brief note about cell battery and network
usage (more)
• Response size matters
• Minimize number of requests
Maximize network utilization
9. Response Size: Problems
• At SocialRadar, we tested responses of different sizes
• Optimal was largest response that would fit into a
single TCP packet on the cell network.
• Around 128KB. Differs based on client device and
network
• Any longer would jump response time significantly
10. Response Size: Solutions
• Paging sizes — largest
that fit within TCP packet
window
• Contrast with
Desktop, paging more
dependent on server
response time and UI
12. Paging Size: 50 (Ideal)
User's Phone API
200ms
200ms
500ms
Total round trip time 1100ms
200ms
Page size of 50 users
To retrieve 100 users, ~2.2s
13. Paging Size: 20 (Likely)
User's Phone API
500ms
500ms
200ms
Total round trip time 1600ms
400ms
To retrieve 100 users, ~8s
14. Paging Size: 50 (Likely)
User's Phone API
500ms
500ms
500ms
Total round trip time 1900ms
400ms
To retrieve 100 users, ~3.8s
15. Number of Requests: Problems
• Traditionally parallelized, not (well) on mobile
• Battery life is of great concern and every network
request eats into that
• Spinning up the cell modem, making request,
waiting for it drains the battery
• So if you make 5 requests instead of 1, draining
battery, leaving user waiting
16. Number of Requests: Solutions
• Paging size as mentioned above, try to maximize
response that will fit in a packet to minimize the
number of requests
• So one request with 20KB much better than 5
with 4KB each
• Batch multiple requests into a single one
17. Batch Request Library
• Finding no great existing batch request library for
Node.js, we rolled our own open source library
• http://batch-request.socialradar.com
• Allows you to send a single request that represents
multiple
• No need to compromise on RESTful principles and
move to a SOA
• Handles complex dependencies
18. Batch Request Library (2)
1. npm install batch-request
2. Add one line of code to your API:
app.post('/batch', batch.validate, batch);!
3. Send batch request as single POST:
{
"myRequest1": {
"method": "GET",
"uri": "http://api.mysite.com/users/1/first_name"
},
"myRequest2": {
"method": "GET",
"uri": "http://api.mysite.com/users/1/email"
}
}
20. When you pull to refresh,
Batch Request to:
• Update user location with
latest GPS reading
• Retrieve current City/State
• Retrieve most recent stat
numbers
• Get some user lists to
cache them
21. Stateless
• Cell networks are spotty
• For performance, want load balance among
multiple servers
• Solution: Assign access token to device rather than
relying on sessions for user access
• We have an access token which is an encrypted
string containing user_id and some other stuff