As companies continue to embrace their mobile market, they are faced with both business and technical design challenges of how best to meet the needs of their users now and in the future. One challenge in particular that companies are facing in their current web development efforts is how to deliver content to a user that will be accessing that content across a variety of devices. With the increasing diversity in screen size (compare the HP Veer at 2.6” to the 54.6” Sony EX620 SmartTV), companies need to embrace techniques that allow content to respond and adapt to the constraints of the device. A very popular technique that addresses this challenge is “Responsive Web Design” (RWD). The underlying premise of RWD is to use a … Read more »
Everyone knows the story of the three little pigs. In this story each of the three little pigs made different choices about how to build their respective houses. One chose straw because it was the easiest path to completing the house. One chose sticks because it was slightly harder to work with than straw but offered more stability. The third pig chose brick which took a lot of extra work to build but the reward was a strong, safe place to live. While the big bad wolf was able to blow down the houses made from straw and sticks, the brick house withstood his attacks and the pig inside remained safe.
The pigs made their building material decision based largely on a tradeoff between ease of … Read more »
With respect to building web applications today, an important trend is an approach called Responsive Web Design. Responsive Web Design is an implementation strategy that allows you to deliver content that “works” across a large number of different devices with different dimensions. Whether I am on my phone or my laptop, I enjoy an experience that fits the device. For anyone getting started with Responsive Web Design, my suggestion is to first start with the defining article written by Ethan Marcotte. To summarize Marcotte’s article, Responsive Web Design creates a more broadly accessible web by leveraging three key technical ingredients. Those ingredients are the use of Fluid Layouts, Media Queries, and Flexible Images. Looking to the rest of this post, the focus is on just … Read more »
Server virtualization continues to grow. Gartner estimates that virtual OS instances will contribute 70.2% of total new OS instances for 2012 and reach 82.4% by 2016. While this trend is certainly important, it is only part of the story. In order to realize the true benefits of virtualization, IT organizations must actually run their applications on these virtualized servers as cloud applications and services.
The combination of virtualized infrastructure and the plumbing to take advantage of this infrastructure form the foundations of the cloud. Applications may expose cloud services to be consumed by others or simply execute on the cloud themselves. Advantages to this approach include rapid scalability, better utilization of hardware, increased availability and in some cases metered usage to reduce cost. In the world … Read more »
Capture development artifacts with JMeter
While JMeter is a great tool for performance and or regression testing, not every development environment is slated for performance testing. A prior post (Performance artifacts in development) indicates the data needs to be robust (so true), but sometimes we don’t have the luxury of having a comparative data store that represents some percentage of production. Sometimes we might be developing offline, on the plane, on our laptop? In either case the idea of base-lining key services in development is a good idea. We have all seen the cost chart; find and fix in or before system test = n, find and fix the same defect in production = (n * 10) and that’s a low estimate.
Script to run in development
In … Read more »
Performance artifacts in development
Where are your requirements and development performance artifacts?
Over the years of being a performance engineer, I have been involved in a number of projects related to performance and scalability readiness assessments. This involves evaluating the software, either from a vendor or developed in-house, to determine if it has been designed and developed with performance and scalability goals. During this readiness assessment project, myself and the team I work with, will look for non-functional requirements for the key business and system transactions, and development guidelines and artifacts that track or measure service time during the development and unit testing phase. Finding performance early.
To start, there are non-functional requirements that should have been defined … Read more »
Some of the top reasons that your application/web site/mobile app is slow;
10) I thought you turned off the diagnostic logging
9) Do you really have to index a table with five years of history and one Billion rows
8) You doubled the number of calls from the application tier to the database tier for the same workload and were surprised by the increase, which no one noticed until production.
7) They moved the application server to another continent
6) They virtualized it (you weren’t using all the real CPU anyway)
5) You wrote your own caching component and didn’t really understand the impact of flushing the cache
4) Even Amazon Web Services stops allocating Servers (thought you could buy your way out)
3) … Read more »
Business workflow, business process
The System response time must not impact the workflow. The transition from transaction to transaction must be seamless and the user must not notice the system. One might even describe the interaction between the person and the system as graceful and flowing, where the system responds before they can even finish a sip of their coffee, do your users cozy up to the system (too far??).
Understanding each workflow in the application is crucial to setting the proper response time goals of the application. This is required to set up the software performance requirements for the system and for each transition that supports the workflow. The systems today are highly distributed with web … Read more »
How fast, how many users, how many transactions (zoom, zoom)
This post is about Project risk profile:
Software performance requirements is about setting the performance and scalability context for getting the design and development right for your web application, your web service, your messaging hub, your reporting system, your mobile device. I am creating a few checklists;
Project risk profile: Is performance important for this project and what works against performance in the project?
Business workflows: What is the duration of a workflow, how many types of workflow and what is the peak workflow?
Application business volumes and growth: The application automates the workflow with transactions and how will the volumes grow?
Non-user interaction processes (batch, messages): This is about component throughput, how many orders per second?
Communication to down-stream SDLC processes … Read more »
Where does a Software Performance Engineering team fit into the Enterprise?
Shared services and business units
Many Performance engineering teams end up somewhere, rather than placed somewhere. There tends not to be much in the way of preplanning or discussion with the Sr. IT management team. In my experience teams have been in shared services organizations such as;
where they have to support many different applications and provide difference services across the Enterprise. Often times, the business units do not know how to engage with a shared services team and the PE team does not know how to engage the business.
When placed in a Business Unit, this typically … Read more »