Road to the Cloud
Zoltan Horkay
Cloud Migration Enabler ?? App & Data Modernization Expert ?? Oracle Elimination Wizard
This article is part of a series on the Cloud journey specializing in Financial Institutions
Feedback is very welcome.
In the era of computer rental aka Cloud journey, one can ask why anyone would bother with building and maintaining data centers except for the cloud providers. In my?previous article, I explained why many financial institutions are still reluctant to get on the train.?
This article attempts to highlight the possible pros, starting points, low-hanging fruits, and other use cases which you should take into consideration.
Table of Contents
1. Benefits
If you are a decision maker in a technology department and fed up with the vast amount of good advice, the armada of advisors who keep telling you without Cloud you cannot keep up with the Competition, then you probably heard about the following benefits:
1.1. Cost saving
in the case of renting vs buying decisions according to the Economics 101 can be broken down into 2 simple aspects:
The first one is a question if you want to use a service once per year, month, week, or daily. If I need a car every day to travel to my workplace probably buying a car would make more sense from an economical perspective, than grabbing a taxi though I also know people who prefer the latter.?
Next time if a pre-sales architect suggests cloud solutions are cheap, please remind yourself of the frequency you need a server, database, etc. as well as count the number of “IF” -s used over the discussions.
The other aspect - Economies of Scale – depends on the size of your organization. If you are a startup or small and midsize business, the cloud is a must for you because you are just not big enough to be able to build up an entire IT department and data center economically however, this is not true for large corporates.
1.2. Scalability, unlimited performance & capacity
is probably the most well-known benefit which became a dogma and the main reason this is true, is tightly coupled with the Economies of Scale principle. Scalability mainly depends on the availability of resources considering adequately designed architecture. In the last 10 years, I have built many linearly scalable analytical solutions which were unable to grow with the customer need mostly because of 2 things.
Firstly, approval of 10 new servers can take 6 months in large organizations if not the CEO desires it personally. Secondly, order, delivery, deployment, and installation will need another 6 months.
If you have the budget, this could be accomplished within the order of hours in the cloud.
1.3. Infrastructure automation?
generates beyond dispute the most discussion among true cloud believers and haters. The 2 ends of the spectrum are “you don’t need DBAs anymore” vs “I need significantly more skilled DevOps”. I am leaning towards the second one mainly because if you want to enable the benefits of scalability, and automation of environment creation you need experienced people who are fond of avoiding every portion of manual steps and are keen to write and maintain those terraform scripts for you. Secondly, without immersing yourself in the complex world of cloud computing as-a-service options (SAAS, PAAS, IAAS) you as a large business, most probably will use the last one (IAAS – Infrastructure As A Service) heavily which is analogous to hardware rental. You are completely responsible for the software maintenance including operation system upgrades, patches, etc. though indeed you don’t need a person anymore to replace a disk.?
In short, Cloud can be very powerful, you could save some time and become more efficient, but it is anything but cheap. Eventually, you buy time for money, you can be much more productive which means your relative cost (Cost/Benefit Ratio) will/should decrease but don’t be surprised at the end of the month when you fetch your bill.
领英推荐
2. Where to start
So, if you are still with me and besides all your concerns, you want or must give a chance to the “computer rental”, then let me give you a few pieces of advice on where to start. First and foremost, do not launch a project comparing the 3 main cloud providers. Sooner or later, you will use more than just one. You should focus on selecting the right application for this new journey. There are a few aspects though you should be aware of:
1. Type of the application:?
2. Complexity of the Application
3. Criticality of the Application – External/Client faced vs Internal
4. Scalability requirement
5. Technology, software components
2.1. Type of application
To understand why this is crucial you need to know the cost structure of a typical cloud provider. They penalize 2 things the most:
Both are significant in the case of data warehouses and practically any other analytical systems. They need a vast amount of data from transactional / source applications therefore unless your sources are not already in the cloud, it will cost you a fortune. Besides that, you will grow gray due to your users/consumers who extract billions of records for visualization in their locally maintained excel sheets because the data will leave the Datacenter at each query.
I will devote a separate article to why?dedicated hardware?is essential for the System of Insights. For now, please accept my advice, select any application from the other 2 categories and let’s look at the other aspects.
2.2. Complexity of the application
I don’t think so I need to push the point of how important it is to start something new with baby steps. Indeed, core banking systems are probably not the right choice.
2.3. Criticality of the application
The meaning of?Criticality?is an old debate among different branches like security, business continuity, and sales. I would like to focus on the last one, the applications which are significant for the stakeholders. It’s a dilemma because the more critical your application is, the more benefit you can have as well as there are higher chances you will get management support and budget for a cloud migration although the chance you will screw up immediately at the beginning is higher too. My risk appetite suggests starting with an application that is not too complex in terms of used technologies as well as written code, though significant for the stakeholders. A specific single-feature app for a granted sales campaign is a perfect example.
2.4. Scalability requirement?
is the main driver in the Cloud migration project. If you have constant performance issues, capacity limitations, or other technology-related bottlenecks, that’s a bold sign of an adequate candidate for the cloud. If you need to increase the response times at least by 30% percent on yearly basis or the capacity of your storage due to new features, new clients, etc. then you have it, pick up that one. Again, don’t worry if the app has no heavy differences between peak hours and idle times. In the cloud, you will very soon recognize the “scale down if you don’t use it” hint just a marketing hook. No one ever will scale down a cluster except for closing the business.
2.5. Technology?
Last but not least, technology is important because not every component of your application is scalable equally. An application layer written in Java can be containerized and deployed into an elastic container service within hours and even so it may be suboptimal and could not leverage the full potential of distributed computing completely, you could see immediately it works. Whereas if you try to do the same for example with your Oracle database which is the most widespread database in any traditional Financial Institution, you will end up with an expensive lesson. Firstly, Oracle is not an open-source technology and if you want to double the capacity, performance, etc, you will probably double the license cost as well. Secondly, Oracle (besides any marketing paper) is NOT designed for distributed computing, therefore it won’t linearly scale.?
So, in brief, if you don’t want to start your cloud journey with a heavy Oracle to PostgreSQL migration, try to select an application that either uses an open-source database or does not use it at all.
If you have an application with an Oracle database heavily relying on PL/SQL stored procedures, triggers, and other core Oracle components, you might be interested in my next article which will be dedicated to the pitfalls of Oracle to PostgreSQL migration.
Please feel free to reach out to me if you want to be informed about it.
Finally, I would like to remind you of the leading benefits of the cloud journey are located around scalability and automation and has nothing to do with cost optimization.?
Co-Owner at DAI Group
1 年Thank you for publishing your thougts and experience.