Saturday, February 1, 2025

 

Big day, Big Relief for Middle-Class Taxpayers!
Union Finance Minister Nirmala Sitaraman has just delivered her landmark 8th Union Budget, ushering significant tax reliefs for India’s middle class. Here’s a quick snapshot of the major tax updates:
1. Revise Income Tax Slabs: More Money in Your Pocket!
In the New Tax Regime, zero tax on income up to ₹12 lakhs, and if you're a salaried employee, you benefit even more with an uplift to ₹12.75 lakhs due to a standard deduction of ₹75,000.
The tax slabs have been restructured as follows:
What This Means for You?
Let’s understand this with the help of an example if you file under the new tax regime
Still confused about whether to choose the New Tax Regime or the Old Tax Regime?
Check this table here:
2. Rationalized TDS/TCS Rates
To simplify compliance and reduce tax complexity, there have been certain changes in the TDS/ TCS thresholds:
 
 

Section

Present

Proposed 

Implication

193 - Interest on securities

NIL

10,000

Before -  Interest earning of ₹10,000, attracted a 10% TDS, leaving you with ₹9,000.

After - No TDS on the interest amount up to ₹10,000.

194A - Interest other than Interest on securities

(i) 50,000/- for senior citizen;

(ii) 40,000/- in case of others

(i) 1,00,000/- for senior citizen

(ii) 50,000/- in case of others

Before - As a senior citizen, interest income of ₹60,000 attracted 10% TDS amounting to ₹6,000, leaving you ₹54,000.

After - No TDS up to ₹1,00,000 interest earning for senior citizens.

194 – Dividend, for an individual shareholder & 194K - Income in respect of units of a mutual fund

5,000

10,000

Before - A dividend of ₹7,000 attracted a 10% TDS amounting to ₹700 leaving you with ₹6,300.

After - No TDS will be deducted up to ₹10,000.

194B - Winnings from lottery, crossword puzzle Etc. & 194BB - Winnings from horse race

Aggregate of amounts exceeding 10,000/- during the financial year

10,000/- in respect of a single transaction

Before - On lottery winning of ₹20,000 a TDS of ₹2,000 at 10% was deducted.

After- Separate earnings from two lotteries amounting to ₹10,000 each will not attract any TDS.  

194D - Insurance commission, 194G - Income by way of commission, prize etc. on lottery tickets & 194H - Commission or brokerage

15,000

20,000

Before - A commission of ₹15,000, attracted TDS of ₹750.

After - No TDS on commission up to ₹20,000.

194J - Fee for professional or technical services

30,000

50,000

Before - Professional service for ₹40,000, attracted TDS at the rate of 10% amounting to  ₹4,000.

After - No TDS on professional service up to ₹50,000.

194 I - Rent

2,40,000/- during the financial year

5,00,000/- during the financial year

Before - TDS at the rate of 10% amounting to ₹30,000 was applicable on rent payment of ₹3,00,000 in a financial year.

After - No TDS will be deducted on rent payments up to ₹5,00,000 per annum.

194LA - Income by way of enhanced compensation

2,50,000

5,00,000

Before - Receipt of enhanced compensation of ₹. ₹4,00,000 on account of compulsory acquisition, attracted TDS of ₹40,000 

After - No TDS on receipt of enhanced compensation of up to ₹5,00,000.

206C(1G) – Remittance under LRS and overseas tour program package

7,00,000

10,00,000

Before - On remittance above  ₹7,00,000, TCS at 5% was collected.

After - No TCS is collected up to ₹10,00,000. 

