Recently there was a question posed by MR. Kevin Thomas at CoFoundersLab, Cloud Application is relatively very slow – what could be the factors to consider? Jan 23, 2017
Kevin went on to explain, “The Application hosted in Microsoft Azure performs very slow in comparison to normal websites. Being non technical relies on the technical co-founder to fix the issue. In-spite of few changes brought out, system is still not in satisfactory performance level. What are the factors that impact the performance? What are the key causes in general that slows the performance?”
I extracted a few of the responses but you can see the pattern.
Istvan Szukacs CTO as a service, “You can use a tool like Pingdom to get the details of why the page loading slowly. Other than that, you need an expert (like me) to look into which part of the backend is slow.”
Pethuru PhD Cloud Architect, IBM, “There are several factors such as the network latency, the system (VM or BM) performance, etc. for this issue. The cloud infrastructures such as compute, storage and networking have to be accordingly designed, application and database performance have to be tweaked…”
Hugh Proctor, “Cloud also doesn’t remove the need for Application Tiers (a Tier is a machine or VM) and you should be using at least a 3 Tier solution… so therefore: Database is on one machine, Api is on another machine and Presentation is on a third”
David Trehane CEO at Cropdesk.com, “We have had similar issues on AWS. The key factors here are database optimisation and asking the system to do ALL the number crunching ‘on demand’.
We’re currently going through a process of moving the reporting functions to a different server, implementing cached reporting and optimising the database and how it is queried…good luck!”
The advice goes on but it sums up the reasons why Cloud Applications are slower – SQL on the web requires expensive database optimization, expert programming design, and splitting your application off onto numerous servers, just to name a few of the things to try. Basically, hire a pro to help figure out how to run your Db that was originally designed to be used “on premise” and make it work on a browser based cloud application! Damm! Pardon the language. ”Good luck!” sums it up, no guarantees that any of this advice would even work.
SQL (relational tables) – here is a simplified version of what is going on in the “Backend!”. The professional who designs databases take tables and tables of data, multiply the rows by rows and matching columns with columns, extracting the ones that match our query and returning the results. We mix in logical selection, mathematical computations and presto, you get the information you wanted. So yes, optimize, because a lot of data is being manipulated and yes, use many servers for your one solution if you want an answer today!
Here is a very basic example of how SQL works, your table is 3 row by 3 columns and you ask to match another 3 rows by 3 columns, you will get every row matched to every row, remove columns already matching and return the results to the computational part of the operation. That is 3 x 3 = 9 rows on two small tables possibly with 6 columns. Imagine you have 5 tables, hundreds of rows per table, 50 columns, yep, small business data. Medium, 100K row, 10’s of tables, yes the computational challenges grow exponentially!
- “Show me all customers who live in Florida and
- they purchased part number Y0*89834-001, and
- the lot numbers I want are, 12, 23 and 45”,
In the backend, all customers in the customer table and all the invoices in the invoice table and maybe the lot and part number tables are being manipulated. Simplified but I am sure you get the point, massive amounts of data is being crunched in the backend.
What if you tried using a solution that uses a database designed for working with large data more efficiently. Too simple a solution? Well it is that simple. Is SQL the only technique out there? I can tell you it is not. Object databases is one such technology. If you think SQL is technical, don’t even try to understand Object Databases, just accept my word for it that this technology takes the “F#*k!” out of your day!
SQL was born somewhere in the 60’s, Object Db’s somewhere in the late 70’s, can you imagine the advancements in technology that came with this new Db over its older brother? The concept of “Big Data” changed as disk space grew cheaper and data collection expanded. In the late 70’s database designers who took on the challenge to find new techniques to manage this Big Data and delivered many new database “vehicles”. Today, Big Data is Massive Data, and SQL is just not able to keep up without assistance especially when you are sitting at a conference and want an immediate answer. Technology to handle Big Data that is built into the design of Object Databases is better suited for today’s challenges. Yes, yes there are always new challenges, just not as many as you have with the older, slower, big brother.
Advancements in data encryption and compression technology at the server; and with the use of “native” applications for your mobile device, optimized and secure communications is easier to deliver. Your win, no more need for reams of hardware and software architecture just to secure and optimize your SQL-browser based cloud application.
Today have demand for Private Cloud, Public Cloud and On-Premise Cloud, a concept referred to as “Hi-bred Cloud”. Object Database and “naïve” application offer the infrastructure to support this demand.
There are numerous solutions out there, and as a small or medium sized business you have the flexibility to makes changes faster than the big corporate monsters. So do what you have always done and done well, it is why you survive! Change direction, adopt newer technology today and lead in your market.
To those who think this technology is still far away into the future, not so, as one such solution, PurpleSoft Mobile ERP powered by HansaWorld is a SMB solution built on this technology. HansaWorld’s technologies deliver hi-bred cloud, mobile applications with optimized data on the server to meet your challenges today.
Wayne Dinzey, Technical Director – DPD Software Ltd.