Claim 35 Post Templates from the 7 best LinkedIn Influencers

Get Free Post Templates
Dr Milan Milanović

Dr Milan Milanović

These are the best posts from Dr Milan Milanović.

18 viral posts with 75,475 likes, 1,680 comments, and 5,272 shares.
14 image posts, 1 carousel posts, 2 video posts, 1 text posts.

👉 Go deeper on Dr Milan Milanović's LinkedIn with the ContentIn Chrome extension 👈

Best Posts by Dr Milan Milanović on LinkedIn

Don't worry. There will be a place for everyone.

Learn AI and use it as your leverage to improve your work.

#ai #artificialintelligence #technology #developers #work
Post image by Dr Milan Milanović
𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿 != 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿

Software Engineer == Problem Solver

Don't attack problems with code. Try first to understand them from a business perspective and then a technical perspective. When you do this, make a plan for how to solve it.

Try to solve without coding. The best code is not code.

If you must code, then do it.

Remember, 𝗰𝗼𝗱𝗲 𝗶𝘀 𝗮 𝗹𝗶𝗮𝗯𝗶𝗹𝗶𝘁𝘆, 𝗻𝗼𝘁 𝗮𝗻 𝗮𝘀𝘀𝗲𝘁.

#technology #softwareengineering #programming #developers #coding
Friday Developers Fun 🤣

Release to production be like.

#developers #softwareengineering #meme #fridayhumor
𝗥𝗲𝗰𝗼𝗺𝗺𝗲𝗻𝗱𝗲𝗱 𝗹𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗿𝗲𝘀𝗼𝘂𝗿𝗰𝗲𝘀 𝗳𝗼𝗿 𝗖# 𝗮𝗻𝗱 .𝗡𝗘𝗧 𝗶𝗻 𝟮𝟬𝟮𝟯.

In the recent Stack Overflow Developer Survey 2023. .NET (5+) is the most popular library, while ASP.NET Core is in the top 7 Web frameworks developers use. Finding the right resources is not easy if you want to become a full-stack or back-end developer in the Microsoft .NET stack or improve your knowledge.

Here is the list of curated resources that you can use:

𝟭. 𝗟𝗲𝗮𝗿𝗻 𝗖#

📝 Microsoft Learn C#: https://lnkd.in/eVdEzvBd
📝 Microsoft C# Fundamentals for Absolute Beginners: https://lnkd.in/e7iC2UUc
📝 Microsoft C# 101: https://lnkd.in/g42jb9bx
📝 Udemy C# for Beginners - Coding From Scratch (.NET Core): https://lnkd.in/eGbiBwq2
📝 C# Basics for Beginners: Learn C# Fundamentals by Coding: https://lnkd.in/ewmfFUdC

𝟮. 𝗟𝗲𝗮𝗿𝗻 .𝗡𝗘𝗧

📝 Learn.NET official Microsoft tutorials: https://lnkd.in/eYp4qNNN
📝 Become a Full-stack .NET Developer - Advanced Topics: https://lnkd.in/efVFFDJK

𝟯. 𝗟𝗲𝗮𝗿𝗻 𝗔𝗦𝗣.𝗡𝗘𝗧

📽 ASP.NET Core Fundamentals by Scott Alen: https://lnkd.in/e-fFq6Xt
📽 ASP.NET MVC 5 Fundamentals by Scott Alen: https://lnkd.in/esKxs8U3
👩‍🏫 Advanced ASP.NET Core 3.1 MVC: https://lnkd.in/e__kZ8Bg
📚 Pro ASP.NET Core 3: https://lnkd.in/eZSCwx4K

𝟰. 𝗕𝗼𝗼𝗸𝘀

📚 Learn C# in One Day and Lear it Well (the best for beginners): https://lnkd.in/dF9yxyCb
📚 C# in Depth: Fourth Edition (the best for intermediate): https://lnkd.in/eAJHZWWB
📚 Concurrency in C# Cookbook (the best for advanced): https://lnkd.in/dG4rgmyw
📚 The C# Yellow Book (the best book overall): https://lnkd.in/ePV_-U8e

𝟱. 𝗬𝗼𝘂𝗧𝘂𝗯𝗲 𝗖𝗵𝗮𝗻𝗻𝗲𝗹𝘀

