MSC Software Case Study – ActivePython
- Offer customers the ability to more easily integrate their tools and subroutines with MSC’s products to improve their design process.
- Decrease time and resources MSC spends on building and certifying Python packages for newer versions of supported platforms.
The ActiveState Platform provides MSC with access to an indemnified OEM distribution of ActiveState’s Python, ActivePython. Additionally, the ActiveState Platform paves the way to on-demand language distributions for MSC by automating the building, updating and maintaining of custom Python builds that can help solve each customer’s specific needs more quickly, while enhancing application security by decreasing the attack surface area.
Standardizing on ActiveState’s Python, ActivePython, allows MSC to:
- Reclaim the opportunity cost of building and certifying Python themselves
- Decrease risk of incorporating open source libraries in their commercial products
- Increase security while decreasing operational risk
MSC Software Corporation was formed in 1963 to develop simulation software technology that enables engineers to validate and optimize their designs using virtual prototypes. As a Computer Aided Engineering (CAE) industry leader, MSC has more than 1,400 professionals in 20 countries, and customers that span the globe in industries like automotive, aerospace, shipbuilding, electronics, and more. Customers use MSC’s software to improve product quality, as well as save time and reduce costs associated with the design and test of manufactured products by enabling virtual rather than physical prototyping.
With a 50+ year history of helping customers in a wide variety of industries, MSC has both a wide and deep set of CAE solutions, training and consulting services. And with their new subscription based token system, all of their solutions are available to any customer, no matter how big or how small.
The Challenge: Modernizing with Python
MSC’s code base has been tried, tested and proven by their customers for the past 50 years. Primarily written in C/C++ and Fortran, the solution is comprised of both server and client-side applications that are deployed on premise.
As one of the original CAE vendors, MSC has seen the industry evolve into its modern form based on computer design via the manipulation of 3D objects. In fact, most industries design every one of their parts and systems with the help of a computer nowadays.
As computer simulations are run against these designs, customers will often take the results and input them as data into another part of the solution. Previously, these data operations were done with a wide variety of tools and technologies, from Excel spreadsheets to C code to Linux shells. But now there’s Python, which
is widely taught as a beginner’s language in engineering schools, and is probably the most popular language for CAE end users. In fact, most simulation editors now offer Python APIs, which allow users to access simulation results or even the GUI for customization purposes. MSC uses Python to expose both client and server APIs so customers can more easily integrate their own tools and data.
The Solution: Keeping Up with Change
MSC prides itself on keeping up to date as trends and technologies change. In fact, MSC regularly recompiles their applications for their key deployment platforms (whether that’s Windows, Intel, RHEL, etc) in order to take advantage of new features, functionality and performance. But new platform versions are often accompanied by new compilers. Recompiling and certifying all their code and open source libraries against new compilers can take months of effort.
Realizing that constantly recompiling Python packages was not a good use of
time and resources, MSC turned to ActiveState. ActiveState’s version of Python, ActivePython is not only 100% compatible with open source Python, but also includes hundreds of curated, popular third-party packages that have been verified as being well maintained, up to date, vulnerability free, and licensed in a way that aligns with MSC’s corporate policies. By purchasing an indemnified OEM license of ActivePython, MSC was able to:
- Ensure the Python packages they develop with are always up to date
- Decrease legal risk around incorporating variously-licensed open source libraries in MSC’s products
- Provide customers with a complete solution
On Demand, Custom Python with the ActiveState Platform
Going forward, MSC sees the ActiveState Platform as key to their evolving use of Python. Today, MSC standardizes on a “one size fits all” ActivePython runtime environment for their products. However, not all products require hundreds of third party packages. Using the ActiveState Platform, MSC can easily build, maintain and update multiple versions of Python specific to each of their products on-demand.
To create tailored runtime environments using the ActiveState Platform, MSC just needs to:
- Select an appropriate platform/compiler. Today, the Platform offers popular 64-bit Linux and Windows choices like Centos/RHEL v4 to v7 and Windows 7 & 10.
- Select a version of Python. The ActiveState Platform supports Python 2.7 and 3.5+, in addition to Perl 5.20+.
- Select from more than 500 curated third-party packages to add to their runtime. The ActiveState Platform supports multiple, older versions of most packages, and also allows you to specify “Latest,” which will ensure the runtime is always built using the most currently released version of the package.
The ActiveState Platform automatically resolves all dependencies and compiles the runtime environment for the selected platform in minutes. Compared to the months of effort MSC previously dealt with, the savings in labor cost alone are enormous.
Additionally, MSC’s DevOps team can use ActiveState’s State Tool to refresh all of their CDE (Common Development Environment) with custom runtimes using a single command. This approach:
- Simplifies deployment of updated runtime environments
- Ensures each product has only the packages they need to run, optimizing the size of the installer
- Shrinks the attack surface of products in production, decreasing security risk
“We chose ActiveState because it was the only firm that could provide on-demand, customized versions of the Python programming language. Along with BOM (Bill of Materials) management, ActiveState satisfied the internal needs of both engineering and DevOps while also expediting responsiveness to sales requests. We gain speed, flexibility and engineering time, plus better manage the risk of products running Python with a uniform and consistent approach.”
– Doug Neill, Senior Vice President, Product Development, MSC Software
The Result: Aligned for the Future
ActivePython today provides MSC with a standard Python deployment for all their key constituents, from developers who benefit from standardized dev environments, to DevOps who can simplify the refresh of all their test instances, to streamlined packaging for distributions that help reduce deployment complexity. All across the software development process, ActivePython saves MSC time and resources, while ensuring quality and reducing security, license and operational risk.
Going forward, the ActiveState Platform provides MSC with the flexibility to create and package custom distributions of Python on demand, ensuring they can evolve as quickly as the CAE industry.