Search This Blog

Saturday, September 11, 2021

Multi-Cloud : What, Why and How?

What is Multi-Cloud? 

Multi-cloud is a cloud computing deployment model that enables organizations to deliver application services across multiple private and public clouds containing some or any combination of the following: multiple cloud vendors, multiple cloud accounts, multiple cloud availability zones, or multiple cloud regions or premises.


Why companies are thinking or working on the Multi-Cloud strategy? 

  • Availability - Your critical, customer-facing applications such as worldwide e-commerce or SaaS or customer support, etc., must be available 99.99+%
  • Elasticity - To achieve high availability, you need to make sure that your application can be scaled horizontally or vertically to meet the influx of connections
  • Vendor lock-in - After investing too much in one Cloud provider, you realize that you have a vendor lock-in situation, wherein you are not able to exit a particular cloud provider and Optimize Cost
  • There could be various other reasons such as Disaster Avoidance/Recovery, Local Government rules, regulations, compliance, M&A’s applications, which demands to think of utilizing multiple clouds
  • And last but not least, you are trying to avoid different operating models, cloud management, and CI/CD Release tools so that your developers and platform engineers can focus on value creation!
What should we focus on? 
  • Golden Triangle: Don't focus only on Technology! In this blog, we will see all 3 aspects, People, Process, and Technology!

What are the challenges of Siloed Public Clouds?


How to Abstract Siloed Multiple Clouds?


How to identify Vendor lock-in traps?



So, if you have applications running on VM's or Containers, you have a greater choice to move your applications across multiple clouds!

How to Avoid Vendor Lock-in?
  • Understand complex dependencies in Apps/IT
  • Find out Commonalities in IT infra and applications 
  • Upgrade network, platforms & apps before migrating to the cloud
  • Educate management & stakeholders about the cloud computing 
  • Develop or redevelop portable apps, align to open source & standards
  • Modernise SDLC methodologies, toolset, & invest in Infrastructure as Code
  • Recheck Application portability after migration
  • Be aware of OpEx, exit strategy & revisit it frequently 
  • Try to avoid any Native Cloud specific technology/features

What is the best solution to avoid Vendor Lock-in?


Furthermore, if you modernize your applications, breaking them into micro-services, will give you added advantage, wherein you will be able to easily utilize multiple clouds with no or minimum refactoring of applications. In addition to this, your platform operations and engineering team do not have to maintain too many cloud-specific platforms!  

What should be the operational guardrails?


How to handle Security in Multi-Cloud?


Apart from this, you need to decide the multi-tenant architecture/solution

Which IaaS clouds I should pick up?
  • No brainer, just follow Magic Quadrant!
Which PaaS I should pick up?
  • Again, no brainer, just google, which company provides consistent VM and Container platforms across on-prem and multiple clouds, so that you can run any application, on any cloud and access from any device! 
What skills are required in a Multi-Cloud environment?
  • Virtualization, Various IaaS Clouds knowledge, K8s, API, Scripting, IaC, CI/CD/Release automation etc.
How to Structure the Multi-Cloud team?
  • Core teams: Cloud Infra and networking, Platform Operations & Engineering, CI/CD - Release Engineering
  • Common services: Architecture, Command Center, Monitoring Tools and Change management
  • Consumers: IT Development, Business Technical Analyst, Business Units, and ultimately your end customers!
Define RACI, always be clear who is accountable!

Here is a sample high-level RACI!

Last but not least, What cultural change is required to succeed in a multi-cloud world?


Move away from a top-down approach to Collaboration! 

Tuesday, June 29, 2021

Exploratory data analysis using Python

Open-sourcing Python module for Exploratory Data Analysis, which can be used for any data set

This module has the following sub-functions for the data analysis

  1. Getting to know the data
  2. Data pre-processing / missing data
  3. Crosstable and data validation and visualization
  4. Logistic Regression on the data set
  5. KNN analysis