📽 IAmTimCorey: https://lnkd.in/extYhz2k
📽 Programming with Mosh: https://lnkd.in/ezTTaz7g
📽 Nick Chapsas: https://lnkd.in/eS_ey2mB
📽 Milan Jovanovic: https://lnkd.in/dCQXDP4t
📽 Zoran Horvat: https://lnkd.in/dBYY4d-R
📝 Other .NET content creators by country: https://lnkd.in/duNXk5Z7

𝟲. 𝗟𝗲𝗮𝗿𝗻 𝗴𝗼𝗼𝗱 𝗽𝗿𝗮𝗰𝘁𝗶𝗰𝗲𝘀

📝 Clean code: https://lnkd.in/eSVMGGXh
📝 Code Complete, 2nd Edition (a must-read for any developer and architect): https://lnkd.in/e2Yuzjem
📝 Design Patterns: https://lnkd.in/edVcd_WX
📝 SOLID Principles of OO Design: https://lnkd.in/eerMF84K
📝 Advanced Unit Testing: https://lnkd.in/eMf584xC
📝 Refactoring Fundamentals: https://lnkd.in/exZxPWhZ by Steve Smith

𝟳. 𝗔𝗱𝗱𝗶𝘁𝗶𝗼𝗻𝗮𝗹 𝗺𝗮𝘁𝗲𝗿𝗶𝗮𝗹𝘀

📝 Roadmap for ASP.NET Core Developers in 2023: https://lnkd.in/d8zRRKyU
📝 Collection of Awesome .NET Libraries, tools, frameworks, and software: https://lnkd.in/e3ESib7
📝 .NET Architecture: https://lnkd.in/dyjwyRf5

Do you know if any other suggestion is not mentioned in the list? Write in the comments.

_______
If you like my posts, please follow me, Dr. Milan Milanović, and hit the 🔔 on my profile to get a notification for all my new posts.

Grow with me 🚀!

#softwareengineering #programming #dotnet #csharp #techworldwithmilan
Post image by Dr Milan Milanović
𝗛𝗼𝘄 𝗧𝗼 𝗕𝗲𝗰𝗼𝗺𝗲 𝗔 𝗚𝗿𝗲𝗮𝘁 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿?

As we all know being a software engineer is not an easy thing. You need to know a lot and constantly improve yourself. But, during my career I found what differ good and great software engineers, and here are recommendations on how to become one:

𝟭. 𝗠𝗮𝘀𝘁𝗲𝗿 𝗼𝗻𝗲 𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 𝗹𝗮𝗻𝗴𝘂𝗮𝗴𝗲 𝗶𝗻 𝗱𝗲𝗽𝘁𝗵

Take one programming language and go in-depth with it. Learn everything you can and be a master of it. Some good languages you can select today are Python, Java, C#, and Rust, ...

𝟮. 𝗟𝗲𝗮𝗿𝗻 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗰𝗼𝗻𝗰𝗲𝗽𝘁𝘀

When you master a programming language, its syntax, semantics, and constructs, the next thing is to learn different software engineering concepts, such as:

- Software architecture
- Software design
- Design patterns
- Clean code
- SOLID, DRY, KISS, and YAGNI principles

𝟯. 𝗟𝗲𝗮𝗿𝗻 𝘁𝗵𝗲 𝗰𝗼𝗺𝗽𝗹𝗲𝘁𝗲 𝗦𝗗𝗟𝗖 𝗽𝗿𝗼𝗰𝗲𝘀𝘀

Try to understand the complete software development process, from requirements to deployment. Learn about Agile methodologies, DevOps, and Quality assurance.

And try to work on different projects, on more projects you work you will learn new stuff and grow.

𝟰. 𝗕𝗲 𝗮 𝗽𝗿𝗼𝗱𝘂𝗰𝘁-𝗺𝗶𝗻𝗱𝗲𝗱 𝗲𝗻𝗴𝗶𝗻𝗲𝗲𝗿

When working on your project, don't settle just with specs and jump to implement it. Think about other ideas and approach your product manager with them. Try to understand the complete system, but also how business works. Be an end-to-end product feature owner.

𝟱. 𝗜𝗺𝗽𝗿𝗼𝘃𝗲 𝘆𝗼𝘂𝗿 𝗰𝗼𝗺𝗺𝘂𝗻𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗮𝗻𝗱 𝘀𝗼𝗳𝘁-𝘀𝗸𝗶𝗹𝗹𝘀

