• Home
  • Resources
    • Find Resources by Topic Tags
    • Cybersecurity Policy Chart
    • CSIAC Reports
    • Webinars
    • Podcasts
    • Cybersecurity Digest
    • Standards & Reference Docs
    • Journals
    • Certifications
    • Acronym DB
    • Cybersecurity Related Websites
  • Services
    • Free Technical Inquiry
    • Core Analysis Task (CAT) Program
    • Subject Matter Expert (SME) Network
    • Training
    • Contact Us
  • Community
    • Upcoming Events
    • Cybersecurity
    • Modeling & Simulation
    • Knowledge Management
    • Software Engineering
  • About
    • About the CSIAC
    • The CSIAC Team
    • Subject Matter Expert (SME) Support
    • DTIC’s IAC Program
    • DTIC’s R&E Gateway
    • DTIC STI Program
    • FAQs
  • Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
Login / Register

CSIAC

Cyber Security and Information Systems Information Analysis Center

  • Resources
    • Find Resources by Topic Tags
    • Cybersecurity Policy Chart
    • CSIAC Reports
    • Webinars
    • Podcasts
    • Cybersecurity Digest
    • Standards & Reference Docs
    • Journals
    • Certifications
    • Acronym DB
    • Cybersecurity Websites
  • Services
    • Free Technical Inquiry
    • Core Analysis Task (CAT) Program
    • Subject Matter Expert (SME) Network
    • Training
    • Contact
  • Community
    • Upcoming Events
    • Cybersecurity
    • Modeling & Simulation
    • Knowledge Management
    • Software Engineering
  • About
    • About the CSIAC
    • The CSIAC Team
    • Subject Matter Expert (SME) Support
    • DTIC’s IAC Program
    • DTIC’s R&E Gateway
    • DTIC STI Program
    • FAQs
  • Cybersecurity
  • Modeling & Simulation
  • Knowledge Management
  • Software Engineering
/ Journal Issues / Cloud Computing / Cloud Computing – How Easy is it?

Cloud Computing – How Easy is it?

Published in Software Tech News
Volume: 14 Number: 4 - Cloud Computing

Author: Tom Kwasniewski
Posted: 11/15/2016 | 1 Comment

Most articles on cloud computing discuss security, policies, economies of scale, or other high level topics. For a more pragmatic approach, we decided to simply port an existing application to the cloud and report on what the experience taught us.

Selecting the Application

Finding an existing, simple application that would benefit from the power of the cloud architecture was the first step. Fortunately, an associate nearby was using a spreadsheet application to perform Monte Carlo simulations for physics-based modeling and analysis. The application was reaching its limit in the number of simulations that could feasibly be run given the time required to complete them. The simulations, being run over a weekend, were producing results on a set of 30,000 simulations and seemed to limit out at that number.

The application being used was Microsoft Excel, with Visual Basic for Applications (VBA) code used to execute the algorithms in the scientific model and to randomize the variables used in the Monte Carlo simulations. It was very compute-intensive, not I/O bound, and thus an excellent candidate for migration to the cloud.

Choosing the Cloud Platform

Using a spreadsheet for the Monte Carlo simulation had been proven somewhat difficult. It was not very configurable, the dataset was embedded, the variables and formulas were scattered on one worksheet, the results returned on other sheets, and sorting was a separate, user-initiated action. Even if it were possible to push the existing spreadsheet up to the cloud and have it execute via a virtual machine environment, and then access it via a user interface, it was not an ideal solution. A standalone application migrated to a platform-as-a-service (PaaS) would likely be a much more logical and robust approach. An application where the user interface, data sets, and domain logic were separated and loosely coupled would be a superior approach. This approach would give the most flexibility to adapt to further iterations of the project. If the model changed, or the need for separate models with different algorithms and business logic arose, it would be simple to respond by adding a new module. The decision, then, was made to rewrite the spreadsheet as a standalone Microsoft Windows application and port this to the PaaS cloud.

Selecting the Vendor

This step and the rewriting of the Excel spreadsheet to a standalone application went hand in hand. Driving factors that were immediately apparent:

  • The existing algorithms were written in VBA. Customer projects can vary greatly and the complex math and science underlying them can be daunting. For this and future projects, it was important to be able to port the existing formulas as-is, without rewriting them, and in such a way that would not require expert-level understanding of the theory behind them.
  • The Monte Carlo simulation randomize functions were also written in VBA
  • The precision and format of the results should exactly match the existing spreadsheet to prove the results from the cloud application were correct.

