Distributing Your Front- and Back-End Data Wisely
As mobile, the cloud, and big data change IT operations so dramatically, the lines between what can and should be done at the back-end versus the front-end have blurred significantly. What are the best methods of structuring and deploying a distributed system? Here are several considerations to help you get the setup that’s best for your situation.
Consider the Sensitivity of the Data
Whether you’re transferring data from the front end to the back or vice versa, be sure it adds enough value to justify the risks.
In an environment serving users with a variety of devices, usually used for both personal and professional business, it’s important to determine what data even needs to make its way to your back end data storage. Unless there is a real need to collect data such as precise location, contacts, personal communications, images, etc., don’t bother sending it to your back end. Collecting and storing data without a purpose just opens you up to privacy concerns unnecessarily.
On the other hand, what data are you sending to devices from the back end that isn’t necessary? One dating app found itself in hot water for transmitting a bit too detailed information on users’ locations. With a little low-grade hacking, it would have been a simple matter for the wrong person to hack the transmitted location information, putting their users at a serious risk. Don’t push data to the front end unless there is enough value to warrant the risk.
Utilize the Power of the Back End
Make use of all that back end muscle and keep it light and easy up front.
The computing power at the back end far surpasses that of user devices. Make sure the hard work is done on the back end, keeping the front end as lightweight and agile as possible. Do all the storing, processing, and analytics possible on the back end, using analytical solutions like Hadoop clusters. With the right data integration tools, you can develop powerful analytics using historical and comparative data on the back end, delivering a solid and impressive user experience on the front end, even when their devices are less than top grade.
Remember, Not All Users and Devices are the Same
Do your mobile users really need all of the information delivered to your desktop users? Take into account various screen sizes and device platforms, because a user interface that looks fabulous on an iPhone won’t deliver the same to an Android user or tablet user. Also consider security issues relative to mobile devices, as well as user permission levels. Build this decision making into the back end to deliver a streamlined, relevant user experience at the front end.
Don’t Forget the Issue of Connectivity
Though it’s best to keep as much of the processing at the back end, you also want to enable some functionality to users with a poor connection or without Internet connection. Of course, what and how much data you cache locally depends on the particular app and its function, but do enable offline work as much as is possible, practical, and secure.
Take the time to decide how to organize your distributed system and how it should be shared between the front and back ends. With the right balance, you can deliver a stellar user experience while keeping apps light and easy and assuring that sensitive data is as secure as possible.