Overview: APIM provides two methods for secure access to an API operations:
- Subscription: passed in the header or the query string (generated primary and secondary subscription key for each subscription), and
- Client Certificates.
Overview: APIM provides two methods for secure access to an API operations:
Good service to check when DNS changes are propagated on the Interweb
Overview: I find document APIM contracts incredibly important and yet it's often very poorly done. This post provide a simple YAML and JSON example that can be imported into APIM or any other gateway product for that matter.
The YAML file below can be imported into APIM and published to the developer portal. The example provides a clear example on options and how an API should be documented. Developers can see an example of the JSON to use when performing the PUT. The developers can see more information of a property, for instance a passport number would be a certain length and rather than specifying and option free text string with no description, the developer would know that the property has to come in the correct format.
Simple Open API specification showing a single documented operation for a complex PUT object (YAML).
Overview: With SaaS products is is easy for our customers to leave. We need to reduce turnover/churn and technology can help to deliver great Customer Experience (CX). CX is closely coupled with Customer Success.
Update 1 Feb 2022: For new projects use .NET6 (Core) it needs VS2022. Don't use any versions of .NET framework (last release was 4.8) or .NET standard (last release was 2.0).
Problem: The client has several existing .NET applications/products. These products are running on Azures Service Fabric, which has been developed over several years. Service Fabric applications have various .NET core and .NET framework versions, and many of the apps have gone out of Microsoft support for the .NET version they are written on.
Initial Hypothesis: We have .NET framework and .NET Core apps. .NET Core 5.0 has dropped the "Core" part of the naming, so it is merely .NET 5. .NET framework came first, and the last version was .NET framework 4.8. .NET Core is the follow on and .NET Core 3.1 next version has the name chnge to .NET 5.0. The "Core" part is dropped. Lastly, .NET Standard is often used by software companies to write dll's. Only class libraries are allowed, but any .NET framework or .NET core projects can reference them.
Proposed Resolution: My preference is to upgrade .NET core and .NET Framework separately as this is the lowest risk, most extended life with minimized cost.
For .NET Core apps, if less than .NET core 3.1 migrate the app to .NET 5. .NET Core 3.1 don't upgrade. Any other versions should be upgraded to .NET 5.
Version |
Release
date |
Released
with |
Latest
update |
Latest
update date |
Support
ends[20] |
.NET Core 1.0 |
2016-06-27[21] |
Visual Studio 2015 Update
3 |
1.0.16 |
2019-05-14 |
June 27, 2019 |
.NET Core 1.1 |
2016-11-16[22] |
Visual Studio 2017 Version
15.0 |
1.1.13 |
2019-05-14 |
June 27, 2019 |
.NET Core 2.0 |
2017-08-14[14] |
Visual Studio 2017 Version 15.3 |
2.0.9 |
2018-07-10 |
October 1, 2018 |
.NET Core 2.1 |
2018-05-30[15] |
Visual Studio 2017 Version 15.7 |
2.1.26 (LTS) |
2021-03-09 |
August 21, 2021 |
.NET Core 2.2 |
2018-12-04[16] |
Visual Studio 2019 Version
16.0 |
2.2.8 |
2019-11-19 |
December 23, 2019 |
.NET Core 3.0 |
2019-09-23[23] |
Visual Studio 2019 Version 16.3 |
3.0.3 |
2020-02-18 |
March 3, 2020 |
.NET Core 3.1 |
2019-12-03[24] |
Visual Studio 2019 Version 16.4 |
3.1.13 (LTS) |
2021-03-09 |
December 3, 2022 |
.NET 5 |
2020-11-10[25] |
Visual Studio 2019 Version 16.8 |
5.0.5 |
2021-04-06 |
3 months after .NET 6 release |
For .NET Framework, anything less than .NET Framework 3.5, move to 3.5. 3.5 Framework based apps can stay on 3.5. For app using .NET Framework 4.0 to 4.5.1 upgrade to .NET framework 4.8. For app using .NET 4.5.2 to 4.7, stay on their versions.
Version |
Existing Application Support |
Target New Applications? |
1.x |
✘ out of
support - migrate ASAP |
✘ out of
support - do not target |
2.x |
✘ out of support - migrate ASAP |
✘ out of
support - do not target |
3.x |
✘ out of support - migrate ASAP |
✘ out of support - do not target |
3.5 |
✓ Operating System
(until 2029) |
⚠️Operating System
(until 2029) - target with caution |
4.0 to 4.5.1 |
✘ out of
support - migrate ASAP |
✘ out of
support - do not target |
4.5.2 to 4.7 |
⚠️Operating System
(mixed) - review support policy of each version |
⚠️Operating System
(mixed) - target with caution |
4.8 |
✓ Operating System
(indefinite) |
✓ Operating System
(indefinite) |
Steps:
1.> Open Microsoft Teams, and click the "Chat" button, start the call to 1 or more people
2.> Select "More Actions" (Three dots)
3.> Click "Apply background effects"
4.> Select "Add new"6.> Select the "Apply" button. All future calls shall have the same background as the default background for all subsequent Team calls.
Note: Your Teams background may appear backwards to you. The background will will display correctly to everyone else on the call
Overview: I like to use a custom background in my Zoom and Teams meetings as I don't need to worry about what people and clients can see in my home. We used Shopify to sell digital good (the customized meeting backgrounds).
Solution: Users can select a background that the rights had been purchased for. Then could upload the company logo and add their name. It makes a pretty cool background effect and we used Shopify to create a online shop to allow people to order. Originally we planned to use a ReactJS application on Azure for the creation and ordering but Shopify had a plugin that stored all the digital assets on AWS for $10/month. Coupled with Shopify's low fees it was better to keep the whole system under Shopify.
Shopify also provides Channel/Sales buttons that you can place on blogs and websites. They get pretty advance as shown below.
Problem: Customers, originally we planed to sell each customise image for about the price of a cup of coffee ($5, £4). The hard part was finding a way to get customers and convert them into paying customers. Also as you generally only use 1 image their is no returning customer to offset the cost of acquisition. Adwords proved nonviable, the cost of attracting customers was way in excess of the return. Also convincing people to input credit card made the conversion rate even more difficult to make Adwords a viable option.Summary: Shopify is a great ecosystem and I have setup a couple of stores using it now. It is fast, customisable, well thought out, great for a new starter. It has tons of plug-ins, lots of free and purchasable themes/templates. There is a lot of documentation, and a lot of expertise to help out. We used Fiver for some scaling on my theme as i couldn't get the scaling 100%, easy to find and they person helped me right out. In the end, a good experience, Shopify is awesome and easy.