With the evolution of mobile devices and cloud computing the solution architects/ designers now need to expand their thought process and at the same time take care of new factors. The cloud computing provides new possibilities of capabilities that business solutions can provide. The mobile devices can now be end points and part of the solutions to make it more available and convenient to use.
Before jumping in to create various solutions in the new evolving paradigm the solution architect/designer should consider the following :
Understand the organization’s policies and readiness
The cloud adoption is not universal. Various organizations have adopted the new paradigm at different levels. Even within a company, different departments may have different adoption and readiness levels because of various factors. Every organization / IT has several policies regarding usage of various cloud and models devices. There are policies and requirements for public, private, and hybrid cloud use. There are various compliance and legal requirements for data access and security. A thorough understanding of the landscape is a must while designing any solution.
New opportunities and capabilities using public cloud services
The cloud not only provides alternatives for hosting but it also provides access to various capabilities and data that is not provided or hosted within your IT. This is where an architect needs to think beyond the boundaries. For example, a sales enablement or a marketing solution can make use of services and data provided by various social platforms like LinkedIn or Twitter. They can enhance the value of their solutions by providing the intelligence about their customers/leads from the internet. Various business solutions can now make use of mapping and traffic services to enhance the value of solution. Consider the usage of these kinds of services depending on the nature of solution being designed.
New opportunities and capabilities with Mobile devices
Usage of mobile devices is not a new concept but the rapid adoption of smartphones and tablets by majority has transformed it to a platform that is very significant while designing any solution. With mobile end points a solution can be made available where it is needed or used most. Mobile devices not only makes the solution more available but it also can provide new capabilities to your solution. For example, a fault reporting solution can make use of device’s camera and GPS to provide better reporting of problems. So while architecting/designing a solution, consider using capabilities like location awareness and camera. The use of some new mobile peripherals like wearable(s), mobile printers and projectors can further enhance the value.
While designing any solution, think about not only how this solution can deliver the current needs but also how it can keep up with the future demands. The factors to consider while thinking about the future usage of the solution are scalability, extensibility, new capabilities and end points. With these considerations, the solution design may need to incorporate future migration or adoption of different kinds of cloud architectures. This may be due to change in policies or scalability requirements. The solution architecture may need to be open enough to add new capabilities or link it to any new or existing systems. Considering these at the time of architecting and designing the solution can increase the life and value of the solution.
There is no doubt that cost is an important factor for any solution design. The availability of various cloud paradigm can alter the cost in either ways. So considering the cost implication of various cloud models can help in meeting the budgetary needs. Also consider different ways to deliver mobile solutions. For example, native mobile apps can be replaced by mobile web application to allow for lower cost solution. Considering various options available financially can help control the cost of the solution to a desired level.
Application lifecycle elements are very important for a quality solution. Various architectural and design decisions should be made considering time available to develop and release. Sometimes a solution may not be valuable if not delivered within a certain time window. Also considering the other lifecycle elements like testing, deployment process, user acceptance and training, update process and sunset process especially considering the cloud elements and mobile devices is very important while designing/architecting a solution.
Think boundaries and understand trade offs
Every architectural and design decision will affect various elements of the solution. Before making any architectural or design consider the necessity of each feature. Sometimes an important architectural decision is made for not so real requirement. Consider the life of the solution. Consider the users of the applications. Consider the reliability and availability requirements. Consider the limits and availability of cloud based services being planned to be used. Consider the limit of online usage and offline capabilities with the mobile solution. Consider the compliance and security requirements with data capture and access. Not every solution need to be on premise or on the cloud. Not every solution need a mobile end point. Think about the usage of the solution: What time during the day will the solution will be used; where will it be used; what is the readiness and capabilities of the users.
IT architects/designers should keep the magic of innovation alive with new solutions. With the new capabilities of cloud and mobile end points, a thorough thinking and analysis is required before finalizing the design. Keeping in mind the boundaries and the above considerations, these capabilities can provide infinite value to business.
Authored by:- Mr. Dharmesh Godha, President and CTO, Advaiya Solutions (www.advaiya.in)