What does this mean for you?
Consider this: as a senior citizen, you earn ₹50,000 in interest from your savings account annually. Under the previous rules, you would be liable for a 10% TDS deduction if your interest earnings exceeded ₹50,000. With the new rules, the TDS deduction is fully waived off on interest earnings up to ₹1,00,000. This means your entire ₹50,000 interest is now fully yours.
3. Tax Benefits Extended to NPS Vatsalya Contributions
Tax Benefits under Section 80CCD(1B) of up to ₹50,000 have been extended to contributions made to NPS Vatsalya in addition to the existing NPS contribution to the Central Government Scheme.  With this, you will now have an additional investment avenue under Section 80CCD(1B), promoting early and tax-efficient savings for minors through NPS Vatsalaya Scheme.
“Here's a heads-up, though! This deduction is only available under the OLD tax regime.”
The 2025 budget is all about enhancing your financial freedom and simplifying your tax obligations. Well don't just read about the changes—experience them firsthand!

Saturday, October 5, 2024

 Kubernetes crash recovery commands I used 99% of the time:

1. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ด๐—ฒ๐˜ ๐—ฝ๐—ผ๐—ฑ๐˜€ --๐—ฎ๐—น๐—น-๐—ป๐—ฎ๐—บ๐—ฒ๐˜€๐—ฝ๐—ฎ๐—ฐ๐—ฒ๐˜€: Check the status of all pods across namespaces to identify failures.

2. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ฑ๐—ฒ๐˜€๐—ฐ๐—ฟ๐—ถ๐—ฏ๐—ฒ ๐—ฝ๐—ผ๐—ฑ ๐—ฝ๐—ผ๐—ฑ_๐—ป๐—ฎ๐—บ๐—ฒ: Gather detailed information about a failed pod.

3. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—น๐—ผ๐—ด๐˜€ ๐—ฝ๐—ผ๐—ฑ_๐—ป๐—ฎ๐—บ๐—ฒ -๐—ฐ ๐—ฐ๐—ผ๐—ป๐˜๐—ฎ๐—ถ๐—ป๐—ฒ๐—ฟ_๐—ป๐—ฎ๐—บ๐—ฒ: View logs of a specific container inside a pod to troubleshoot issues.

4. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ด๐—ฒ๐˜ ๐—ฒ๐˜ƒ๐—ฒ๐—ป๐˜๐˜€ --๐—ฎ๐—น๐—น-๐—ป๐—ฎ๐—บ๐—ฒ๐˜€๐—ฝ๐—ฎ๐—ฐ๐—ฒ๐˜€ --๐˜€๐—ผ๐—ฟ๐˜-๐—ฏ๐˜†='.๐—บ๐—ฒ๐˜๐—ฎ๐—ฑ๐—ฎ๐˜๐—ฎ.๐—ฐ๐—ฟ๐—ฒ๐—ฎ๐˜๐—ถ๐—ผ๐—ป๐—ง๐—ถ๐—บ๐—ฒ๐˜€๐˜๐—ฎ๐—บ๐—ฝ': Review recent events for clues on crashes and errors.

5. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ด๐—ฒ๐˜ ๐—ป๐—ผ๐—ฑ๐—ฒ๐˜€: Verify the status of nodes in the cluster, checking for node failures.

6. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ฑ๐—ฟ๐—ฎ๐—ถ๐—ป ๐—ป๐—ผ๐—ฑ๐—ฒ_๐—ป๐—ฎ๐—บ๐—ฒ --๐—ถ๐—ด๐—ป๐—ผ๐—ฟ๐—ฒ-๐—ฑ๐—ฎ๐—ฒ๐—บ๐—ผ๐—ป๐˜€๐—ฒ๐˜๐˜€: Safely evacuate and cordon a node for recovery operations.

7. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ฐ๐—ผ๐—ฟ๐—ฑ๐—ผ๐—ป ๐—ป๐—ผ๐—ฑ๐—ฒ_๐—ป๐—ฎ๐—บ๐—ฒ: Mark a node as unschedulable to prevent new pods from being scheduled during recovery.

8. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ฑ๐—ฒ๐—น๐—ฒ๐˜๐—ฒ ๐—ฝ๐—ผ๐—ฑ ๐—ฝ๐—ผ๐—ฑ_๐—ป๐—ฎ๐—บ๐—ฒ --๐—ด๐—ฟ๐—ฎ๐—ฐ๐—ฒ-๐—ฝ๐—ฒ๐—ฟ๐—ถ๐—ผ๐—ฑ=0 --๐—ณ๐—ผ๐—ฟ๐—ฐ๐—ฒ: Forcefully delete a crashed pod to restart it or clear it for recovery.

9. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ฟ๐—ผ๐—น๐—น๐—ผ๐˜‚๐˜ ๐˜‚๐—ป๐—ฑ๐—ผ ๐—ฑ๐—ฒ๐—ฝ๐—น๐—ผ๐˜†๐—บ๐—ฒ๐—ป๐˜ ๐—ฑ๐—ฒ๐—ฝ๐—น๐—ผ๐˜†๐—บ๐—ฒ๐—ป๐˜_๐—ป๐—ฎ๐—บ๐—ฒ: Roll back a deployment in case a new rollout causes crashes.

10. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ฒ๐˜…๐—ฒ๐—ฐ -๐—ถ๐˜ ๐—ฝ๐—ผ๐—ฑ_๐—ป๐—ฎ๐—บ๐—ฒ -- /๐—ฏ๐—ถ๐—ป/๐˜€๐—ต: Access a container to debug and resolve application issues directly inside the pod.

11. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ด๐—ฒ๐˜ ๐—ฐ๐—ผ๐—บ๐—ฝ๐—ผ๐—ป๐—ฒ๐—ป๐˜๐˜€๐˜๐—ฎ๐˜๐˜‚๐˜€๐—ฒ๐˜€: Check the health of core cluster components like etcd, kube-apiserver, and more.

12. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐˜๐—ผ๐—ฝ ๐—ป๐—ผ๐—ฑ๐—ฒ๐˜€: Monitor node resource usage to detect resource exhaustion causing crashes.

13. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐˜๐—ผ๐—ฝ ๐—ฝ๐—ผ๐—ฑ๐˜€ --๐—ฎ๐—น๐—น-๐—ป๐—ฎ๐—บ๐—ฒ๐˜€๐—ฝ๐—ฎ๐—ฐ๐—ฒ๐˜€: Check pod resource usage across namespaces, identifying bottlenecks leading to crashes.

14. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ฑ๐—ฒ๐—น๐—ฒ๐˜๐—ฒ ๐—ป๐—ผ๐—ฑ๐—ฒ ๐—ป๐—ผ๐—ฑ๐—ฒ_๐—ป๐—ฎ๐—บ๐—ฒ: Remove a failed node from the cluster to allow recovery operations.

15. ๐—ฒ๐˜๐—ฐ๐—ฑ๐—ฐ๐˜๐—น --๐—ฒ๐—ป๐—ฑ๐—ฝ๐—ผ๐—ถ๐—ป๐˜๐˜€=๐—ต๐˜๐˜๐—ฝ๐˜€://๐—ฒ๐˜๐—ฐ๐—ฑ-๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ฒ๐—ฟ:2379 ๐˜€๐—ป๐—ฎ๐—ฝ๐˜€๐—ต๐—ผ๐˜ ๐—ฟ๐—ฒ๐˜€๐˜๐—ผ๐—ฟ๐—ฒ ๐—ฏ๐—ฎ๐—ฐ๐—ธ๐˜‚๐—ฝ.๐—ฑ๐—ฏ: Restore etcd from a snapshot in case of etcd failure.

16. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ฎ๐—ฝ๐—ฝ๐—น๐˜† -๐—ณ ๐—ฏ๐—ฎ๐—ฐ๐—ธ๐˜‚๐—ฝ.๐˜†๐—ฎ๐—บ๐—น: Reapply configurations from a backup manifest during recovery.

17. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐˜๐—ฎ๐—ถ๐—ป๐˜ ๐—ป๐—ผ๐—ฑ๐—ฒ๐˜€ ๐—ป๐—ผ๐—ฑ๐—ฒ_๐—ป๐—ฎ๐—บ๐—ฒ ๐—ธ๐—ฒ๐˜†=๐˜ƒ๐—ฎ๐—น๐˜‚๐—ฒ:๐—ก๐—ผ๐—ฆ๐—ฐ๐—ต๐—ฒ๐—ฑ๐˜‚๐—น๐—ฒ: Prevent scheduling on a node experiencing issues during recovery.

18. ๐—ธ๐˜‚๐—ฏ๐—ฒ๐—ฐ๐˜๐—น ๐—ด๐—ฒ๐˜ ๐—ฒ๐—ป๐—ฑ๐—ฝ๐—ผ๐—ถ๐—ป๐˜๐˜€ ๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ_๐—ป๐—ฎ๐—บ๐—ฒ: Verify service endpoints during recovery to ensure services are resolving correctly.

Tuesday, July 23, 2024

 


Omg Shit!!! Git???

Git is hard: screwing up is easy, and figuring out how to fix your mistakes is fucking impossible. Git documentation has this chicken and egg problem where you can't search for how to get yourself out of a mess, unless you already know the name of the thing you need to know about in order to fix your problem.

Git does have several powerful features that can help you "go back in time" or undo changes. Here are some common scenarios and how you can resolve them.

So here are some bad situations I've gotten myself into, and how I eventually got myself out of them in plain English.

Oh shit, I did something terribly wrong, please tell me git has a magic time machine!?!

git reflog
# you will see a list of every thing you've
# done in git, across all branches!
# each one has an index HEAD@{index}
# find the one before you broke everything
git reset HEAD@{index}
# magic time machine

You can use this to get back stuff you accidentally deleted, or just to remove some stuff you tried that broke the repo, or to recover after a bad merge, or just to go back to a time when things actually worked. I use reflog A LOT. Mega hat tip to the many many many many many people who suggested adding it!

Oh shit, I committed and immediately realized I need to make one small change!

# make your change
git add . # or add individual files
git commit --amend --no-edit
# now your last commit contains that change!
# WARNING: never amend public commits

This usually happens to me if I commit, then run tests/linters... and FML, I didn't put a space after an equals sign. You could also make the change as a new commit and then do rebase -i in order to squash them both together, but this is about a million times faster.

Warning: You should never amend commits that have been pushed up to a public/shared branch! Only amend commits that only exist in your local copy or you're gonna have a bad time.

Oh shit, I need to change the message on my last commit!

git commit --amend
# follow prompts to change the commit message

Stupid commit message formatting requirements.

Oh shit, I accidentally committed something to master that should have been on a brand new branch!

# create a new branch from the current state of master
git branch some-new-branch-name
# remove the last commit from the master branch
git reset HEAD~ --hard
git checkout some-new-branch-name
# your commit lives in this branch now :)

Note: this doesn't work if you've already pushed the commit to a public/shared branch, and if you tried other things first, you might need to git reset HEAD@{number-of-commits-back} instead of HEAD~. Infinite sadness. Also, many many many people suggested an awesome way to make this shorter that I didn't know myself. Thank you all!

Oh shit, I accidentally committed to the wrong branch!

# undo the last commit, but leave the changes available
git reset HEAD~ --soft
git stash
# move to the correct branch
git checkout name-of-the-correct-branch
git stash pop
git add . # or add individual files
git commit -m "your message here";
# now your changes are on the correct branch

A lot of people have suggested using cherry-pick for this situation too, so take your pick on whatever one makes the most sense to you!

git checkout name-of-the-correct-branch
# grab the last commit to master
git cherry-pick master
# delete it from master
git checkout master
git reset HEAD~ --hard

Oh shit, I tried to run a diff but nothing happened?!

If you know that you made changes to files, but diff is empty, you probably add-ed your files to staging and you need to use a special flag.

