Evolve Or Die: DevOps Strategies to Revolutionize the Mainframe - Asset Display Page
května 16, 2022
In recent years, digitization processes have had a significant increase in all sectors of activity. This is particularly the case with the financial services industry which has long pioneered the incorporation of cutting-edge technologies into its business processes. They have achieved this through large investments and cultural changes, both within their organizations and in the way they relate to their customers.
This rapid transformation has made technological tools, such as the cloud, both public and private, one of the key components of digitization processes by allowing organizations to operate in a more agile, flexible and efficient way. In fact, several years ago, banks began strategies to progressively take some of their non-Core applications to the cloud. However, this is where a difficult imbalance is taking place, since the same is not happening with Core banking applications, which today continue to be maintained exclusively in mainframes. Although mainframes are in constant evolution, at the forefront of technology and, of course, very reliable, development methods for these computers have hardly changed in the last 30 years.
This imbalance has presented financial institutions with a great challenge. On the one hand, they must be capable of being agile enough to adapt to the speed demanded by the market, something that seems difficult due to the complexity and multiple manual tasks that mainframe systems still require. On the other, abandoning the mainframe would mean giving up the great processing capacity, robustness and security they offer.
To get an idea of the necessary processing capacity, it is estimated that every second 6,900 tweets are posted, 30,000 likes are given on Facebook and 60,000 searches are performed on Google, while mainframes process more than a million transactions per second.
Simply beginning to talk about a migration strategy from Core banking to the cloud is dizzying, as it would be a massive, expensive project that has rarely been successfully achieved. For this reason, an increasing number of entities are just now becoming aware of the growing need to find an agile and efficient solution that allows both systems – the cloud and mainframes – to coexist with each other. It is here where modernization strategies through DevOps (a combination word formed from Development and Operations) come into force.
What is DevOps adoption all about?
This process is about connecting mainframe environments with the OPEN world, through modern open-source tools already existing in any entity, with the aim of creating complete automation pipelines, from analysis and coding, to test generation. In this way, the quality of the software is improved and development times are reduced, translating into significant cost savings for companies.
In addition, this modernization strategy will allow the organization to pave the way before embarking on future full cloud migration projects.
In short, we are not talking about replacing the current Core or creating a new one, but about deploying the most appropriate solution that allows financial institutions to modernize the development processes that run on the mainframe so that they can improve three key aspects: time reduction, cost savings and increased process quality. This is easily achievable thanks to DevOps strategies, which importantly also do not require large investments or deployments. For all of these reasons, organizations are increasingly convinced that it is the most viable alternative for them to take advantage of.
Luis López, Global Head of Innovation and Mainframe Modernization at NEORIS
Featured
Java method "com.liferay.portal.kernel.util.DateUtil_IW.parseDate(String, String, Locale)" threw an exception when invoked on com.liferay.portal.kernel.util.DateUtil_IW object "com.liferay.portal.kernel.util.DateUtil_IW@dc58b1b"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign dateToParse = dateUtil.parseD... [in template "20099#20135#36879" at line 50, column 33] ----
1<style>
2 #feactureBlogs {
3 margin-top: 5px;
4 }
5
6 #feactureBlogs .blogFeactureHidden {
7 display:none;
8 }
9 #feactureBlogs ul {
10 padding: 0;
11 margin: 0;
12 }
13
14 #feactureBlogs li {
15 list-style: none;
16 }
17
18 #feactureBlogs .titleBlog {
19 margin-bottom: 0px;
20 font-weight: bold;
21 color: #000000;
22 font-size:1rem;
23 }
24
25 #feactureBlogs .dateBlog {
26 margin-bottom: 10px;
27 text-transform: capitalize;
28 color: #5f6569;
29 font-size:0.87rem;
30 }
31</style>
32
33<#if entries?has_content>
34 <div id="feactureBlogs">
35 <div class="iniceBlogs">
36 <div class="groupBlogs">
37 <ul>
38 <#list entries as curEntry>
39 <#assign journalArticle = curEntry.getAssetRenderer().getArticle() />
40 <#assign document = saxReaderUtil.read(journalArticle.getContent()) />
41 <#assign root = document.getRootElement() />
42 <#assign elements = initializeVariables(root, ["Title", "Date"]) />
43 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry, true) />
44
45 <#if elements.Title?first?? && extractStringValue(elements.Title?first, locale) != "null">
46 <li>
47 <a href="${viewURL}">
48 <p class="titleBlog">${extractStringValue(elements.Title?first, locale)}</p>
49 <#if elements.Date?first?? && extractStringValue(elements.Date?first, locale) != "null">
50 <#assign dateToParse = dateUtil.parseDate("yyyy-MM-dd", extractStringValue(elements.Date?first, locale), locale) />
51 <p class="dateBlog">${dateUtil.getDate(dateToParse, "MMMM d',' yyyy", locale)}</p>
52 </#if>
53 </a>
54 </li>
55 </#if>
56 </#list>
57 </ul>
58 </div>
59 </div>
60 </div>
61</#if>
62
63<#function initializeVariables rootElement variables>
64 <#assign values = {} />
65 <#list variables as key>
66 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='${key}']") />
67 <#assign value = [] />
68 <#if xPathSelector.selectSingleNode(rootElement)??>
69 <#assign nodes = xPathSelector.selectNodes(rootElement) />
70 <#if nodes?size > 1>
71 <#list nodes as node>
72 <#assign value = value + [node]>
73 </#list>
74 <#else>
75 <#assign value = [xPathSelector.selectSingleNode(rootElement)] />
76 </#if>
77 <#else>
78 <#assign value = [] />
79 </#if>
80 <#assign values = values + {"${key}" : value} />
81 </#list>
82 <#return values />
83</#function>
84
85<#function extractStringValue node language>
86 <#if node?? && node?is_hash>
87 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id='${language}']/text()") />
88 <#assign string = xPathSelector.selectSingleNode(node)!"null" />
89 <#if !string?? || string == "null">
90 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content/text()']/text()") />
91 <#assign string = xPathSelector.selectSingleNode(node)!"null" />
92 </#if>
93 <#return string.getStringValue() />
94 <#else>
95 <#return "null" />
96 </#if>
97</#function>
Most viewed
-
IA, SIM Swap y disrupción: las tendencias más destacadas del MWC 2024
března 25, 2024
-
NEORIS lanza HealthCheck para ayudar a las empresas frente al Coronavirus
března 27, 2020
-
NEORIS se convierte en Socio del Año de Microsoft
července 23, 2020
-
Microsoft reconoce a NEORIS como socio del año para SAP en AZURE
července 23, 2020