How to use it?

  1. Please install Anaconda https://docs.anaconda.com/anaconda/navigator/
  2. Please install Spider IDE https://docs.spyder-ide.org/current/index.html
  3. Download the eda.py from this project repo and a few sample data sets 
  4. Run the eda.py in Spider IDE, and when prompted, provide the data file
  5. Graphs will be populated in the Plots area in Spider
  6. At any point in time, you can exit a particular loop or sub-function by typing 'exit'

Tuesday, June 22, 2021

Work/Study from home (Home Office/Study setup)

Due to pandemic, the new normal for IT professionals is, work from home, OR for the students, Study from home, which means you have to seriously re-look at your home office/study set up so that you can work/study comfortably without compromising your health/productivity/study.

Here are few things, which I have listed, that may help you set up a decent home office/study 

Power backup 

Invertor - In case your house/flat do not have a power backup/generator 
Modem UPS OR Small UPS for modem - This is a must for uninterrupted internet connection
Powerbank for mobile charging, in case you have to take a meeting from other location in your house

Internet

Broadband (minimum 100 mbps speed)
LAN Cable - This will avoid any WiFi speed fluctuation and you will get consistent speed. You may have to get clips to fix it as well.
Set up the Mobile hot spot - This is in case broadband is not working
Additional Hot spot other than the broadband internet service provider

Home office/study setup

- Well ventilated and illuminated area such as Covered Balcony or near a window 
Ergonomic Chair 
Table - If possible height adjustment table
Optional Sofaset laptop table
Keyboard and mouse tray - height and angle adjustable

IT Hardware

- Laptop/Tablet and charger
- Additional Monitor(s) - if you work on multiple applications 
Speaker 
Headphone for meetings
Webcam - If required
- Printer + Scanner and A4 Papers- if required

Softwares

- Speedtest
- Any other software you want for productivity like to-do/planner etc

Mobile setup / Apps: Setup commonly required office apps on mobile, so that you can operate from anywhere.

- eMail
- Calendar 
- Zoom
- Teams
- Slack
- MS Office (Word, Excel, PowerPoint) 
- Acrobat Reader
- Chrome
- Reminder / Alarm
- Any other tools you generally use in the office

Other

- Work-Life-Study Balance recommendations/suggestions

And here is my home office setup!



Sunday, June 6, 2021

Cloud Computing and Data Analytics fundamentals

Cloud Computing and Data Analytics fundamentals 

Suitable for University Students and PhD aspirants

Youtube recorded video link  https://youtu.be/Q01Q1PYtH7o








Data Analytics 

Monday, January 18, 2021

Gradual Database Password Rollover for Applications

Gradual Database Password Rollover for Applications

You are not getting downtime for your business-critical or customer-facing application and you still need to change the password for the SoX compliance? so here is the solution, change database passwords without downtime!   

Starting from Oracle Database 21c, we can change the database password without any application downtime.

To explain this new feature, let's consider a simple application running on 3 nodes and load balanced using software of hardware load balancer. 


Typically, in a normal scenario, if you have to change the database schema password, you need to bringdown application services from all 3 app nodes, change the password in the database, change the config password in app nodes (or vault) and start the application services in all 3 app nodes.

Now, you don't need downtime of the application - here is how you can do it.

1) DBA need to associate a profile having a non-zero limit for the PASSWORD_ROLLOVER_TIME password profile parameter, with an application schema. That means, when you are changing the password, your old and new password will be active for the specified time in PASSWORD_ROLLOVER_TIME.

2) Change the config file in all 3 App nodes or vault. Till now, the application will use the old password. 

3) Restart the App nodes one by one (There will not be any downtime to colleagues as, at any point of time during the restart of app services, the remaining least 2 nodes will be serving the requests), once the application is restarted, it will pick up the new password.

Please note that when the rollover time is expired, the old password can not be used. That means, we have to complete all the above 3 steps within the time mentioned in PASSWORD_ROLLOVER_TIME.

So, to conclude, you can adhere to SoX compliance requirements and also keep your business-critical or customer-facing application up and running!