git diff --staged

File under ¯\_(ใƒ„)_/¯ (yes, I know this is a feature, not a bug, but it's fucking baffling and non-obvious the first time it happens to you!)

Oh shit, I need to undo a commit from like 5 commits ago!

# find the commit you need to undo
git log
# use the arrow keys to scroll up and down in history
# once you've found your commit, save the hash
git revert [saved hash]
# git will create a new commit that undoes that commit
# follow prompts to edit the commit message
# or just save and commit

Turns out you don't have to track down and copy-paste the old file contents into the existing file in order to undo changes! If you committed a bug, you can undo the commit all in one go with revert.

You can also revert a single file instead of a full commit! But of course, in true git fashion, it's a completely different set of fucking commands...

Oh shit, I need to undo my changes to a file!

# find a hash for a commit before the file was changed
git log
# use the arrow keys to scroll up and down in history
# once you've found your commit, save the hash
git checkout [saved hash] -- path/to/file
# the old version of the file will be in your index
git commit -m "Wow, you don't have to copy-paste to undo"

When I finally figured this out it was HUGE. HUGE. H-U-G-E. But seriously though, on what fucking planet does checkout -- make sense as the best way to undo a file? :shakes-fist-at-linus-torvalds:

Fuck this noise, I give up.

cd ..
sudo rm -r fucking-git-repo-dir
git clone https://some.github.url/fucking-git-repo-dir.git
cd fucking-git-repo-dir

Thanks to Eric V. for this one. All complaints about the use of sudo in this joke can be directed to him.

For real though, if your branch is sooo borked that you need to reset the state of your repo to be the same as the remote repo in a "git-approved" way, try this, but beware these are destructive and unrecoverable actions!

# get the lastest state of origin
git fetch origin
git checkout master
git reset --hard origin/master
# delete untracked files and directories
git clean -d --force
# repeat checkout/reset/clean for each borked branch

*Disclaimer*: This site is not intended to be an exhaustive reference. And yes, there are other ways to do these same things with more theoretical purity or whatever.

Friday, August 19, 2022

Jupyter_project Software As A Service (Jupyter notebook on browser from anywhere anytime)


The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualisations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modelling, data visualisation, machine learning, and much more.


FROM centos:7
RUN curl https://xpra.org/repos/CentOS/xpra.repo -o /etc/yum.repos.d/xpra.repo && yum install epel-release openssh-server 
net-tools xauth firefox python-websockify xpra  -y && /usr/sbin/sshd-keygen &&  sed -i 's/X11UseLocalhost yes/X11UseLocalhost no/' 
/etc/ssh/sshd_config  &&  /usr/sbin/sshd -f /etc/ssh/sshd_config  && echo '/usr/sbin/sshd -f /etc/ssh/sshd_config' >> /root/.bashrc 
&& dbus-uuidgen > /etc/machine-id

#CMD ["xpra", "start", "--bind-tcp=0.0.0.0:3333", "--html=on","--start-child=firefox", "--daemon=no", "--systemd-run=no"]
RUN yum install python36 python3-pip -y && pip3 install jupyter

WORKDIR /book
CMD ["jupyter", "notebook", "--port=8888", "--no-browser", "--ip=0.0.0.0", "--allow-root"]
#VOLUME /book



version: '3'
volumes:
  book_data:
services:
  jupybook:
    image: "booki:v3"
    ports:
      - 8888:8888
    volumes:
      - /tmp/.X11-unix/:/tmp/.X11-unix/
      - book_data:/book
    environment:
      DISPLAY: $DISPLAY





Tuesday, August 18, 2020

Tips on common questions asked in an interview

 Question: Tell me about yourself

Overview
A lot of jobs require someone who can think on their feet or present ideas with crispness and clarity. This question provides employers with an early preview of your core skills, your personality and your ability to respond to an unstructured question.

Tips

  • Prepare for this question in advance and have a compelling story about your past experiences. 
  • Pull prominent skills from the job description. 
  • Be “SHE” (succinct, honest and engaging).


Question: What is your greatest strength?

Overview
Employers want to see if you can strike the right balance between confidence and humility. Hiring managers also want to get a sense for how self-aware and honest you are and align your strengths to the role at hand.

Tips

  • Be authentic - don’t make up strengths that you think the employer wants to hear. 
  • Tell a story about a work experience. 
  • Be sure the strengths you share are aligned to the role you want.


Question: What is your greatest weakness?

Overview
The interviewer is assessing whether your weaknesses will get in the way of doing the job. Employers are looking for humility and whether you’re committed to learning and growing. This is a place you can showcase what you’re doing to improve.

Tips 

  • Employers are looking for self-awareness and personal accountability.
  • It’s good to be honest about what you’re not great at.
  • Share what you are doing to actively improve on this weakness.


Question: Why should we hire you?

Overview 

This question tests how persuasive you are. Interviewers want to see if you can make a calm, confident case for yourself, even if they’re acting skeptical. They’re looking for factual and compelling answers.

Tips

  • Start with the three or four best reasons you’ve got.
  • Cite results, credentials, and other people’s praise so you don’t seem self-absorbed.
  • Be concise, and invite follow-up questions at the end.

Tuesday, June 16, 2020

Free Google Certifications during lockdown

Google has recently rolled out free courses for beginners and professionals to learn new skills. Here are 5 courses by Google that you can enroll for.

1. Cloud DevJam:

Cloud DevJam is a program specially crafted for professionals to upskill their knowledge with the latest cloud technologies. Cloud DevJam is a series of multiple tracks, each one full of engaging learning activities like hackathons, multiple-choice questions, hands-on labs, webinars and Google Cloud certifications. Whether you are new to the cloud or building on an existing skillset, you can find the learning path tailored to your role or interest, by joining Cloud DevJam

2. Data Engineering with GCP Certificate:

The program offers skills you need to build career in data science. The content is combination of presentations, demos and labs. It will enable you for data-driven decision making by collecting, transforming, and publishing data. You will also have an opportunity to practice key job skills including designing, building and running data processing systems, and operationalising the machine learning models. The course may take 4 months to complete if you invest 4 hours per week. It is required for candidates to have basic proficiency with common query language such as SQL.

3. Reliable Google Cloud Infrastructure: Design and Process:

This course on Coursera aims to equip students with design patterns to build reliable cloud solution. The course is a combination of presentations and activities. The 8-hour long course is part of multiple other courses. It is a continuation of Architecting with Google Compute Engine or Architecting with Google Kubernetes Engine courses. It is expected that students have hands-on experience with technologies covered in either of those courses.

4. Google Analytics Certification: Become Certified & Earn More:

This certification course on Udemy is designated to attract clients and improve your marketing skills. There is no requirement of any special skills to take this course. It is a short term course that you can complete in just 2 hours.

5. Google Cloud Platform Fundamentals: Core Infrastructure:

This is an extensive course that introduces you to important concepts and terminology for working with GCP. You will learn computing and storage services available in Google Cloud Platform, including Google App Engine, Google Compute Engine, Google Kubernetes Engine, Google Cloud Storage, Google Cloud SQL, and BigQuery. You learn about important resource and policy management tools, such as the Google Cloud Resource Manager hierarchy and Google Cloud Identity and Access Management. It will take approximately 12 hours to complete this course.

Monday, June 15, 2020

Kubernetes Journey: An interesting case study

Kubernetes Stories  ๐Ÿš€๐Ÿš€๐Ÿš€  


Kubernetes is like teenage sex; many people just talk about it a lot more than they actually do it.

Presenting 10 mind-blowing stories that should help you gain real-world Kubernetes usage.


● Box’s Kubernetes Journey: An interesting case study:)

