Thinking About Problems Differently
Thinking About Problems Differently
Every technology company goes through a business discovery process with its customers to determine where it best addresses customer needs and what its natural place is in the technology ecosystem. Our discovery process has shown that Fractal best addresses these needs:
Change IT Economics Fractal Programming™ eliminates legacy software platform costs such as Oracle or VMware. Fractal Programming makes efficient use of hardware resources so that data center and cloud provider costs are dramatically reduced. Fractal Programming can cut IT costs in half.
Reduce the Need for Data Centers Fractal microApps™ have less of a need for data centers on premise or in the cloud.
Incorporate All Data Fractal microApps integrate data from disparate sources inside & outside an organization to provide 360-degree customer interaction.
Ubiquitous Fractal microApps continuously absorb data from all your sources and make it real-time available to desktops and mobile devices.
Secure Fractal microApps use a distributed microsegmented data architecture coupled with public/private key crypto-infrastructure. The massive large-scale data breaches that make the evening news are physically impossibile.
Every technology company goes through a technical discovery process with its customer to determine what are the key insights that guide technology development and focus. Our discovery process yielded these observations:
It Doesn't Have To Be So Hard Enterprise app size and complexity is due to the fact that they are built from a forest of large complicated software modules & tools that are not optimized for the specific app being built.
App System Design Matters Apps don't struggle because of their technical components, they struggle because of how their components are put together.
Silicon Is Faster Than You Know You don't realize how fast silicon is because most of the time it is in an I/O wait state. Even the little smart phone in your pocket can be an amazing server if you utilize it correctly.
Abstraction "Impedance Mismatches" Cost A Factor Of 1,000,000x Crossing abstractions boundaries in enterprise applications imposes on the order of 10 I/O wait states for each useful instruction cycle. There are generally 7 such abstraction boundary in a large application. These apps run 10^7 = 1,000,000 slower than the hardware's capabilities.
Database Products Solve The Wrong Problem Database products solve the problem of how to store arbitrary data so that arbitrary users can perform arbitrary operations. However, your specific app knows precisely what data it needs to store, how the data should be organized, and what specific operations need to be performed on the data. It's not arbitrary, and it's known a priori.
Most Corporate Applications Are Repetitive Your core business processes (by definition) are repetitive in nature. The apps that support them execute core tasks over, and over, and over...
Most Application Code Isn't Used Most code in enterprise apps is seldom used. It exists for features your don't really use or to deal with and general purpose infrastructures like Oracle, VMware and other technologies that are not needed for application-specific solutions.
Breaking A System Into Digestible Bites Means Familiar Tools Can Be Used Enterprise apps are overwhelming, in part, because their data sets are large. Breaking the data sets into pieces that can easily be loaded into & out of spreadsheets and other tools that users are familiar with makes a huge impact on your user's ability to understand and analyze the system.
Your Largest IT Resource Is Overlooked The largest compute resource on the planet is the collective storage & compute resources at the edge of the network. It dwarfs your data center and the data centers of your cloud providers.
Reduced Need For Data Centers Fractal technology reduces the need for a data center on premise or in the cloud. Fractal applications do not require a data center.
10 Million Customer Billing System
|24 Months||Deployment Time||90 Days|
|18 High-End Consultants||Development Resources||1 Programmer|
|40 TB||Storage Needs||90% Reduction|
|90+ Hours||Bill Cycle Run Time||9 Minutes|
|1-6 Months||Time To Add New Feature||Daily|
|Data Center = $ Millions||Required Infrastructure||10 Intel NUCS = $20,000|
|Oracle, VMware, etc.||Required Software||Fractal|
Next evolutionary step in enterprise-scale system design and deployment.
Fundamental building block is a Fractal. Each Fractal is a small vertical software stack running in a loosely coupled process that is an independent processing entity in a distributed processing environment.
Each Fractal contains the entire application A user, or another application, interacts with a Fractal via web services. The Fractal contains all of the data and code (including all user interface widgets) for the application that the user wishes to run. Each Fractal is a smaller scale version of the overall application.
Billing example if the user is running a billing application, an individual Fractal might be responsible for on the order of about 25,000 customers and all of their associated information. If the user asks the Fractal to "show a list of all customers" the Fractal will respond with a list of 25,000 customers. If the Fractal is running in a Fractal Web™ environment where it can communicate with all of the other Fractals in the environment -- then before the Fractal sends a response back to the user, it broadcasts a message to the other Fractals asking them if they also manage any customers. The Fractal takes all of their responses and folds them into its internal response before sending the final response back to the user. The mechanisms for dissiminating requests out to other Fractals and integrating their results into a final result is part of the Fractal Web&trade framework;.
Spreadsheet example If the user wants to build an application with a "spreadsheet" implementation style, each Fractal is responsible for a section of the spreadsheet. Often these type of spreadsheets are organized as multiple "sheets" within the overall spreadsheet. Each Fractal is responsible for it's assigned sheet in the spreadsheet. This Fractal approach to spreadsheet implementation makes is possible to have "infinite" spreadsheets that enable a simple application implementation style (spreadhseet programming) to scale to very large data sets and to utilize massive amounts of parallel processing. Each Fractal manages its iSheet™ sheet in the aggregate spreadsheet in parallel and the Fractal Web framework provides the programmer with Locality Optimization™ tools to insure parallelism for optimal run-time performance.
Fractal Web™ peer-to-peer architecture. Each Fractal contains a fully functional application with all of the data and application logic for performing some task. The user experience of interacting with an individual Fractal or the entire network of Fractals is exactly the same -- the result sets are either a fraction of the total data set (when interacting with only a single Fractal) or the entire data set (when interacting with a Fractal that, in turn, is communicating with the other Fractals).
All Fractals are the same A user can attach to any Fractal in the network to initiate a request. Each Fractal is capable of communicating with all of the other Fractals and assembing a complete result for the user. A Fractal Web architecture enables massive parallel processing, fault-tolerance, and high availability of the overall application since failover and backup logic is also embedded in each Fractal as part of the Fractal Web framework.
Beyond The Cloud