Be respectful of others, communicate clearly, and be humble. Being kind has no financial cost, but its effects are immeasurable.

Try pair/mob programming. Talk with people outside engineering, grab a coffee, or lunch, or do a hallway chat with them.

𝟲. 𝗟𝗲𝗮𝗿𝗻 𝗶𝗻𝘁𝗲𝗻𝘁𝗶𝗼𝗻𝗮𝗹𝗹𝘆

We need to learn, but the trick is when and how. Don't just learn things, because this is inefficient. We need to learn intentionally, just before we need it and this will make the biggest impact.

𝟳. 𝗪𝗼𝗿𝗸 𝘄𝗶𝘁𝗵 𝘀𝗼𝗺𝗲𝗼𝗻𝗲 𝗺𝗼𝗿𝗲 𝗲𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲𝗱

The fastest way to progress in your career is to find a mentor. He can help you find your gaps and show you some new opportunities. A mentor can be found inside an organization or outside (check specialized services).

𝟴. 𝗨𝘀𝗲 𝗴𝗼𝗼𝗱 𝗲𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗽𝗿𝗮𝗰𝘁𝗶𝗰𝗲𝘀

Learn and follow good practices', such as:

- Using version control
- Write your tests properly (check the test pyramid)
- Learn how to refactor
- Learn TDD
- Code reviews
- DevOps mindset

Also, learn your IDE very well, and all the important shortcuts you need. Debugger too.

Check bonuses in the comments.

#softwareengineering #softwaredeveloper #programming #career
Post image by Dr Milan Milanović
Don't worry. There will be a place for everyone.\n\nLearn AI and use it as your leverage to improve your work.\n\n#ai #artificialintelligence #technology #developers #work
Post image by Dr Milan Milanović
Friday Developers Fun 🤣

Just read the docs.

#developers #softwareengineering #meme #fridayhumor
Post image by Dr Milan Milanović
Friday Developers Fun 🤣

Frontend and backend developers win together

#developers #softwareengineering #meme #fridayhumor
𝗗𝗲𝘀𝗶𝗴𝗻 𝗣𝗮𝘁𝘁𝗲𝗿𝗻𝘀 𝗤𝘂𝗶𝗰𝗸 𝗥𝗲𝗳𝗲𝗿𝗲𝗻𝗰𝗲

If you need a short cheat sheet on design patterns, download it from here.

Credits: Jason McDonald.

____
If you like my posts please follow Dr. Milan Milanović and hit the 🔔 on my profile to get a notification for all my new posts.

Learn something new every day 🚀!

#softwaredesign #softwareengineering #designpatterns #programming #softwarearchitecture
Post image by Dr Milan Milanović
𝗗𝗼 𝘆𝗼𝘂 𝗵𝗮𝘃𝗲 𝗮 𝗳𝗶𝘅𝗲𝗱 𝗺𝗶𝗻𝗱𝘀𝗲𝘁?

If you have it, you think you cannot be better or have a better job or life.

This is a prejudice that constrains you from growing further.

More outstanding achievement and well-being have all been associated with having a growth mindset, a mentality that one's talents can be developed through work and learning.

As it requires confronting rooted ideas and thought habits, shifting one's mentality can be time- and effort-consuming.

But you can start today and improve yourself in every way.

The future still needs to be written. It's up to you to write it.

Anything is possible!

I wish you a great week ahead 👋.

#technology #softwareengineering #techworldwithmilan #careers #personaldevelopment
Post image by Dr Milan Milanović
If you are not sure if you can do it, yes you can!

All you need is a Can-Do attitude.

I wish you a great week ahead 👋.

#technology #techworldwithmilan #careers #personaldevelopment #productivity
Post image by Dr Milan Milanović
𝗔 𝗩𝗶𝘀𝘂𝗮𝗹 𝗚𝘂𝗶𝗱𝗲 𝗢𝗻 𝗛𝗼𝘄 𝗧𝗼 𝗖𝗵𝗼𝗼𝘀𝗲 𝗧𝗵𝗲 𝗥𝗶𝗴𝗵𝘁 𝗗𝗮𝘁𝗮𝗯𝗮𝘀𝗲

Choosing the right data store can be confusing with so many options around. This diagram shows a selection choice for a datastore based on a use case (𝗦𝗤𝗟 𝘃𝘀 𝗡𝗼𝗦𝗤𝗟).