A few years ago at Box, it was taking up to six months to build a new micro-service.
Fast forward to today, it takes only a couple of days.


How did they manage to speed up?
Two key factors made it possible,
1. Kubernetes technology
2. DevOps practices

Founded in 2005, Box was a monolithic PHP application and had grown over time to millions of
lines of code. The monolithic nature of their application led to them basically building very
tightly coupled designs, and this tight coupling was coming in their way. It was resulting in
them not being able to innovate as quickly as they wanted to.
Bugs in one part of their application would require them to roll back the entire application. So
many engineers working on the same code base with millions of lines of code, bugs were not
that uncommon. It was increasingly hard to ship features or even bug fixes on time. So they
looked out for a solution and decided to go with the micro-services approach. But then they
started to face another set of problems....

That's where Kubernetes came in:)

A 250 Year Old Bank's Cloud-Native Kubernetes Journey:


For them, it all started with using containers in the beginning and they began to face some problems
in the initial stages since it was a bank (financial sector), they usually face more challenges with
compliance, governance and the priority was more on security. On the cloud-native landscape, as
there are many tools, it was confusing for them to choose which tool for what as they didn't want
each developer team selecting different tools and facing a catastrophic separation from others and
licensing issues. 

So the need for them was to come up with some clear guidelines for developers, the best cloud
features they can consume easily before moving to a cloud-native approach to creating a uniform
way of working. They also came up with a plan of having a regulated team that previously worked on
tools and processes to share knowledge and best practices. They created a team called 'Stratus.'
The mission of this team 'Stratus' is to enable development teams to quickly deliver secure and
high-quality software by providing them with easy to use platforms, security, portability across
clouds on enterprise-level, and reusable software components.

