Introduction

Wolfram Enterprise Private Cloud (EPC) makes the benefits of the Wolfram technology stack available in a centralized enterprise platform. Packaged as a customized virtual machine, EPC provides a full range of functions, features and deployment options to address all the computational needs of your organization: computation, data visualization, data management and security, cloud storage and deployment, and automated and ad hoc reporting.

Features

Offload Computing to the Cloud

◼
  • EPC users can send computations to cloud kernels using functions such as CloudEvaluate, reducing the load on local resources and allowing for more efficient development and testing
  • ◼
  • For further information on cloud evaluation and deployment, see the Cloud Functions & Deployment guide page
  • Simplified Deployments

    ◼
  • Evaluations can be wrapped in CloudDeploy for instant deployment to EPC as APIs, web forms or cloud notebooks. Users can give their deployments descriptive names and set customized permissions for viewing and editing. EPC also supports user-specific vanity URLs for clearer references and easy disambiguation of cloud-deployed objects.
  • ◼
  • For example, a user could cloud deploy an object that pulls data from a network-hosted spreadsheet or database, then creates an updated bar chart whenever someone visits the URL of that object. Giving the object a name such as bar-chart would result in a URL that looks something like this: www.myepc.com/objects/user/bar-chart.
  • ◼
  • For further information, please visit the documentation on CloudDeploy.
  • Secure Storage of Intellectual Property

    ◼
  • With EPC, you can set individual and group permissions for files and objects on a case-by-case basis. For example, permissions for a given document might include:
  • ◼
  • An authenticated developer who can write to a deployment, but not read another developer’s code
  • ◼
  • An authenticated team lead who can read all code and run evaluations, but not write/edit code
  • ◼
  • Unauthenticated users who could execute an evaluation, but not access the underlying code
  • ◼
  • The Permissions object also accepts more granular control directives for permissions. For example, read access can be restricted according to the user’s email domain, IP address or $GeoLocationCountry, or restricted to a particular date range:
  • ◼
  • "CloudUserID" -> {"*@wolfram.com"}
  • ◼
  • "Address" -> {"140.177.*.*"}
  • ◼
  • "GeoLocationCountry" -> {Entity["Country","Canada"],Entity["Country","UnitedStates"],Entity["Country","Mexico"]}
  • ◼
  • "Date" -> <|"Start"  Today, "End"  Today + Quantity[1, "Weeks"] |>
  • ◼
  • You can read more about cloud permissions on the Cloud Permissions Control guide page.
  • Interact Directly with Microsoft Excel

    ◼
  • EPC users can compute directly from Excel via Wolfram CloudConnector for Excel, a free extension to Excel that seamlessly interacts with APIs created in EPC.
  • Instant APIs

    ◼
  • EPC enables a streamlined development cycle by using REST APIs (generated via APIFunction) to act as an abstraction layer between components, modules and development teams
  • ◼
  • API deployment can also improve interactions between different working groups (e.g. computer engineers and data scientists) by giving them common endpoints for sharing their work
  • ◼
  • More information on creating APIs can be found on the Creating an Instant API guide page
  • Automated Reporting

    ◼
  • Reporting is directly integrated with EPC, making it possible to generate reports about anything that is part of, or can integrate with, your cloud
  • ◼
  • For example, a user could run a report combining sales data and location analytics with peak traffic for a particular site
  • ◼
  • For more information on how to use the reporting features of EPC, see the guide page on automated reports
  • Application-to-Application Connection

    ◼
  • EPC can directly connect to other Wolfram products, as well as various third-party applications
  • ◼
  • CloudConnect creates a connection from a Wolfram desktop product (such as Wolfram Desktop or Mathematica) to EPC
  • ◼
  • A list of functions to enable further external connectivity can be found on the Calling External Programs guide page
  • Interface with Other Languages

    ◼
  • Code written in C, C++, Java, R, Python or XML, as well as JavaScript, HTML and CSS, can run natively on the EPC virtual machine.
  • ◼
  • You can also connect the Wolfram Language to external languages, making it easy to interact with legacy code and consolidate your overall codebase.
  • ◼
  • Further information on interfacing with external languages can be found at the External Language Interfaces guide page.
  • ◼
  • Internal and external database connections are also supported by EPC via DatabaseLink, with extensive new database functionality due to arrive with Version 12 of the Wolfram Language. You can read more on database connectivity at the DatabaseLink Connections and Resources guide page.
  • Fully Supported

    ◼
  • Your EPC includes comprehensive 24/7 support, ensuring peace of mind day or night.
  • ◼
  • Support can be reached by emailing privatecloud-support@wolfram.com, or by calling 1-800-976-5309. Sending email is preferable, as it allows the full Technical Support team to quickly act upon the information you give. Be prepared to provide your account information, including company name, license number, any relevant configuration details and the relevant log output, if you have it. The Technical Support group will make your issue a top priority, following up with phone calls as needed.
  • Real-World EPC Usage Examples

    ◼
  • Using EPC for interactive trading alerts: centralized computation and reporting
  • ◼
  • Business Laboratory: direct-to-client data analytics
  • Use Cases

    Scenarios for EPC use can be broken down according to how directly individual users are able access the kernel(s) for evaluation.

    “Pure” API Servers or Task/Scheduled Task/Continuous Task Servers

    In the most lightweight scenario, users only access the kernel through prescribed APIs. If this scenario meets your business objectives and you do not see a need for hosting user-generated notebook content, then you can enjoy the advantage of being able to assign a small number of session kernels, and of devoting a correspondingly narrow server bandwidth to your EPC. The relevant Wolfram Language functions are:
    ◼
  • CloudEvaluate, CloudSubmit
  • ◼
  • APIFunction, some FormFunction
  • ◼
  • ScheduledTask, ContinuousTask
  • Dynamic Webpages

    This scenario stops short of offering users a platform to write their own code, but still makes greater demands upon the server. Users are able to interact with hosted notebooks, and these notebooks contain UI elements that undertake dynamic evaluation. This in turn calls for an increased supply of task kernels, but you do not need a session kernel for each active user.
    The following functions can appear in such hosted notebooks:
    ◼
  • Dynamic[...]
  • ◼
  • Manipulate[...,{...}]
  • ◼
  • Ask[...], GalleryView, certain FormFunction pages that contain dynamic elements
  • Fully Interactive Application Environments

    The most demanding EPC usage scenario allows any user to create, develop and save interactive notebooks. One session kernel needs to be allocated for each user that is anticipated to be active during peak usage. Each user has more or less unrestricted access to Wolfram Language kernels, enabling them to write and evaluate code freely in the cloud.