Data can be 𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲𝗱 (𝗦𝗤𝗟 𝘁𝗮𝗯𝗹𝗲 𝘀𝗰𝗵𝗲𝗺𝗮), 𝘀𝗲𝗺𝗶-𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲𝗱 (𝗝𝗦𝗢𝗡, 𝗫𝗠𝗟, 𝗲𝘁𝗰.), 𝗮𝗻𝗱 𝘂𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲𝗱 (𝗕𝗹𝗼𝗯). In the case of structure, they can be relational or columnar, while in the case of semi-structured, there is a wide range of possibilities, from key-value to graph.

Credits Satish Chandra Gupta.

Back to you, which database have you used for which workload?

Check the full source in the comments.

_______
If you like my posts, please follow me, Dr. Milan Milanović, and hit the 🔔 on my profile to get a notification for all my new posts.

Learn something new every day 🚀!

#SQL #NoSQL #Data #Database #AWS
Post image by Dr Milan Milanović
𝗪𝗵𝘆 𝗱𝗼 𝘄𝗲 𝗻𝗲𝗲𝗱 𝗧-𝘀𝗵𝗮𝗽𝗲𝗱 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀?

Today we have different kinds of developers, frontend, backend, mobile, and others. They are more or fewer specialists in one field in software engineering. Those engineers are usually experts in their field and they are very productive. However, in today's world of cross-platform teams, this is usually not enough, because a specialist is very focused on only one field of knowledge.

What we need is a 𝗧-𝘀𝗵𝗮𝗽𝗲𝗱 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿. And this means that this person is someone who has a general knowledge of different fields in software engineering (thick horizontal line), but a deeper knowledge in one or more fields (deep vertical line), making this T-shape a developer skillset. These kinds of developers are 𝗯𝗲𝘁𝘁𝗲𝗿 𝗿𝗼𝘂𝗻𝗱𝗲𝗱 𝗮𝘀 𝘁𝗵𝗲𝘆 𝗮𝗿𝗲 𝗰𝗼𝗺𝗳𝗼𝗿𝘁𝗮𝗯𝗹𝗲 𝗱𝗼𝗶𝗻𝗴 𝗼𝘁𝗵𝗲𝗿 𝗷𝗼𝗯𝘀 𝗼𝘂𝘁𝘀𝗶𝗱𝗲 𝘁𝗵𝗲𝗶𝗿 𝗽𝗿𝗶𝗺𝗮𝗿𝘆 𝗮𝗿𝗲𝗮 𝗼𝗳 𝗲𝘅𝗽𝗲𝗿𝘁𝗶𝘀𝗲. They also can help in different tasks and better understand the complete software development lifecycle (SDLC), as well as other developers.

So, how you can become a T-shaped developer:

𝟭. 𝗧𝗿𝘆 𝘁𝗼 𝗹𝗲𝗮𝗿𝗻 𝘁𝗵𝗶𝗻𝗴𝘀 𝗼𝘂𝘁𝘀𝗶𝗱𝗲 𝗼𝗳 𝘆𝗼𝘂𝗿 𝘀𝗽𝗲𝗰𝗶𝗮𝗹𝗶𝘇𝗮𝘁𝗶𝗼𝗻

𝟮. 𝗕𝗲 𝗶𝗻𝘃𝗼𝗹𝘃𝗲𝗱 𝗶𝗻 𝗰𝗼𝗺𝗽𝗹𝗲𝘁𝗲 𝗦𝗗𝗟𝗖

𝟯. 𝗗𝗼 𝗽𝗮𝗶𝗿 𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 𝘄𝗶𝘁𝗵 𝘆𝗼𝘂𝗿 𝗰𝗼𝗹𝗹𝗲𝗮𝗴𝘂𝗲𝘀 𝘄𝗶𝘁𝗵 𝗺𝗼𝗿𝗲 𝗲𝘅𝗽𝗲𝗿𝘁𝗶𝘀𝗲

𝟰. 𝗕𝗲 𝗰𝘂𝗿𝗶𝗼𝘂𝘀 𝗮𝗯𝗼𝘂𝘁 𝘄𝗵𝗮𝘁 𝗼𝘁𝗵𝗲𝗿 𝗽𝗲𝗼𝗽𝗹𝗲 𝗼𝗻 𝘁𝗵𝗲 𝘁𝗲𝗮𝗺 𝗮𝗿𝗲 𝗱𝗼𝗶𝗻𝗴.

