This document discusses various techniques for optimizing ASP.NET applications to scale from thousands to millions of users. It covers topics such as preventing denial of service attacks, optimizing the ASP.NET process model and pipeline, reducing the size of ASP.NET cookies on static content, improving System.net settings, optimizing queries to ASP.NET membership providers, issues with LINQ to SQL, using transaction isolation levels to prevent deadlocks, and employing a content delivery network. The overall message is that ASP.NET requires various "hacks" at the code, database, and configuration levels to scale to support millions of hits.
The document summarizes an AWS user group presentation by Shaimaa Esmaeil on AWS101. The presentation introduced cloud computing concepts, AWS global infrastructure and services, and demonstrated EC2 and S3. It discussed on-premises vs cloud, cloud models (IaaS, PaaS, SaaS), AWS regions and availability zones. It provided overviews of EC2 instances, AMIs, types, EBS, security groups and S3 buckets and objects. Useful training and practice exam resources were also shared.
SpringOne Platform 2016
Speakers: Kevin Hoffman; Advisory Solutions Architect, Pivotal & Chris Umbel; Advisory Architect, Pivotal
With the advent of ASP.NET Core, developers can now build cross-platform microservices in .NET. We can build services on the Mac, Windows, or Linux and deploy anywhere--most importantly to the cloud.
In this session we'll talk about Cloud Native .NET, building .NET microservices, and deploying them to the cloud. We'll build services that participate in a robust ecosystem by consuming OSS servers such as Spring Cloud Configuration Server and Eureka. We'll also show how these .NET microservices can take advantage of circuit breakers and be automatically deployed to the cloud via CI/CD pipelines.
Auto Scaling allows automatically scaling Amazon EC2 capacity up or down based on user-defined policies, schedules, and health checks. This helps maintain application availability and allows scaling capacity up during demand spikes and reducing it during low traffic periods to optimize costs. The document discusses how Auto Scaling works, its benefits over traditional scaling methods in maintaining performance and reducing costs, and provides examples of common Auto Scaling APIs for creating, describing, and managing Auto Scaling groups, launch configurations, and triggers.
AWS re:Invent 2016: Workshop: Using the Database Migration Service (DMS) for ...
It can help you do much more. You can use DMS to consolidate multiple databases into a single database or split a single database into multiple databases. You can also use DMS for data distribution to multiple systems. For both of these use cases your source database can be outside of AWS (on premises) or in AWS (EC2 or RDS). DMS can also be used for near real-time replication of data. Replication can be done to one or more targets within AWS, in the same region or across regions. You can also replicate data from databases within AWS to databases outside of AWS. In this session we will discuss all these usage patterns and help you try them out yourselves.
Prerequisites:
You should have good database knowledge and at least some experience with Amazon RDS or Amazon Aurora.
Participants should have an AWS account established and available for use during the workshop.
Please bring your own laptop.
The document discusses AWS cloud enablement through training paths at ABN AMRO Bank. It outlines a 5 phase training approach including cloud awareness, foundational technical training, certification preparation, and advanced/specialty courses. It provides an example of ABN AMRO's implementation including delivering training at scale through a combination of online and classroom formats. Key lessons learned include making certification mandatory, using training partners, and measuring business objectives. The document argues cloud skills training can help organizations reduce costs, increase performance, and drive business agility through economic and talent recruitment benefits.
OOW16 - Oracle Enterprise Manager 13c Cloud Control for Managing Oracle E-Bus...
Oracle Application Management Suite for Oracle E-Business Suite delivers capabilities to facilitate management of Oracle E-Business Suite environments running in the Oracle Cloud and on-premises using a single pane of glass. Learn about key new features provided in the latest release available with Oracle Enterprise Manager 13c. Features covered include deploying patches and customization across all environments, comparing configurations between instances, provisioning a new instance to the Oracle Cloud, migrating an existing instance to the cloud, enforcing compliance standards, and automated cloning.
Amazon RDS allows you to launch an optimally configured, secure and highly available database with just a few clicks. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks, freeing you to focus on your applications and business.
Getting started with Amazon Web Services (AWS) is fast and simple. The webinar based on this presentation outlined best practice guidance from AWS customers and the Amazon Web Services team, helping you launch your projects in AWS Cloud rapidly and ensure your applications are simple to manage, resilient and cost effective. This webinar also explores how to set up accounts, use consolidated billing and how to securely control access through AWS Identity and Access Management (IAM).
Topics covered in this presentation include:
• Understand the best practices for getting started in the AWS Cloud
• Learn to build resilient, reliable, cost effective applications
• Learn more about secure control and access to AWS for your users
• Discover how to structure your AWS accounts
• Hear more about cost management, instance bootstrapping and the use of availability zones
You can see a recording of this webinar on YouTube here: http://youtu.be/T64qFcyTGAU
Simple REST-API overview for developers. An newer version is here: https://www.slideshare.net/patricksavalle/super-simple-introduction-to-restapis-2nd-version-127968966
Launch AWS Faster using Automated Landing Zones - AWS Online Tech Talks
Learning Objectives:
- Learn about the AWS best practice recommendations for setting up your environment
- Learn how the automated AWS Landing Zone solution can set up a baseline environment in just a few hours
- Learn how you can extend the AWS Landing Zone to meet your organization's requirements
This document provides an overview of Storage Foundation and Alfresco solutions. It discusses hardware storage concepts including drive types, interfaces, and RAID. It also covers Alfresco storage-related solutions such as the S3 connector, XAM connector, content store selector, and replication capabilities. Partnership solutions from Xenit, Star Storage, and community solutions are also mentioned. The document concludes with best practices around content store, indexes, logs, and backup/recovery.
The document outlines principles of microservices, including modeling services around business domains, having a culture of automation, hiding implementation details, decentralizing systems, isolating failures, deploying independently, making systems highly observable, and other principles. The presentation provides examples and discusses strategic goals and architectural practices for designing fine-grained microservice systems.
Web services allow for integration both within and between organizations through standardized XML messaging over the internet. The core technologies that enable web services are SOAP, which defines a standard messaging protocol, WSDL, which describes service interfaces, and UDDI, which allows services to be published and discovered. SOAP uses XML for flexible, self-describing messages and takes advantage of XML features like namespaces and schemas. It defines an envelope, header and body structure. Common uses of web services include processing purchase orders, answering inquiries, and processing shipment requests across organizational boundaries without tight coupling between partners.
10 performance and scalability secrets of ASP.NET websites
1) ASP.NET requires optimizations at the code, database, and configuration levels to scale to millions of hits out of the box. Common optimizations include tweaking process model settings, removing unnecessary pipeline components, and using compiled Linq queries.
2) Issues like application-level DOS attacks, slow profile provider stored procedures, and Linq to SQL performance problems can be addressed to improve scalability. Using a CDN can also help offload static content delivery.
3) Database queries must consider index usage and transaction isolation levels to prevent timeouts and deadlocks under high load.
This document discusses asynchronous I/O in Java and Scala using the Play Framework. It describes how LinkedIn uses a service-oriented architecture with hundreds of services making requests to each other. It then covers how Play supports non-blocking I/O using asynchronous code, promises, and futures to allow parallel requests without blocking threads. Key points covered include using map and flatMap to transform promises and futures, handling errors and timeouts, and the benefits of non-blocking I/O for scalability.
The document provides an overview of developing a 3-tier web application using MySQL, JavaServer Pages (JSP), and Apache Tomcat. It discusses the architecture of a 3-tier system with separate data, application, and presentation tiers. It also provides information on using MySQL for the database tier, JSP and servlets for the application tier, and HTML/JSP for the presentation tier. The document gives examples of using MySQL commands and JSP tags and objects.
1. The document discusses various optimizations that can be made to an ASP.NET MVC application to improve performance, including compiled LINQ queries, URL caching, and data caching.
2. Benchmark results show that optimizing partial view rendering, LINQ queries, and URL generation improved performance from 8 requests/second to 61.5 requests/second. Additional caching of URLs, statistics, and content improved performance to over 400 requests/second.
3. Turning off ASP.NET debug mode also provided a significant performance boost, showing the importance of running production sites in release mode.
This document discusses SQL injection and the sqlmap tool for automating the process of detecting and exploiting SQL injection flaws. Some key points:
- SQL is a programming language used to manage data in relational database management systems. SQL injection occurs when malicious SQL code is inserted into an entry field for execution, potentially enabling control of the entire database.
- Sqlmap automates the process of detecting and exploiting SQL injection vulnerabilities. It has capabilities like database fingerprinting, data extraction, accessing the underlying file system, and executing commands on the operating system via SQL injections.
- The tool can detect injectable parameters, generate automatic payloads to retrieve data, fingerprint the database management system, and provide an interactive SQL shell
This document summarizes Denis Gundarev's presentation on how to build a Citrix infrastructure in the Amazon Web Services (AWS) cloud. The presentation covered:
- An overview of AWS services like EC2, S3, VPC, RDS, and how to monitor with CloudWatch
- Common Citrix deployment architectures on AWS like using NetScaler and AutoScaling
- Limitations of running Citrix on AWS like lack of capacity management and client OS support
- Guidelines for deploying Citrix on AWS like starting simple, proper sizing, and careful VPC planning
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIsAmazon Web Services
Amazon API Gateway is a fully managed service that makes it easy for developers to create, deploy, secure, and monitor APIs at any scale. In this presentation, you’ll find out how to quickly declare an API interface and connect it with code running on AWS Lambda. Amazon API Gateway handles all of the tasks involved in accepting and processing up to hundreds of thousands of concurrent API calls, including traffic management, authorization and access control, monitoring, and API version management. We will demonstrate how to build an API that uses AWS Identity and Access Management (IAM) for authorization and Amazon Cognito to retrieve temporary credentials for your API calls. We will write the AWS Lambda function code in Java and build an iOS sample application in Objective C.
Introduction to AWS and Terraform by out dear colleagues Dimosthenis Botsaris and Alexandros Koufatzis.. In these slides they introduce AWS, cloud networking and cloud native workflows using infrastructure as code via Terraform.
The document summarizes an AWS user group presentation by Shaimaa Esmaeil on AWS101. The presentation introduced cloud computing concepts, AWS global infrastructure and services, and demonstrated EC2 and S3. It discussed on-premises vs cloud, cloud models (IaaS, PaaS, SaaS), AWS regions and availability zones. It provided overviews of EC2 instances, AMIs, types, EBS, security groups and S3 buckets and objects. Useful training and practice exam resources were also shared.
SpringOne Platform 2016
Speakers: Kevin Hoffman; Advisory Solutions Architect, Pivotal & Chris Umbel; Advisory Architect, Pivotal
With the advent of ASP.NET Core, developers can now build cross-platform microservices in .NET. We can build services on the Mac, Windows, or Linux and deploy anywhere--most importantly to the cloud.
In this session we'll talk about Cloud Native .NET, building .NET microservices, and deploying them to the cloud. We'll build services that participate in a robust ecosystem by consuming OSS servers such as Spring Cloud Configuration Server and Eureka. We'll also show how these .NET microservices can take advantage of circuit breakers and be automatically deployed to the cloud via CI/CD pipelines.
Auto Scaling allows automatically scaling Amazon EC2 capacity up or down based on user-defined policies, schedules, and health checks. This helps maintain application availability and allows scaling capacity up during demand spikes and reducing it during low traffic periods to optimize costs. The document discusses how Auto Scaling works, its benefits over traditional scaling methods in maintaining performance and reducing costs, and provides examples of common Auto Scaling APIs for creating, describing, and managing Auto Scaling groups, launch configurations, and triggers.
AWS re:Invent 2016: Workshop: Using the Database Migration Service (DMS) for ...Amazon Web Services
It can help you do much more. You can use DMS to consolidate multiple databases into a single database or split a single database into multiple databases. You can also use DMS for data distribution to multiple systems. For both of these use cases your source database can be outside of AWS (on premises) or in AWS (EC2 or RDS). DMS can also be used for near real-time replication of data. Replication can be done to one or more targets within AWS, in the same region or across regions. You can also replicate data from databases within AWS to databases outside of AWS. In this session we will discuss all these usage patterns and help you try them out yourselves.
Prerequisites:
You should have good database knowledge and at least some experience with Amazon RDS or Amazon Aurora.
Participants should have an AWS account established and available for use during the workshop.
Please bring your own laptop.
The document discusses AWS cloud enablement through training paths at ABN AMRO Bank. It outlines a 5 phase training approach including cloud awareness, foundational technical training, certification preparation, and advanced/specialty courses. It provides an example of ABN AMRO's implementation including delivering training at scale through a combination of online and classroom formats. Key lessons learned include making certification mandatory, using training partners, and measuring business objectives. The document argues cloud skills training can help organizations reduce costs, increase performance, and drive business agility through economic and talent recruitment benefits.
OOW16 - Oracle Enterprise Manager 13c Cloud Control for Managing Oracle E-Bus...vasuballa
Oracle Application Management Suite for Oracle E-Business Suite delivers capabilities to facilitate management of Oracle E-Business Suite environments running in the Oracle Cloud and on-premises using a single pane of glass. Learn about key new features provided in the latest release available with Oracle Enterprise Manager 13c. Features covered include deploying patches and customization across all environments, comparing configurations between instances, provisioning a new instance to the Oracle Cloud, migrating an existing instance to the cloud, enforcing compliance standards, and automated cloning.
Amazon RDS allows you to launch an optimally configured, secure and highly available database with just a few clicks. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks, freeing you to focus on your applications and business.
Getting started with Amazon Web Services (AWS) is fast and simple. The webinar based on this presentation outlined best practice guidance from AWS customers and the Amazon Web Services team, helping you launch your projects in AWS Cloud rapidly and ensure your applications are simple to manage, resilient and cost effective. This webinar also explores how to set up accounts, use consolidated billing and how to securely control access through AWS Identity and Access Management (IAM).
Topics covered in this presentation include:
• Understand the best practices for getting started in the AWS Cloud
• Learn to build resilient, reliable, cost effective applications
• Learn more about secure control and access to AWS for your users
• Discover how to structure your AWS accounts
• Hear more about cost management, instance bootstrapping and the use of availability zones
You can see a recording of this webinar on YouTube here: http://youtu.be/T64qFcyTGAU
Simple REST-API overview for developers. An newer version is here: https://www.slideshare.net/patricksavalle/super-simple-introduction-to-restapis-2nd-version-127968966
Launch AWS Faster using Automated Landing Zones - AWS Online Tech TalksAmazon Web Services
Learning Objectives:
- Learn about the AWS best practice recommendations for setting up your environment
- Learn how the automated AWS Landing Zone solution can set up a baseline environment in just a few hours
- Learn how you can extend the AWS Landing Zone to meet your organization's requirements
This document provides an overview of Storage Foundation and Alfresco solutions. It discusses hardware storage concepts including drive types, interfaces, and RAID. It also covers Alfresco storage-related solutions such as the S3 connector, XAM connector, content store selector, and replication capabilities. Partnership solutions from Xenit, Star Storage, and community solutions are also mentioned. The document concludes with best practices around content store, indexes, logs, and backup/recovery.
Principles of microservices XP Days UkraineSam Newman
The document outlines principles of microservices, including modeling services around business domains, having a culture of automation, hiding implementation details, decentralizing systems, isolating failures, deploying independently, making systems highly observable, and other principles. The presentation provides examples and discusses strategic goals and architectural practices for designing fine-grained microservice systems.
Web services allow for integration both within and between organizations through standardized XML messaging over the internet. The core technologies that enable web services are SOAP, which defines a standard messaging protocol, WSDL, which describes service interfaces, and UDDI, which allows services to be published and discovered. SOAP uses XML for flexible, self-describing messages and takes advantage of XML features like namespaces and schemas. It defines an envelope, header and body structure. Common uses of web services include processing purchase orders, answering inquiries, and processing shipment requests across organizational boundaries without tight coupling between partners.
10 performance and scalability secrets of ASP.NET websitesoazabir
1) ASP.NET requires optimizations at the code, database, and configuration levels to scale to millions of hits out of the box. Common optimizations include tweaking process model settings, removing unnecessary pipeline components, and using compiled Linq queries.
2) Issues like application-level DOS attacks, slow profile provider stored procedures, and Linq to SQL performance problems can be addressed to improve scalability. Using a CDN can also help offload static content delivery.
3) Database queries must consider index usage and transaction isolation levels to prevent timeouts and deadlocks under high load.
This document discusses asynchronous I/O in Java and Scala using the Play Framework. It describes how LinkedIn uses a service-oriented architecture with hundreds of services making requests to each other. It then covers how Play supports non-blocking I/O using asynchronous code, promises, and futures to allow parallel requests without blocking threads. Key points covered include using map and flatMap to transform promises and futures, handling errors and timeouts, and the benefits of non-blocking I/O for scalability.
The document provides an overview of developing a 3-tier web application using MySQL, JavaServer Pages (JSP), and Apache Tomcat. It discusses the architecture of a 3-tier system with separate data, application, and presentation tiers. It also provides information on using MySQL for the database tier, JSP and servlets for the application tier, and HTML/JSP for the presentation tier. The document gives examples of using MySQL commands and JSP tags and objects.
1. The document discusses various optimizations that can be made to an ASP.NET MVC application to improve performance, including compiled LINQ queries, URL caching, and data caching.
2. Benchmark results show that optimizing partial view rendering, LINQ queries, and URL generation improved performance from 8 requests/second to 61.5 requests/second. Additional caching of URLs, statistics, and content improved performance to over 400 requests/second.
3. Turning off ASP.NET debug mode also provided a significant performance boost, showing the importance of running production sites in release mode.
This document discusses SQL injection and the sqlmap tool for automating the process of detecting and exploiting SQL injection flaws. Some key points:
- SQL is a programming language used to manage data in relational database management systems. SQL injection occurs when malicious SQL code is inserted into an entry field for execution, potentially enabling control of the entire database.
- Sqlmap automates the process of detecting and exploiting SQL injection vulnerabilities. It has capabilities like database fingerprinting, data extraction, accessing the underlying file system, and executing commands on the operating system via SQL injections.
- The tool can detect injectable parameters, generate automatic payloads to retrieve data, fingerprint the database management system, and provide an interactive SQL shell
How to build a Citrix infrastructure on AWSDenis Gundarev
This document summarizes Denis Gundarev's presentation on how to build a Citrix infrastructure in the Amazon Web Services (AWS) cloud. The presentation covered:
- An overview of AWS services like EC2, S3, VPC, RDS, and how to monitor with CloudWatch
- Common Citrix deployment architectures on AWS like using NetScaler and AutoScaling
- Limitations of running Citrix on AWS like lack of capacity management and client OS support
- Guidelines for deploying Citrix on AWS like starting simple, proper sizing, and careful VPC planning
The outline of the presentation (presented at NDC 2011, Oslo, Norway):
- Short summary of OData evolution and current state
- Quick presentation of tools used to build and test OData services and clients (Visual Studio, LinqPad, Fiddler)
- Definition of canonical REST service, conformance of DataService-based implementation
- Updateable OData services
- Sharing single conceptual data model between databases from different vendors
- OData services without Entity Framework (NHibernate, custom data provider)
- Practical tips (logging, WCF binding, deployment)
This document discusses various techniques for optimizing website performance, including:
1. Network optimizations like compression, HTTP caching, and keeping connections alive.
2. Structuring content efficiently and using tools like YSlow to measure performance.
3. Application caching of pages, database queries, and other frequently accessed content.
4. Database tuning through indexing, query optimization, and offloading text searches.
5. Monitoring resource usage and business metrics to ensure performance meets targets.
The document discusses various techniques for hacking web applications and web services, including:
1. Profiling infrastructure, attacking authentication and authorization, exploiting data connectivity, attacking client-side vulnerabilities, and denial of service attacks against web applications.
2. Using automated scanning tools to discover servers, services, and vulnerabilities. Common vulnerabilities in Apache, SQL injection, and insecure web service descriptions are described.
3. Attacking web application management interfaces through insecure protocols like Telnet and exploiting features like WebDAV that allow remote file manipulation.
The document provides an introduction to server-side JavaScript using Node.js. It discusses Node.js basics, how it uses an event-driven and non-blocking model, and provides examples of building HTTP and TCP servers. It also covers Node.js modules, benchmarks, when to use/not use Node.js, and popular companies using Node.js in production.
Apache Samza is a stream processing framework that provides high-level APIs and powerful stream processing capabilities. It is used by many large companies for real-time stream processing. The document discusses Samza's stream processing architecture at LinkedIn, how it scales to process billions of messages per day across thousands of machines, and new features around faster onboarding, powerful APIs including Apache Beam support, easier development through high-level APIs and tables, and better operability in YARN and standalone clusters.
The site was slow. CPU and memory usage everywhere! Some dead objects in the corner. Something terrible must have happened! We have some IIS logs. Some traces from a witness. But not enough to find out what was wrong. In this session, we’ll see how effective telemetry, a profiler or two as well as a refresher of how IIS runs our ASP.NET web applications can help solve this server murder mystery.
Sherlock Homepage - A detective story about running large web services (VISUG...Maarten Balliauw
The site was slow. CPU and memory usage everywhere! Some dead objects in the corner. Something terrible must have happened! We have some IIS logs. Some traces from a witness. But not enough to find out what was wrong. In this session, we’ll see how effective telemetry, a profiler or two as well as a refresher of how IIS runs our ASP.NET web applications can help solve this server murder mystery.
My presentation at MWLUG 2015. I show how to build and connect a modern looking website, built with HTML, CSS, and Javascript/jQuery, to your existing IBM Domino backend data using Ajax and JSON and some simple Lotusscript code.
Sherlock Homepage - A detective story about running large web services - WebN...Maarten Balliauw
The site was slow. CPU and memory usage everywhere! Some dead objects in the corner. Something terrible must have happened! We have some IIS logs. Some traces from a witness. But not enough to find out what was wrong. In this session, we’ll see how effective telemetry, a profiler or two as well as a refresher of how IIS runs our ASP.NET web applications can help solve this server murder mystery.
The document discusses server-side programming and Java 2 Enterprise Edition (J2EE). It explains what J2EE is, its architecture and components. It describes the lifecycle of a servlet, including initialization, request handling, and destruction. It also discusses session management techniques in servlets like using cookies, URL rewriting, and hidden form fields to track user requests across multiple pages. Exception handling using request dispatchers is also covered.
This presentation was prepared for a Webcast where John Yerhot, Engine Yard US Support Lead, and Chris Kelly, Technical Evangelist at New Relic discussed how you can scale and improve the performance of your Ruby web apps. They shared detailed guidance on issues like:
Caching strategies
Slow database queries
Background processing
Profiling Ruby applications
Picking the right Ruby web server
Sharding data
Attendees will learn how to:
Gain visibility on site performance
Improve scalability and uptime
Find and fix key bottlenecks
See the on-demand replay:
http://pages.engineyard.com/6TipsforImprovingRubyApplicationPerformance.html
Sherlock Homepage - A detective story about running large web services - NDC ...Maarten Balliauw
The site was slow. CPU and memory usage everywhere! Some dead objects in the corner. Something terrible must have happened! We have some IIS logs. Some traces from a witness. But not enough to find out what was wrong. In this session, we’ll see how effective telemetry, a profiler or two as well as a refresher of how IIS runs our ASP.NET web applications can help solve this server murder mystery.
C sharp and asp.net interview questionsAkhil Mittal
The document provides summaries of common questions and answers related to ASP.NET, C#, and the .NET framework. It defines view state as storing the current property settings of an ASP.NET page and controls to detect form submissions. It explains that user controls allow reusing ASP.NET pages as controls, and validation controls perform input checking on server controls. The document also distinguishes between Response.Write and Response.Output.Write, and lists page life cycle methods like Init, Load, and Unload.
Similar to Scaling asp.net websites to millions of users (20)
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
How RPA Help in the Transportation and Logistics Industry.pptxSynapseIndia
Revolutionize your transportation processes with our cutting-edge RPA software. Automate repetitive tasks, reduce costs, and enhance efficiency in the logistics sector with our advanced solutions.
Kief Morris rethinks the infrastructure code delivery lifecycle, advocating for a shift towards composable infrastructure systems. We should shift to designing around deployable components rather than code modules, use more useful levels of abstraction, and drive design and deployment from applications rather than bottom-up, monolithic architecture and delivery.
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsMydbops
This presentation, delivered at the Postgres Bangalore (PGBLR) Meetup-2 on June 29th, 2024, dives deep into connection pooling for PostgreSQL databases. Aakash M, a PostgreSQL Tech Lead at Mydbops, explores the challenges of managing numerous connections and explains how connection pooling optimizes performance and resource utilization.
Key Takeaways:
* Understand why connection pooling is essential for high-traffic applications
* Explore various connection poolers available for PostgreSQL, including pgbouncer
* Learn the configuration options and functionalities of pgbouncer
* Discover best practices for monitoring and troubleshooting connection pooling setups
* Gain insights into real-world use cases and considerations for production environments
This presentation is ideal for:
* Database administrators (DBAs)
* Developers working with PostgreSQL
* DevOps engineers
* Anyone interested in optimizing PostgreSQL performance
Contact info@mydbops.com for PostgreSQL Managed, Consulting and Remote DBA Services
YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS
WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well.
Some facts about WPRiders and why we are one of the best firms around:
More than 700 five-star reviews! You can check them here.
1500 WordPress projects delivered.
We respond 80% faster than other firms! Data provided by Freshdesk.
We’ve been in business since 2015.
We are located in 7 countries and have 22 team members.
With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce.
Our team members are:
- highly experienced developers (employees & contractors with 5 -10+ years of experience),
- great designers with an eye for UX/UI with 10+ years of experience
- project managers with development background who speak both tech and non-tech
- QA specialists
- Conversion Rate Optimisation - CRO experts
They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals.
At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.
Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data.
The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs.
Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution!
Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.
7 Most Powerful Solar Storms in the History of Earth.pdfEnterprise Wired
Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).
Coordinate Systems in FME 101 - Webinar SlidesSafe Software
If you’ve ever had to analyze a map or GPS data, chances are you’ve encountered and even worked with coordinate systems. As historical data continually updates through GPS, understanding coordinate systems is increasingly crucial. However, not everyone knows why they exist or how to effectively use them for data-driven insights.
During this webinar, you’ll learn exactly what coordinate systems are and how you can use FME to maintain and transform your data’s coordinate systems in an easy-to-digest way, accurately representing the geographical space that it exists within. During this webinar, you will have the chance to:
- Enhance Your Understanding: Gain a clear overview of what coordinate systems are and their value
- Learn Practical Applications: Why we need datams and projections, plus units between coordinate systems
- Maximize with FME: Understand how FME handles coordinate systems, including a brief summary of the 3 main reprojectors
- Custom Coordinate Systems: Learn how to work with FME and coordinate systems beyond what is natively supported
- Look Ahead: Gain insights into where FME is headed with coordinate systems in the future
Don’t miss the opportunity to improve the value you receive from your coordinate system data, ultimately allowing you to streamline your data analysis and maximize your time. See you there!
Comparison Table of DiskWarrior Alternatives.pdfAndrey Yasko
To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfNeo4j
Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.
Support en anglais diffusé lors de l'événement 100% IA organisé dans les locaux parisiens d'Iguane Solutions, le mardi 2 juillet 2024 :
- Présentation de notre plateforme IA plug and play : ses fonctionnalités avancées, telles que son interface utilisateur intuitive, son copilot puissant et des outils de monitoring performants.
- REX client : Cyril Janssens, CTO d’ easybourse, partage son expérience d’utilisation de notre plateforme IA plug & play.
1. Scaling ASP.NET websites
from thousands to millions
of users
Lessons learnt from scaling Web 2.0 apps to millions of
users
Omar AL Zabir
Chief Architect, SaaS Platform, BT
omaralzabir.com
omaralzabir@gmail.com
Twitter.com/omaralzabir
Book “Building Web 2.0 portal using ASP.NET 3.5” from O‟Reilly
2. How to blow up a website
Get some super fast fiber broadband connection.
Run this on couple of quad core desktops:
for (int j = 0; j < 100; j ++)
{
for (int i = 0; i < 100; i ++)
{
var client = new WebClient();
client.DownloadStringAsync(
new Uri("http://www.microsoft.com/MISReport.aspx");
}
Thread.Sleep(500);
}
3. Prevent App Level DOS attack
Application Level DOS attacks are attempts to hit
your expensive pages too frequently so that you
have 100% CPU and your site goes down. For ex,
hitting some expensive Report page continuously.
You can run out of ASP.NET Threads and stop
responding completely to any request.
I‟m not talking about Network level DOS attacks
like TCP SYN flood or DDOS attacks that hardware
firewalls can prevent.
Firewalls don‟t block legitimate requests.
4. Prevent App level DOS attacks
Protect only expensive pages. Pages that are unlikely to
get hit too many times within a short duration.
Build a HttpModule and hook on OnInit event.
Store which IP is making how many number of hits in
last 10 minutes. Store the table in some in-memory
cache.
If the threshold has exceeded, stop responding to that
IP. Call Response.End()
Solution is here:
http://tinyurl.com/omarDOS
IP Hits in last 10 mins
128.0.0.1 500
128.0.0.2 345
5. ASP.NET ProcessModel Optimization
ASP.NET ProcessModel Defaults
maxWorkerThreads = 20
maxIOThreads = 20
memoryLimit = 60
Nowadays, servers are way too
powerful. You don‟t need to be
conservative.
Change default process model
setting in machine.config to make
best use of CPU power.
6. ASP.NET Pipeline Optimization
Default ASP.NET Pipeline has several components that intercept
each and every request. Thus they add extra processing overhead
on every request.
Multiply the overhead by hundreds of requests per second – you
get a significant overhead.
7. ASP.NET Pipeline Optimization
Remove what you don‟t need.
If you are using Forms Authentication, SQL Server
storage, no web.config based role based permission then
you can remove most of them:
8. Prevent large ASP.NET cookies on
static content
Each and every request, even static files, get the
ASP.NET cookies sent.
517 bytes of worthless data per request.
Avg pages have 40 resources. 40 x 517 = 20 KB.
1M page view = 20 GB of data upload to server.
Cookie:
.DBANON=w3kYczsH8Wvzs6MgryS4JYEF0N-8ZR6aLRSTU9KwVaGa
ydD6WwUHD7X9tN8vBgjgzKf3r3SJHusTYFjU85yYfnunyCeuExcZs8
95JK9Fk1HS68ksGwm3QpxnRZvpDBAfJKEUKee2OTlND0gi43qwwtI
PLeY1; ASP.NET_SessionId=bmnbp155wilotk45gjhitoqg; .DBAUTH
12=2A848A8C200CB0E8E05C6EBA8059A0DBA228FC5F6EDD2940
1C249D237812344C15B3C5C57D6B776037FAA8F14017880E57B
DC14A7963C58B0A0B30229AF0123A6DF56601D814E75525E7DC
A9AD4A0EF200832B39A1F35A5111092F0805B0A8CD3D2FD5E3A
B6176893D86AFBEB68F7EA42BE61E89537DEAA3279F3B576D0C
44BA00B9FA1D9DD3EE985F37B0A5A134ADC0EA9C548D
9. Prevent ASP.NET cookies on static
content
Setup a new website in IIS, map to the same code folder.
Map static.yoursite.com host header to that website.
Prefix all css, js, image links with http://static.yoursite.com/
Add a Global.asax‟s EndResponse event on the new website.
HttpContext context = HttpContext.Current;
if (context.Request.Url.Host == “static.yoursite.com”)
{
List<string> cookiesToClear = new List<string>();
foreach (string cookieName in context.Request.Cookies)
{
HttpCookie cookie =
context.Request.Cookies[cookieName];
cookiesToClear.Add(cookie.Name);
}
foreach (string name in cookiesToClear)
{
HttpCookie cookie = new HttpCookie(name,
string.Empty);
cookie.Expires = DateTime.Today.AddYears(-1);
context.Response.Cookies.Set(cookie);
10. System.net optimization
If you are using HttpWebRequest or WebClient or any
other TCP/IP operation, increase the max connection
limit.
Default is 2 per IP.
WCF service calls are limited by this setting.
Unless you suspect rogue clients, set some reasonably
high number on webservers, but moderate number on
desktop clients.
12. ASP.NET Profile Provider
Anonymous Provider creates one anonymous user in
database on every first hit to Profile object‟s Custom
properties:
The SP aspnet_Profile_GetProperties gets called when
you access Profile object for first time in a request. And
this SP is slooooooooow!
13. ASP.NET Profile Provider
The slow SP that gets fired when you access custom Profile
properties:
CREATE PROCEDURE [dbo].[ aspnet_Profile_GetProperties]
@ApplicationName nvarchar(256), @UserId …
AS
BEGIN
DECLARE @ApplicationId uniqueidentifier
SELECT @ApplicationId = NULL
SELECT @ApplicationId = ApplicationId
FROM dbo.aspnet_Applications
WHERE LOWER(@ApplicationName) = LoweredApplicationName
…
…
…
IF (@@ROWCOUNT > 0)
BEGIN
UPDATE dbo.aspnet_Users
SET LastActivityDate=@CurrentTimeUtc
WHERE UserId = @UserId
END
END
15. ASP.NET Profile Provider
Don‟t update LastActivityDate when Profile object is
loaded. Do it only when Profile object is updated.
Update once every hour or so. If LastActivityDate <
DateTime.Now.AddHours(-1) then update. No need to do
per request or too frequently.
Hard code the Application ID to avoid one lookup inside
the SP.
tinyurl.com/omarGetProp
16. ASP.NET Membership
ASP.NET Membership Provider Stored Procs use default
transaction isolation level, which is Serializable.
Transaction (Process ID ##) was deadlocked on lock resources
with another process and has been chosen as the deadlock
victim. Rerun the transaction.
Timeout Expired. The Timeout Period Elapsed Prior To
Completion Of The Operation Or The Server Is Not Responding.
ALTER PROCEDURE [dbo].[aspnet_Profile_GetProperties]
@ApplicationName nvarchar(256),
@UserName nvarchar(256),
@CurrentTimeUtc datetime
AS
BEGIN
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
17. ASP.NET Membership Query
Common queries that brings down hell:
Select * from aspnet_users where UserName = „blabla‟
Select * from aspnet_membership where Email =
“someone@somewhere.com”
What‟s wrong with these queries?
18. ASP.NET Membership Queries
Let's look at the indexes:
Table: aspnet_users
Clustered Index = ApplicationID, LoweredUserName
NonClustered Index = ApplicationID, LastActivityDate
Primary Key = UserID
Table: aspnet_membership
Clustered Index = ApplicationID, LoweredEmail
NonClustered = UserID
Table: aspnet_Profile
Clustered Index = UserID
DO NOT use Email or UserName fields in WHERE clause. They are not
part of the index instead LoweredUserName and LoweredEmail fields
are in conjunction with ApplicationID field. All queries must have
ApplicationID in the WHERE clause.
19. A love story
.NET 3.0 was released, woohoo!
WCF!
Lambda Expressions!!
Linq to SQL!!!
Upgraded to .NET 3.0, top to bottom.
Major deployment over the weekend.
Monday 9 AM, peak traffic.
No response from site.
21. Linq to SQL is not suitable for high
volume web applications
Linq to SQL is not optimized for web application.
No disconnected entity support.
Entities are not serializable.
Linq to sql expressions consume high CPU when
compiled to SQL.
var query = from widget in dc.Widgets
where widget.ID == id && widget.PageID == pageId
select widget;
var widget = query.SingleOrDefault();
22. How bad Linq to SQL is?
Source: JD Conley‟s blog
23. Fixing Linq to SQL
Convert all queries to Compiled Queries.
tinyurl.com/omarLINQ
24. Linq to SQL transaction deadlocks
Large table, high read and medium write, causes query
timeouts, high locks, transaction deadlock because of
SERIALIZATION isolation level.
Transaction (Process ID ##) was deadlocked on lock resources
with another process and has been chosen as the deadlock
victim. Rerun the transaction.
Timeout Expired. The Timeout Period Elapsed Prior To
Completion Of The Operation Or The Server Is Not Responding.
using (var db = new YourDataContext2())
{
db.Connection.Open();
db.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ
UNCOMMITTED;");
var user = db.aspnet_Users.First();
var pages = user.Pages.ToList();
}
25. Linq to SQL transaction deadlocks
Connection does not close!
Bug in Data Context code.
Solution is to override the Dispose.
class YourDataContext2 : YourDataContext, IDisposable {
public new void Dispose() {
if (base.Connection != null)
if (base.Connection.State != System.Data.ConnectionState.Closed) {
base.Connection.Close();
base.Connection.Dispose();
}
base.Dispose();
}
}
26. Content Delivery Network (CDN)
CDN cache and deliver content from their servers that
are closest to users‟ computers. The closer servers are
to end user, the shorter roundtrip time for every request.
For ex, Akamai has servers almost every city in the
world.
Content from CDN nodes get served faster with lower
latency than coming from your servers.
CDN Nodes have better caching and compression
algorithms.
CDN nodes can offload your server and network from
delivering static files. Thus better throughput for
dynamic content.
30. Two types of CDN
Static – you upload the files to CDN and
they give you an URL. E.g.
yoursite.cachefly.net/logo.gif
Dynamic – Host your dynamic application
behind the CDN. For ex, Edgecast and
Panther Express.
Very cheap - $0.2/GB
32. How Dynamic CDN works
www.yoursite.com
Static content
cached,
Compressed
automatically
33. How Dynamic CDN works
www.yoursite.com
Static content
cached,
Compressed
automatically
34. 13 disasters for production websites
1. Faulty hard drive supplied by supplier, data corruption within weeks.
2. Controller malfunctions and corrupts all disks in the same controller.
3. RAID malfunction.
4. CPU overheated and burned out.
5. Firewall went down.
6. Remote Desktop stopped working after a patch installation.
7. Remote Desktop max connection exceeded. Cannot login anymore to
servers.
8. Database got corrupted while we were moving the production
database from one server to another over the network.
9. One developer deleted the production database accidentally while
doing routine work.
10. Support crew at hosting service formatted our running production
server instead of a corrupted server that we asked to format.
11. Windows got corrupted and was not working until we reinstalled.
12. DNS goes down. Don’t get domain from GoDaddy.
13. Internet backbone goes down in different part of the world.
http://tinyurl.com/omar13
35. Conclusion
ASP.NET out of the box, does not scale for millions of
hits.
Must make the hacks at code, database and
configuration level to get it to scale.
That‟s reality for any technology, not ASP.NET specific.