A ‘system architecture’ can be defined as the configuration of hardware, network and software components of a computer system which satisfies the requirement for the provision a particular application or service.
As with a ‘software architecture’, it also relates to the decisions that are taken about the design and composition of the overall system, how it is broken down into components and how these components cooperate. A ‘system architecture’ holds the key to success or failure of a system every bit as much as the ‘software architecture’ does for the software.
Back to Session 1 Activity 1
Activity 2 SOA
Answer
Here’s one possible list – you may have come up with something different.
Business and technology integration, with close alignment between software services and business processes.
Flexibility in responding to changes in customer requirements, to new business opportunities or to competitor threats, because services can easily be re-assembled or new services combined or incorporated into existing applications.
Reuse, as a service can be packaged and made available for reuse in different parts of a business which require the same function.
Integration of legacy applications, as legacy software can be wrapped as a service and made to interoperate with other applications.
Potential development–cost savings, as systems can easily incorporate functions (such as credit card validation or online payment) provided as services by external suppliers.
Interoperability and technology independence, as services written in different languages can interoperate using standard protocols.
Back to Session 2 Activity 1
Activity 3 Benefits and potential problems of using cloud architecture
Answer
Benefits of the cloud There are numerous benefits claimed for the cloud. Here’s one possible list – you may have come up with something different.
1 Cost
A major benefit claimed by many cloud service providers is cost. Data centres are expensive to build and operate, and cloud technology can result in significant reduction in the infrastructure (capital expenditure) and operational costs.
For example, if an IT project requires significant investment in equipment, or investment in a building to house the equipment, the organisation will have to make a case for the capital expenditure and approve funding. It could take months just to get approval and then the actual work must be completed. The cloud alternative could be set up within a few days and be paid for from an operational budget. For a small organisation the running costs could be covered by the cash flow generated by the application.
2 Elasticity
One of the core benefits of the cloud is elasticity – that is, the ability to automatically expand resources as demand increases and shrink resources as demand wanes. The expectation is that cloud applications and services are continuously monitored to ensure they are responding to requests and that they perform within operational limits. Should applications or service fail to respond to a request, or should it exceed its performance limits, a new instance of that applications or service will be launched, either to replace the failed instance or to supplement the existing one.
3 Resilience
Another one of the core benefits of the cloud is resiliency – that is, the ability of cloud applications and services to recover quickly and continue operating even when there has been an equipment failure, power outage or other disruption. Such failures may originate at any of the major components in a cloud architecture: (1) the servers hosting the application or service; (2) the network interconnecting them, local or wide-area connections; or (3) the application or service itself.
Resiliency is often achieved through the use of redundant components, subsystems, systems or facilities. When one element fails or experiences a disruption, the redundant element takes over seamlessly and continues to support computing services to the user base. Ideally, users of a resilient system should not be aware that a disruption has even occurred.