Developers ought to start thinking creatively and being more observant of their surroundings. Teamwork speeds up problem-solving and helps spot emerging problems. Developers gain a new perspective on issue solutions through engaging in conversation, listening to others, and working with individuals from varied backgrounds. This makes 𝗧-𝘀𝗵𝗮𝗽𝗲 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀 𝘁𝗼 𝗯𝗲𝘁𝘁𝗲𝗿 𝗽𝗼𝘀𝗶𝘁𝗶𝗼𝗻 𝘁𝗵𝗲𝗺𝘀𝗲𝗹𝘃𝗲𝘀 𝘄𝗶𝘁𝗵 𝗰𝘂𝘀𝘁𝗼𝗺𝗲𝗿𝘀 𝗮𝗻𝗱 𝗽𝗲𝗲𝗿𝘀, but also open the doors to some other positions where such knowledge is valuable (think a software architect or a product owner). And in general, they change discussion from “𝘄𝗵𝗼 𝗸𝗻𝗼𝘄𝘀 𝗵𝗼𝘄 𝘁𝗼 𝗱𝗼 𝘁𝗵𝗶𝘀“ 𝘁𝗼 “𝘄𝗵𝗮𝘁 𝗻𝗲𝗲𝗱𝘀 𝘁𝗼 𝗯𝗲 𝗱𝗼𝗻𝗲“.

Which kind of a developer are you? Specialist or T-Shaped one?

_______
If you like my posts please follow me Dr. Milan Milanović and hit the 🔔 on my profile to get a notification for all my new posts.

Learn something new every day 🚀!

#softwareengineering #programming #techworldwithmilan #career #personaldevelopment
Post image by Dr Milan Milanović
𝗔𝗣𝗜-𝗙𝗶𝗿𝘀𝘁 𝗔𝗽𝗽𝗿𝗼𝗮𝗰𝗵 𝘁𝗼 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗺𝗲𝗻𝘁

As more businesses migrate to the cloud, they set up procedures to handle containerization, continuous delivery, and new microservice designs. An 𝗔𝗣𝗜-𝗳𝗶𝗿𝘀𝘁 𝗮𝗽𝗽𝗿𝗼𝗮𝗰𝗵  can assist you in managing the complexities of working in the cloud, whether your organization is embracing cloud services or making the switch to a cloud infrastructure.

Particularly in this cloud-driven environment, the traditional code-first approach to app development occasionally causes delays, rework, or a fragmented frankenstein-esque experience for the developer. Even 𝗯𝗶𝗴 𝗰𝗼𝗺𝗽𝗮𝗻𝗶𝗲𝘀 𝗹𝗶𝗸𝗲 𝗔𝗺𝗮𝘇𝗼𝗻, 𝗨𝗯𝗲𝗿, 𝗮𝗻𝗱 𝗡𝗲𝘁𝗳𝗹𝗶𝘅, whose solutions were already very successful with a monolithic architecture, have switched to this approach. They moved quickly to microservices architecture and developed their own high-quality APIs, which allowed them to scale their services even more easily to various platforms. 

An API-first strategy presupposes that an 𝗮𝗽𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 𝗶𝗻𝘁𝗲𝗿𝗳𝗮𝗰𝗲 (𝗔𝗣𝗜) 𝗶𝘀 𝗱𝗲𝘀𝗶𝗴𝗻𝗲𝗱 𝗮𝗻𝗱 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗱 𝗯𝗲𝗳𝗼𝗿𝗲 𝗶𝘁 𝗶𝘀 𝗶𝗺𝗽𝗹𝗲𝗺𝗲𝗻𝘁𝗲𝗱. The first step taken by your team is to design the application's UI. With an API-first approach, instead of starting with code, you could start with design, planning, mocks, and tests.

The process looks like follows:

𝟭. 𝗗𝗲𝘀𝗶𝗴𝗻 𝘁𝗵𝗲 𝗔𝗣𝗜

Here you can use tools like Postman e.g., where you would define requests in collections.

𝟮. 𝗚𝗲𝘁 𝗳𝗲𝗲𝗱𝗯𝗮𝗰𝗸 𝗼𝗻 𝘁𝗵𝗲 𝗔𝗣𝗜 𝗱𝗲𝘀𝗶𝗴𝗻

