Agile development has become the standard methodology for
application development. The days of long term planning with giant Gantt
waterfall charts and detailed requirements is fading away. For years the
product planning process frustrated product owners and businesses because no
matter the plan, nothing ever went to plan. Agile development throws the
detailed planning out the window and instead focuses on giving developers some
basic requirements and pointing them in the right direction. Constant
collaboration via quick iterations with the end users, product owners, and the
development team helps ensure the project is done correctly.
The various agile development methodologies have helped
greatly with creating products faster, but not without causing new problems.
Complicated application deployments now occur weekly or monthly. Most of the
products are web-based and deployed as a software service model. System
performance and availability of these apps becomes mission critical. This is
all much different from the old process of mailing new releases of
client-server apps on CD once per quarter or year.
The steady stream of new products and product enhancements
puts a lot of pressure on IT operations to keep up with the software
deployments and adding infrastructure capacity. The problem is most operations
teams still move slowly thanks to change orders, documentation, procedures,
testing and other processes. Operations can slow the process down and push back
on the development team in some organizations. The DevOps
movement is trying to solve some of these problems by integrating the
development and operations teams more together.
Rapid Change Introduces New Problems
The rapid product change ultimately creates some application
problems along the way. Higher rates of change increase the likelihood of new
application defects. Delivering applications as a software service also means
that scalability of applications is critical. Development teams struggle to
keep up with application defects and scalability concerns in their
applications.
Fixing application problems is a never ending job for agile
development teams. Fixing problems before your customers do and fixing them
quickly is critical. Most companies really struggle with this due to the divide
between the development and operations groups. Fixing application problems
typically requires querying databases, looking at log files, reviewing config files,
reviewing error logs and other similar tasks. It becomes difficult to work on
new features when your lead developers are working on defects from the last
product version.
Developers Need More Visibility
The problem is most developers are not given access to see
server and application information in the production environments. The
operations team doesn’t trust giving all the developers the keys to the kingdom
to log in to production and poke around the servers. The challenge is either
give them no access, or potentially too much access. Those with access can
still waste time figuring out the location of the application and how to
connect to it over VPN. In addition, reproducing problems in test environments
takes too much time and isn't always possible.
System administrators spend a lot of time helping developers
track down server information.
Most companies give key developers access to all of the
production resources so they can help resolve application defects. The problem
is only those key people have access and they become a bottleneck. They end up
spending 25-50% of their time on a daily basis trying to solve application
issues because they are the only ones with access. These key employees’ time is
best spent on strategic new projects, not addressing application defects. This
job should fall to entry level developers, provided they have access to all the
information they need to troubleshoot the problems.
The solution to agile application support is giving all the
developers limited access to the production environment and all the server
information they need to see. Some companies create their own solutions
internally to collect log files, centralize errors or other things to address
the problem. Some developers even have access to server monitoring or other
tools. But they key is giving them access to everything they need so they can
see the full picture and giving access to the whole team. Giving access to
everyone scales up the application support team and creates collaboration
around providing improved application support.
Stackify Enables Agile Application Support
Stackify has created a solution that can give all developers
a secure and read only view of the entire production server environment without console or remote desktop access. They provide a web application
that provides real time visibility to the important information that developers
need to see. An application centric view enables them to see all of their apps
across multiple datacenters and environments. They don’t need to know where the
application is deployed, just the name of the application to find it and dig in
to see more. All your developers can see server health, application health, log
files, config files, windows event viewer, deployment history, application
notes, and much more. They can receive email and text alerts when problems arise
and even safely query your production databases.
Stackify enables companies that do agile development to scale
up their application support team by getting more team members involved. The
lead developers can spend more time on new projects. Application issues can be
fixed quicker than ever. Operations can spend less time helping developers
collect server information. Agile application support starts
with Stackify.