The above factors suggested a port to VB.net as the most prudent solution. Excel and VB.Net, both being Microsoft products, led to the decision to use the Microsoft cloud product, Windows Azure. Also, Windows Azure offers a free demo capability which allowed us to test this with minimal cost. A free cloud trial, including Tools and an SDK, made sense for this project, as it would for other organizations venturing into the cloud for the first time.

A quick tour of the Windows Azure web site confirmed that their platform did support Visual Basic.net along with C#, C++, PHP, Ruby, Python and Java. At this point, due to the factors listed above, the Windows Azure platform and PaaS as the type of cloud platform were clearly the best choices.

Throughout the process more research was performed and knowledge gained about Windows Azure as well as other cloud vendors and platforms. Several helpful books for this project included The Cloud at Your Service (Rosenberg & Mateos, 2010), The Cloud Computing Bible (Sosinsky, 2011), Azure In Action (Hay & Prince, 2010) and Programming Windows Azure (Krishnam, 2010). This reading proved invaluable in helping gain additional insight and knowledge that couldn’t be gathered simply by browsing vendor web sites.

Figure 1: Major Application Migration Development Phases

Figure 1: Major Application Migration Development Phases

Figure 1 depicts the overall process that was taken to migrate the application.

Rewrite the Application for the Cloud

The first step in migrating the application, was to create a standalone VB.net application that would duplicate the main functionality of the existing Microsoft Excel spreadsheet. Since VB.net was chosen as the language, Microsoft’s Integrated Development Environment (IDE) was needed to develop the application.

The logical components of the Excel spreadsheet were divided into building blocks that would need to be created. They were:

  • A Graphical User Interface, including:
    • Input parameters for the model
    • Browse controls for input/output data files
    • Function list box
    • Status box to display intermediate and final results
    • Progress bar
    • Run/Stop buttons
  • A File I/O section
  • An array to hold data set in memory for fast access
  • A math section to duplicate formulas
  • Control Logic, including the randomize functions for Monte Carlo simulations
  • A results and sort routine

The VB.net environment is extremely strong in its graphical user interface (GUI) capability, prompting the choice to start with that aspect of the design first. The Visual Studio 2010 Express IDE worked flawlessly and the user interface came together quickly (Figure 2).

Figure 2: GUI of VB.net App in Visual Studio 2010 Express IDE

Figure 2: GUI of VB.net App in Visual Studio 2010 Express IDE

Thanks in part to the IntelliSense feature of the IDE coding the File I/O, the general control logic and the randomize functions were easy. Next it was necessary to tackle the math functions. Since the Excel spreadsheet used VBA, however, porting them to VB.net was almost seamless. The result was a working VB.net application that produced the same results as the original spreadsheet.

Pages: Page 1 Page 2 Page 3 Page 4

Previous Article:
« Cloudonomics: A Rigorous Approach to Cloud Benefit...
Next Article:
Cloud Nine, Are we there yet? »

Author

Tom Kwasniewski
Tom Kwasniewski
Tom Kwasniewski is an accomplished Software Engineer with over thirty years in both hardware and software systems design and programming. He has worked extensively with firmware, diagnostics, communication protocols, client-server models, databases, web applications, and cloud computing applications. His professional experience includes work in the computer manufacturing arena, nuclear power industry, and defense industry and is currently a software engineer with Quanterion Solutions supporting the DACS. Tom is a Magna Cum Laude graduate of SUNYIT with BS in Computer Science.

Reader Interactions

Comments

  1. nimblevox

    2018-04-17 at 03:11

    This is really a great information. Technologies based on cloud need no maintenance of resources and have very less cost. Technologies are shifting over the cloud due to it, it’s impressive features. For example, cloud based IVR systems are in trend in these days. Contact centers are fastly turning into cloud based contact centers.

    Log in to Reply

Leave a Comment Cancel

You must be logged in to post a comment.

sidebar

Blog Sidebar

Featured Content

The DoD Cybersecurity Policy Chart

The DoD Cybersecurity Policy Chart

This chart captures the tremendous breadth of applicable policies, some of which many cybersecurity professionals may not even be aware, in a helpful organizational scheme.