How did 'Pokemon Go' able to scale so efficiently? 

The answer is Kubernetes.


500+ million downloads and 20+ million daily active users. That's HUGE.

Pokemon Go engineers never thought their user base would increase exponentially surpassing the
expectations within a short time. Even the servers couldn't handle this much traffic.

The Challenge:
The horizontal scaling on one side but Pokemon Go also faced a severe challenge when it came to
vertical scaling because of the real-time activity by millions of users worldwide. Niantic was not
prepared for this.

The Solution:
The magic of containers. The application logic for the game ran on Google Container Engine (GKE)
powered by the open-source Kubernetes project.

Niantic chose GKE for its ability to orchestrate their container cluster at planetary-scale, freeing its
team to focus on deploying live changes for their players. In this way, Niantic used Google Cloud to
turn Pokรฉmon GO into a service for millions of players, continuously adapting and improving. This
got them more time to concentrate on building the game's application logic and new features rather
than worrying about the scaling part.

“Going Viral” is not always easy to predict but you can always have Kubernetes in your tech stack.


Shopify engineering team's journey to building their own PaaS with Kubernetes 


Shopify was one of the pioneers in large-scale users of Docker in production.
They ran 100% of their production traffic in hundreds of containers. Shopify engineering team saw
the real value of containerisation and also aspired to introduce a real orchestration layer.
They started looking at orchestration solutions, and the technology behind Kubernetes fascinated
them.

It all started in 2016 where all the engineers were happy running services everywhere with a simple
stack that included Chef, Docker, AWS, and Heroku. But just like any other company that is in the
growth phase, the Shopify encountered some challenges when this Canadian e-commerce company
saw 80k+ requests per second during peak demand. Wohooo:)

Many processes were not scalable, and they needed a quick solution. The Shopify team recognized
that they needed to increase their focus on tested infrastructure, and automation that works as
expected, every time.

The Shopify engineering team believed in three principles: providing a 'paved road, 'hide complexity'
and 'self-serve.'


Italy's biggest traditional bank is embracing Kubernetes.  

A conventional bank running its real business on such a young technology?
Are you kidding me?

Nope, I am not kidding. Italy's banking group, Intesa Sanpaolo, has made this transition.