You can mock an API and get the feedback from users here.

𝟯. 𝗕𝘂𝗶𝗹𝗱 𝘁𝗵𝗲 𝗔𝗣𝗜

In this step we need to do following:

- Document the API.
- Write tests.
- Develop the backend.
- Develop the user interface.

𝟰. 𝗗𝗲𝗽𝗹𝗼𝘆 𝘁𝗵𝗲 𝗔𝗣𝗜

When everything is ready, we can deploy our app to a server. Here we can share the API documentation and run the tests.

Credits: Joyce Lin.

Full text in the comments.

If you like my posts please follow me Dr. Milan Milanović and hit the 🔔 on my profile to get a notification for all my new posts.

#programming #cloud #microservices #api #apidesign
Post image by Dr Milan Milanović
𝗪𝗵𝗮𝘁 𝗶𝘀 𝗮𝗻 𝗔𝗣𝗜 𝗚𝗮𝘁𝗲𝘄𝗮𝘆?

An API management tool known as an 𝗔𝗣𝗜 𝗴𝗮𝘁𝗲𝘄𝗮𝘆 sits between a client and a group of backend services. It performs the function of a reverse proxy by accepting all application programming interface (API) calls, aggregating the different services needed to fulfill them, and returning the right outcome.

By using API gateways, most enterprise APIs are deployed. User 𝗮𝘂𝘁𝗵𝗲𝗻𝘁𝗶𝗰𝗮𝘁𝗶𝗼𝗻, 𝗿𝗮𝘁𝗲 𝗹𝗶𝗺𝗶𝘁𝘀, 𝗮𝗻𝗱 𝘀𝘁𝗮𝘁𝗶𝘀𝘁𝗶𝗰𝘀 are typical duties that API gateways take care of on behalf of a system of API services.

An API service receives a remote request and responds to it. But in reality, nothing is ever that easy. When you host large-scale APIs, take into account 𝘃𝗮𝗿𝗶𝗼𝘂𝘀 𝗰𝗼𝗻𝗰𝗲𝗿𝗻𝘀:

✅ You use a 𝗿𝗮𝘁𝗲 𝗹𝗶𝗺𝗶𝘁𝗮𝘁𝗶𝗼𝗻 𝘀𝘆𝘀𝘁𝗲𝗺 𝗮𝗻𝗱 𝗮𝗻 𝗮𝘂𝘁𝗵𝗲𝗻𝘁𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝘀𝗲𝗿𝘃𝗶𝗰𝗲 to safeguard your APIs against abuse and excessive use.
✅ You implemented 𝗮𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 𝗮𝗻𝗱 𝗺𝗼𝗻𝗶𝘁𝗼𝗿𝗶𝗻𝗴 𝘁𝗼𝗼𝗹𝘀 because you want to know how people use your APIs.
✅ You should link to a 𝗽𝗮𝘆𝗲𝗺𝗲𝗻𝘁 𝘀𝘆𝘀𝘁𝗲𝗺 if your APIs are monetized.
✅ If you've chosen a 𝗺𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝗮𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲, a single request can need calling hundreds of different programs.
✅ Your clients will still want to be able to access all your services in 𝗼𝗻𝗲 𝗹𝗼𝗰𝗮𝘁𝗶𝗼𝗻 even when you add new API services over time and retire others.

So, 𝗵𝗼𝘄 𝗱𝗼𝗲𝘀 𝗶𝘁 𝘄𝗼𝗿𝗸 in general:

1. API gateway receives an HTTP request from a client.
2. When received, it validates the request first.
3. API gateway checks with an identity provider about authentication/authorization.
4. The rate-limiting rules are then applied to the request.
5. The API gateway finds the backend services and routes the request.

Also, the API gateway can handle 𝗳𝗮𝘂𝗹𝘁𝘀 (𝗰𝗶𝗿𝗰𝘂𝗶𝘁 𝗯𝗿𝗲𝗮𝗸𝗲𝗿), 𝗯𝘂𝘁 𝗮𝗹𝘀𝗼 𝗱𝗼 𝗹𝗼𝗴𝗴𝗶𝗻𝗴, 𝗰𝗮𝗰𝗵𝗶𝗻𝗴 𝗮𝗻𝗱 𝗺𝗼𝗻𝗶𝘁𝗼𝗿𝗶𝗻𝗴.

