#EasiRun #cloud

More than just a cloud

Cloud, micro service, breaking up monolithic applications, container, DevOps, CI/CD – these and more are the myriad of concepts associated with cloud strategies. It has become commonplace to develop new applications with those concepts and the necessary software architecture in mind. What is less of an every day task is integrating or transferring historically grown, monolithic applications into a cloud target structure. Indeed, doing so is one of the biggest challenges many businesses face. EasiRun draws on its extensive experience to support you in overcoming related challenges as you complete your cloud project.

Advantages:

Release cycles save money and time with quick release cycles
Future proof simply add new functions as services
Scalability multiply containers within the cloud with ease
Reliability easy monitoring and quick redeployment

Cloud readiness: the Market Situation

Everybody expects companies to quickly react to new challenges and to reflect changes in their programmes just as quickly. Release cycles have to keep up. Digitalisation will only reinforce this trend and online applications will continue to have more and more users. That means: any user facing application must be easily scalable.

Businesses that have been around for decades feel all these pressures much more acutely than start ups. The latter can develop and deploy new applications that are already fit for these new challenges and have almost complete freedom of choice when it comes to design and architecture related decisions. Not so for existing businesses, whose applications and structures have a long history.

At the same time, the most vulnerable applications are often those business applications that are critical to everyday business operations. These applications need to meet the highest reliability standards and therefore, all transformations must further increase that reliability.

Cloud readiness: the Challenges

To transfer a monolithic application, written in a legacy language, to a service oriented architecture that is situated in a containerised infrastructure in the cloud, you need one thing: an exhaustive migration of the legacy application. This migration consists of a number of iterative steps, e.g., application analysis, re-hosting, architecture conversion, code transformation, establishing communications, constructing the cloud architecture and, in some cases, switching the programming language used. Depending on customer needs, you can chose some or all of these steps. In any case, it is imperative to find the best conceptual fit for you.

Solution and Approach

It therefore comes as no surprise that any adaptation to modern requirements has to go hand-in-hand with wholesale application architecture redesign and a change to the relevant infrastructure. One migration solution lies in breaking up the monolithic application into a number of (micro) services. In this scenario, each (micro) service represents one domain or workflow within the original application. Every such (micro) service is designed to function as independently as possible. This has the following advantages:

    • Release cycles: independence of each (micro) service allows for parallel development. Doing so reduces or even avoids bottlenecks in the development process and shortens release cycles.
    • Extensibility: independent (micro) services ease later add-ons. If you need to add new functions, simply add new (micro) services. In the same vein, functional changes require adaptations to only a manageable number of (micro) services. And last but not least, all of this reduces the amount of testing you need to complete.
    • Reliability: a conversion increases reliability in two ways. On the one hand, if one (micro) service experiences a fault, this has less of an impact on the entire application compared to what would be the case for a monolithic application. On the other hand, you can monitor (micro) services in the cloud and simply re-deploy them if a fault occurs.
    • Scalability: typically, each (micro) service in the cloud runs within its own container. It is extremely easy to multiply these if needed. That allows for high levels of elasticity and scalability. Programmes that can automatically deploy containers with (micro) services when needed are part and parcel of a cloud infrastructure.

Even if you decide that you don’t need all of the above you will still find that achieving just one or two justifies your conversion to the cloud.

Why EasiRun

We support you in your cloud-based application modernisation projects. EasiRun offers consulting services to help you understand and chose the right cloud model, and supports or executes the migration project. For instance, we can implement network interfaces and re-host the application for you. The list below gives you a flavour of the ways in which our project expertise can help.

    • Cloud strategy: drawing on an initial application analysis we collaboratively develop a cloud readiness strategy.
    • Code analysis: our portfolio includes our own tools and those of a worldwide network of partners. These tools are designed for different types of analysis (static, dynamic, code security and code quality). Such analysis provides the basis for any architecture conversion into the cloud. Dynamic analysis in particular is well suited to identify what services could best work within a (micro) service architecture.
    • Modernisation solutions: we offer different solutions that automatically transform your legacy code into modern programming languages. For instance, our solutions translate COBOL or PL/I into Java. We have mainframe modernisation technologies for, among others, transforming Job Control Language (JCL) into Bash or Python. And lastly, our portfolio also includes solutions for automated transformation of VSAM/ISAM based data storage in COBOL into relational databases.
    • Testing: to quality assure your migrated applications we recommend a extensive testing. Such testing is the only way to ensure that aspects like network communications work as intended, and that the original functionality was not compromised during the conversion. We can support your tests and deploy our proprietary test programmes to do so. These programmes allow you to compare the original programme runtime behaviour with that of the transformed programme. Using this comparison, you can easily identify and remedy differences.
    • Security: moving to the public cloud in particular comes with an unavoidable need for increased security. After all, it is publicly available. We help you with solutions that automatically highlight any security issues in your code and estimate the time needed to fix them.
    • Cloud infrastructure: our EasiRun specialists help you transform your code into (micro) services that each have their own container. A variety of tools is available that orchestrate all these containers, for instance Docker Swarm or Kubernetes. To account for this, we include consulting services to help you chose the right software.
    • “Partial Cloud”: one key challenge of partial cloud solutions is ensuring that the cloud application and the mainframe application communicate reliably with each other. Our portfolio offers solutions that enable this communication.
    • Project management system: our differentiated project management system ensures that your individual cloud readiness project is transparent and meets the agreed milestones on time and within the agreed costs.