These are banks who still run their ATM networks on 30-year-old mainframe technology and
embracing the hottest trend & tech is nearly unbelievable. Even though ING, the banking and
financial corporation changed the way the banks were seen by upgrading itself with Kubernetes and
DevOps practices very early in the game, there was still a stigma with adopting Kubernetes in the
highly regulated and controlled environments like Healthcare, Banks, etc.

The bank's engineering team came up with an initiative strategy in 2018 to throw away the old way
of thinking and started embracing the technologies like micro-services, container architecture, and
migrate from monolithic to multi-tier applications. It was transforming itself into a software
company, unbelievable.

Today the bank runs more than 3,000 applications. Of those, more than 120 are now running in
production using the new micro-services architecture, including two of the 10 most business-critical
for the bank.


Kubernetes success story at Pinterest  

With over 250 million monthly active users and serving over 10 billion recommendations every single
day, that is huge. (The numbers might have changed now)


As they knew these numbers are going to grow day by day, they began to realise the pain of
scalability and performance issues.

Their initial strategy was to move their workload from EC2 instances to Docker containers; hence
they first moved their services to Docker to free up engineering time spent on Puppet and to have an
immutable infrastructure.
And then the next strategy was to move to Kubernetes:)

Now they can take ideas from ideation to production in a matter of minutes whereas earlier they
used to take hours or even days. They have cut down so much of overhead cost by utilising
Kubernetes and have removed a lot of manual work without making engineers worry about the
underlying infrastructure.


 ● Airbnb's Kubernetes story

Airbnb's transition from a monolithic to a microservices architecture is pretty amazing. They
needed to scale continuous delivery horizontally, and the goal was to make continuous delivery
available to the company's 1000 or so engineers so they could add new services. Airbnb
adopted to support over 1000 engineers concurrently configuring and deploying over 250
critical services to Kubernetes (at a frequency of about 500 deploys per day on average).


The New York Times Kubernetes story

Today the majority of their customer-facing applications are running on Kubernetes.
What an amazing story:)
The biggest impact has been to speed up deployment and productivity. Legacy deployments
that took up to 45 minutes are now pushed in just a few.

It's also given developers more freedom and less bottlenecks.

The New York Times has gone from a ticket-based system for requesting resources and weekly
deploy schedules to allowing developers to push updates independently.


Kubernetes at Reddit

Reddit is one of the top busiest sites in the world.
Kubernetes forms the core of Reddit's internal Infrastructure.

For many years, the Reddit infrastructure team followed traditional ways of provisioning and
configuring. However, this didn't go long until they saw some huge drawbacks and failures
happening while doing the things the old way.
They moved to 'Kubernetes.'


 ● Tinder’s Kubernetes story:

Due to high traffic volume, Tinder's engineering team faced challenges of scale and stability. What
did they do? Kubernetes.' Yes, the answer is Kubernetes.

Tinder's engineering team solved interesting challenges to migrate 200 services and run a
Kubernetes cluster at scale totalling 1,000 nodes, 15,000 pods, and 48,000 running containers.

Was that easy? No ways. However, they had to do it for the smooth business operations going
further.

One of their Engineering leaders said, "As we on-boarded more and more services to Kubernetes,
we found ourselves running a DNS service that was answering 250,000 requests per second."

Fantastic culture, Tinder’s entire engineering organisation now has knowledge and experience on
how to containerise and deploy their applications on Kubernetes.



Try This Simple 5-Step Kubernetes CI/CD Process

Step 1. Develop your micro-service. This can be a .war or .jar file.

Step 2. Create a Docker Framework using Tomcat and Java-8 on Ubuntu as a base image.

Step 3. Create the Docker image for the micro-service by adding the .war/.jar file to the Docker
Framework.

Step 4. Create a Helm chart for the micro-service.

Step 5. Deploy the micro-service to the Kubernetes cluster using the Helm Chart.

Try: ​http://bit.ly/CICDPROCESS







Thanks:) :) :)