An 𝗲𝘅𝗮𝗺𝗽𝗹𝗲𝘀 𝗼𝗳 𝗔𝗣𝗜 𝗚𝗮𝘁𝗲𝘄𝗮𝘆𝘀 are Apigee (now part of Google Cloud), Express Gateway and Tyk API Gateway. The primary public cloud providers offer API gateway tools specific to their platforms: Amazon API Gateway, Azure API Gateway, and Google Cloud API Gateway.

_______
If you like my posts, please follow me, Dr. Milan Milanović, and hit the 🔔 on my profile to get a notification for all my new posts.

Learn something new every day 🚀!

#api #apidesign #microservices #softwareengineering #programming
Post image by Dr Milan Milanović
𝗘𝘃𝗼𝗹𝘂𝘁𝗶𝗼𝗻 𝗼𝗳 𝘁𝗵𝗲 𝗡𝗲𝘁𝗳𝗹𝗶𝘅 𝗔𝗣𝗜 𝗮𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲

The highly scalable and loosely linked microservice architecture used by Netflix is well known. Independent services provide independent scaling and varied rates of evolution. Yet, they increase the complexity of use cases involving several services. Netflix provides a uniform API aggregation layer at the edge rather than making hundreds of microservices available to UI developers.

During that time, Netflix API architecture went through 4 main stages:

1. 𝗠𝗼𝗻𝗼𝗹𝗶𝘁𝗵: A complete application is packaged as a single deployment unit.

2. 𝗗𝗶𝗿𝗲𝗰𝘁 𝗔𝗰𝗰𝗲𝘀𝘀: This architecture enables client apps to hit the microservices, which is not ideal with many clients.

3. 𝗚𝗮𝘁𝗲𝘄𝗮𝘆 𝗔𝗴𝗴𝗿𝗲𝗴𝗮𝘁𝗶𝗼𝗻 𝗟𝗮𝘆𝗲𝗿: as they observed much duplicative data-fetching, here Netflix build graph API to provide unified abstraction on top of data and relationships.

4. 𝗙𝗲𝗱𝗲𝗿𝗮𝘁𝗲𝗱 𝗚𝗮𝘁𝗲𝘄𝗮𝘆: as the number of consumers and amount of data in the graph increased and the API team was disconnected from the domain expertise, they introduced a federated gateway to provide a unified API for consumers while giving backend developers flexibility and service isolation.

Their GraphQL Gateway is based on Apollo’s reference implementation and is written in Kotlin.

Read more in the texts in the comments.

_______
If you like my posts, please follow me, Dr. Milan Milanović, and hit the 🔔 on my profile to get a notification for all my new posts.

Grow with me 🚀!

#technology #softwareengineering #programming #techworldwithmilan #api
Post image by Dr Milan Milanović
If you want to achieve 3x more, do this ⬇

Try this simple productivity hack, and 𝘀𝗰𝗵𝗲𝗱𝘂𝗹𝗲 𝗮 𝟵𝟬-𝟭𝟮𝟬𝗺𝗶𝗻 𝗯𝗹𝗼𝗰𝗸 𝗼𝗳 𝗳𝗼𝗰𝘂𝘀 𝘁𝗶𝗺𝗲 𝗲𝘃𝗲𝗿𝘆 𝗱𝗮𝘆 in your calendar.

It will make miracles!

I wish you a great week ahead 👋.

#career #personaldevelopment #productivity #techworldwithmilan
Post image by Dr Milan Milanović
𝗧𝗵𝗲 𝗣𝗼𝘄𝗲𝗿 𝗼𝗳 𝗠𝗮𝘁𝗵: 𝟭𝟳 𝗘𝗾𝘂𝗮𝘁𝗶𝗼𝗻𝘀 𝗧𝗵𝗮𝘁 𝗖𝗵𝗮𝗻𝗴𝗲𝗱 𝗧𝗵𝗲 𝗪𝗼𝗿𝗹𝗱

In 2013, mathematician and science author Ian Stewart published a book on “17 Equations That Changed The World.“

Which one is missing from the list?

Credits: Ian Stewart

_______
If you like my posts, please follow me, Dr. Milan Milanović, and hit the 🔔 on my profile to get a notification for all my new posts.

Grow with me 🚀!

#technology #softwareengineering #programming #techworldwithmilan #science
Post image by Dr Milan Milanović

Related Influencers