Developing A Web Based System? Have You Considered…

There is always a great number of things to remember when you embark on a new system development, meaning it can be quite easy to overlook some rather important points. To give yourself some piece of mind take a look at these guidelines on what to consider when developing new web based systems.

      How will you maintain security?

    In a world where the technology available is in a constant state of advancement, the level of online threats and susceptibility will only continue to grow. As a result, the security of any web based system is arguably one of the most important areas to consider during the development process to prevent the disclosure or even the loss of confidential information. The security of the system has to be considered throughout the whole development lifecycle and thoroughly tested on completion. Security will also need to be considered as part of the ongoing maintenance of the system, to ensure that the system remains robust to new and emerging threats.

     

    Do you need a framework?

    It isn’t essential to use a framework when developing web based systems, however they can significantly speed up and simplify development. Frameworks can also help with creating a secure system, although regular security patching is required as off the shelf frameworks can be subject to high profile vulnerabilities. The most suitable framework for each development depends on:

    • The target devices, i.e. mobile support, desktop support, tablet support.
    • The type of content, i.e. pages of information, versus more dynamic content such as graphing and data analysis with dashboards etc.
    • The future maintenance and use, i.e. how the site is populated with data/information.

     

    Will you need to scale to increase or reduce demand?

    In a select number of cases a system can have a very well-known user base that is unlikely to change during the course of the system’s life. In these cases, a system and its hosting platform can be designed that meets this in a cost effective way. However, for other systems it may be difficult to predict what the demand will be and how it will change with the life system or you may know that the user base or demand on system resources is going to increase dramatically with time. In these cases, the scalability of the system has to be considered. Failure to do so could result in a degraded user experience or even worse loss of service. Using a scalable design and platform, such as a cloud service, enables the system resources to scale to match the demand as it changes rather than having to re-platform or make significant architectural changes during the operational life of the system.

    What is the best Platform?

    As with many aspects of software development there is no quick and easy answer to this question. Your choice of platform will very much depend on a number of different factors, such as:

    • How much you think the system is likely to need to scale – Use of a cloud based platform such as Amazon AWS or Microsoft Azure, offer quick and easy solutions to scaling, allowing the available bandwidth, performance and capacity of the web based system to be quickly adjusted to meet the demand. This allows more cost effective hosting, and confidence that if demand significantly increases the resources can be increase to match so that the users do not experience a degrade in system performance.
    • Security Requirements of the data – Use of a cloud system may not be appropriate if the data being stored has to be kept within a certain geographical area (kept on-site) or meet strict data security standards. Use of a dedicated server(s) may be more appropriate in this case as it is then easier to define the location and management of the data and its access.

     

    Did you prepare for failure?

    Losing data is never an ideal position to find yourself in, and when it comes to web based systems the loss of just a single server can have serious repercussions. A frequent solution to this problem is to create multiple, or redundant, copies of any data at risk of being lost to be stored on hardware ideally in a separate geographical location. This assures that even in the event of catastrophes such as flooding and fire at the main data centre, your data is recoverable. Consideration should also be given for introducing redundancies to services as a way to secure against the failure of a single node. Running multiple copies of a service simultaneously provides the capability for a system to failover to the ‘healthy’ service should the other fail or degrade over time.

    More From The Blog

    Achieving Software Quality During Implementation

    Achieving Software Quality During Implementation

    Achieving Software Quality During ImplementationSoftware quality is not something you can introduce to a system during the final moments before a release, nor should it be something to sacrifice simply to increase the speed of development. Rather it should be given...

    Do You Know If Your Project Failing?

    Do You Know If Your Project Failing?

    Do You Know If Your Project Failing?Did you know that a study by IBM found that only 40% of software projects successfully meet schedule, budget or quality targets? Or that a separate study by the Portland Journal found similarly concerning results, with between 65...

    Is Your Project In A Mess? – Top 5 Solutions To Turn It Around

    Is Your Project In A Mess? – Top 5 Solutions To Turn It Around

    Is Your Project In A Mess? - Top 5 Solutions To Turn It AroundKeeping a project on track is far from a simple task. The mere act of bringing together a group of individuals with unique thoughts and opinions is bound to introduce a whole mix of problems. So is it...

    Developing A New Desktop Application? Have You Considered…

    Developing A New Desktop Application? Have You Considered…

    Developing A New Desktop Application? Have You Considered…There is always a great number of things to remember when you embark on a new system development, meaning it can be quite easy to overlook some rather important points. To give yourself some piece of mind take...

    Developing A New Embedded System? Have You Considered…

    Developing A New Embedded System? Have You Considered…

    Developing A New Embedded System? Have You Considered…There is always a great number of things to remember when you embark on a new system development, meaning it can be quite easy to overlook some rather important points. To give yourself some piece of mind take a...

    Why Do You Need Requirements? – 6 Top Reasons

    Why Do You Need Requirements? – 6 Top Reasons

    Why Do You Need Requirements? - 6 Top ReasonsIt would be impossible to spend more than a month in the world of software development and never encounter requirements to some degree. Almost every project is centred around some form of requirements documentation, and...

    The Hazards of Updating Legacy Systems

    The Hazards of Updating Legacy Systems

    The Hazards of Updating Legacy SystemsThere is, of course, only one real hazard – to fix a bug or make an enhancement and, in so doing, to introduce a new problem.  The problem usually manifests itself in an area far away from where the changes have been made and so...