View the Policy Chart

Featured Subject Matter Expert (SME): Daksha Bhasker

A dynamic CSIAC SME, Senior Principal Cybersecurity Architect, Daksha Bhasker has 20 years of experience in the telecommunications services provider industry. She has worked in systems security design and architecture in production environments of carriers, often leading multidisciplinary teams for cybersecurity integration, from conception to delivery of complex technical solutions. As a CSIAC SME, Daksha's contributions include several published CSIAC Journal articles and a webinar presentation on the sophiscated architectures that phone carriers use to stop robocalls.

View SME's Contributed Content

CSIAC Report - Smart Cities, Smart Bases and Secure Cloud Architecture for Resiliency by Design

Integration of Smart City Technologies to create Smart Bases for DoD will require due diligence with respect to the security of the data produced by Internet of Things (IOT) and Industrial Internet of Things (IIOT). This will increase more so with the rollout of 5G and increased automation "at the edge". Commercially, data will be moving to the cloud first, and then stored for process improvement analysis by end-users. As such, implementation of Secure Cloud Architectures is a must. This report provides some use cases and a description of a risk based approach to cloud data security. Clear understanding, adaptation, and implementation of a secure cloud framework will provide the military the means to make progress in becoming a smart military.

Read the Report

CSIAC Journal - Data-Centric Environment: Rise of Internet-Based Modern Warfare “iWar”

CSIAC Journal Cover Volume 7 Number 4

This journal addresses a collection of modern security concerns that range from social media attacks and internet-connected devices to a hypothetical defense strategy for private sector entities.

Read the Journal

CSIAC Journal M&S Special Edition - M&S Applied Across Broad Spectrum Defense and Federal Endeavors

CSIAC Journal Cover Volume 7 Number 3

This Special Edition of the CSIAC Journal highlights a broad array of modeling and simulation contributions – whether in training, testing, experimentation, research, engineering, or other endeavors.

Read the Journal

CSIAC Journal - Resilient Industrial Control Systems (ICS) & Cyber Physical Systems (CPS)

CSIAC Journal Cover Volume 7 Number 2

This edition of the CSIAC Journal focuses on the topic of cybersecurity of Cyber-Physical Systems (CPS), particularly those that make up Critical Infrastructure (CI).

Read the Journal

Recent Video Podcasts

  • A Brief Side-by-Side Comparison Between C++ and Rust – Part 3 Series: Programming Language Comparisons
  • A Brief Side-by-Side Comparison Between C++ and Rust – Part 2 Series: Programming Language Comparisons
  • A Brief Side-by-Side Comparison Between C++ and Rust – Part 1 Series: Programming Language Comparisons
  • Digital Engineering Implementation Progress and Plans Series: CSIAC Webinars
  • Assessing the Operational Risk Imposed by the Infrastructure Deployment Pipeline Series: The CSIAC Podcast
View all Podcasts

Upcoming Events

Jan 28

Data Privacy Day

January 28, 2022
Jan 28

Data Privacy Day

January 28, 2023
View all Events

Footer

CSIAC Products & Services

  • Free Technical Inquiry
  • Core Analysis Tasks (CATs)
  • Resources
  • Events Calendar
  • Frequently Asked Questions
  • Product Feedback Form

About CSIAC

The CSIAC is a DoD-sponsored Center of Excellence in the fields of Cybersecurity, Software Engineering, Modeling & Simulation, and Knowledge Management & Information Sharing.Learn More

Contact Us

Phone:800-214-7921
Email:info@csiac.org
Address:   266 Genesee St.
Utica, NY 13502
Send us a Message
US Department of Defense Logo USD(R&E) Logo DTIC Logo DoD IACs Logo

Copyright 2012-2021, Quanterion Solutions Incorporated

Sitemap | Privacy Policy | Terms of Use | Accessibility Information
Accessibility / Section 508 | FOIA | Link Disclaimer | No Fear Act | Policy Memoranda | Privacy, Security & Copyright | Recovery Act | USA.Gov

This website uses cookies to provide our services and to improve your experience. By using this site, you consent to the use of our cookies. To read more about the use of our site, please click "Read More". Otherwise, click "Dismiss" to hide this notice. Dismiss Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.

SAVE & ACCEPT