Avenga Labs update 018 | Faster Python, Kubernetes Stargazer, Safari, iOS, neuromorphic chips, and WWDC 2022
The new version of Python, the evolution of Kubernetes, the .NET MAUI arrival, and more energy-efficient Machine Learning hardware architectures, including PyTorch on M1 Macs, and WWDC 2022 key takeouts are my picks for this update. There are only positive updates this time, so let’s jump right into it.
Python is one of the most popular programming languages nowadays, although sometimes it drops to the second position depending upon the survey and date, but its popularity is enormous, and there are millions of active Python developers out there.
It’s also our default language at Avenga Labs for creating fast prototypes and testing different technologies.
Point upgrades such as from 3.10 to 3.11 often are expected to deliver minor improvements and marginal changes. Not this time!
Python 3.11 brings welcome improvements starting with the so-much-needed performance improvements. Of course, Python is not expected to ever compete with Java or C#, and I won’t even mention C.
CPython, the most widely used and default implementation, is (on average) 22% faster than CPython 3.10 (pyperformance benchmark). Performance gains depend on the workloads which are expected to be between 10% and 60%.
The 3.11 upgrade also offers a faster application startup by 10% to 15%, which is especially beneficial for smaller Python applications.
Some of the upgrades are:
- New frame optimizations reduce the time it takes to call user-defined functions.
- Besides the performance improvements, there is a Self Type.
- Multiple exceptions can be raised and handled using the new except* keyword.
- TaskGroups enable running nested tasks and continuing to run them even if one fails. Of course, exceptions are raised to detect failures.
The 3.11 upgrade is planned to arrive in October 2022, so it’s a few months from now, but it’s worth waiting for.
Kubernetes 1.24 Stargazer
Another ultra-popular product becoming a de facto operating system for all enterprises and the primary choice when building new digital solutions is Kubernetes. This is the container orchestration engine that is behind the vast majority of modern hybrid cloud infrastructures.
Another point upgrade brings important updates that no one is allowed to miss.
Dokershim is finally removed from kubelet, which means a switch to containerd or CRI-O runtimes is now a strongly recommended option. In other words, the separation between Kubernetes and Docker is now complete. There’s still an option for those who want to upgrade to 1.24 and keep using Docker runtime, by using Mirantis runtime (cri-dockerd).
Beta APIs are finally off by default. Previously, beta components were enabled by default which was a source of confusion, instability, and increased the attack surface (security-related risks). Now beta APIs can be used only when they are explicitly enabled. It should have been a default behavior from the beginning, so it’s a welcomed fix.
Software supply chain security is getting more and more important, so signing release artifacts (using cosign) and (experimental) support for verifying image signatures are welcome additions.
OpenAPI v3 support for publishing Kubernetes APIs is in beta, so it is nearing production readiness.
There are also storage management improvements (Storage Capacity and Volume Expansion) and gRPC Probes are now Beta.
Kubernetes is an open-source bet for the majority of enterprises nowadays and it’s good to see steady progress and improvements. It is only sad that many Kubernetes are not updated for many months or even years to benefit from those improvements.
Apple iOS and browser engine limitations to be lifted
If you happen to be an iPhone or iPad user you may not even realize that alternative browsers on iOS have significant limitations imposed by Apple.
So if you want to access a web page that only runs properly in Chrome you may still be surprised because it’s not the same rendering and JS engine as Chrome mobile (Android) or on desktop (macOS, Windows, Linux). Except for the compatibility issues, this browser engine limitation means higher energy consumption (lower battery life) and lower performance/responsiveness.
It has been criticized as non-competitive behavior by Apple and overuse of their power on the iOS and iPad OS ecosystem to limit options for users.
The EU’s Digital Markets Act will require Apple to allow other browser engines in their App Store before 2024.
It will probably mean even higher usage of the Blink browser engine which is behind all the major multi-OS browsers (except Firefox).
Apple is expected not to easily give up, as proved in the past, trying to maintain its control over its mobile ecosystem, and fight against an even higher Chrome usage on mobile.
One of the positive side effects of the incoming regulations that are visible now is that Apple is expected to accelerate improvements to its Safari browser in order to catch up with the capabilities of the Bink engine while continuing to deliver the best platform integration.
Safari has now more than one billion users
Speaking of Safari, the browser occupies an even stronger… second position on the market, far behind leading Google Chrome. It’s estimated that 19% of internet users are choosing Safari. Google Chrome and Safari combined represent the vast majority of internet users. Others are trailing far behind the two leaders, Microsoft Edge with its 213 million users, Mozilla Firefox, with 178 million users, and Samsung Internet with 149 million users).
What it means in enterprise reality is that business applications have to be tested not only against Google Chrome but also Safari web browser to reach the Pareto of more than 80% of internet users. Of course, Microsoft Edge and Samsung Internet Browser are both based on the Blink engine so they behave similarly to Google Chrome, still one billion Safari users are an important share of the market. They are also believed to represent the part more willing to pay for expensive products and services (iOS, iPad OS and macOS users).
.NET MAUI is finally available
Microsoft is well-known for its continued efforts to deliver new UI frameworks for its developers. This means also creating new frameworks (such as Blazor) and abandoning others after only a few years of development.
.NET MAUI is multi-platform (Android, iOS, macOS, and Windows) technology that delivers the best experiences and that is not the lowest common denominator approach for each platform. The apps must feel natural in different operating systems, which is something that can be a big problem with web-based multi-platform frameworks.
It’s not only about how the applications look, but also that they need to behave in ways natural for a given platform (natively).
There are tons of components including forms, buttons, lists, etc. that look and behave like they are supposed to on each target platform.
From the enterprise perspective, it means more shared code between the client applications for different platforms. It has been promised so many times before, but the general sentiment is that .NET MAUI is a very welcome result of the many lessons learned about how to create multi-OS applications efficiently and with a targeted user experience.
If you’d like to see what’s inside, you can download the Visual Studio 2022 Preview and start experimenting with your own apps.
Neuromorphic chips are more energy-efficient for deep learning
Neuromorphic computing is an ambitious attempt to change the way computers work, saying goodbye to the decades-old Turing model and creating computers as a network of interconnected neurons.
Of course, artificial neural networks (ANNs) are the key to deep learning projects and neuromorphic computers, because of their structural similarities, and they are expected to be more natural hardware to run deep learning workloads.
They are expected to deliver better performance first of all, but now the study carried out by TU Graz (Graz University of Technology) in Austria has delivered interesting results about energy efficiency.
Green computing is still struggling to become a priority, so it’s a welcome finding that Intel’s second-generation experimental neuromorphic chips are up to 16 (sixteen!) times more efficient in Machine Learning tasks than their classical counterparts.
As more and more workloads and business applications benefit from Machine Learning, this, in turn, means more energy consumption. It’s great to know that new computing architectures and their practical implementations reduce energy consumption so significantly.
PyTorch 1.12 on M1 machines is now hardware-accelerated (finally!)
M1 processors represent a famous departure from Intel CPUs, a bold move from Apple. Users enjoy high performance with low energy consumption, almost perfectly silent Macs, and MacBooks with fluid performance.
However, the well-known programming libraries and frameworks support is still lagging behind the compatibility of x86_64 (Intel) architecture.
Now, a piece of very good news for all the data scientists using PyTorch, the leading data science ecosystem of tools and libraries, version 1.12 introduces hardware acceleration using the Metal GPU framework (native to Apple macOS and iOS).
Windows fans have nothing to worry about as their GPU-based laptops (CUDA) easily outperform the majority of Macs with M1, still if you’re data scientists who want to use MacBooks M1 this is great news.
WWDC 2022 news for Apple developers and users
Apple is not entirely an enterprise-focused company, but almost everything they do impacts the entire IT world, especially in the user experience space.
Apple iOS 16 users will enjoy the information at a glance experience, and the lock screen will now be deeply customizable using custom styles, clock faces, depth effects for photos, fonts selection, and color filters, but the most important widgets display information that the user wants. For instance next meeting (I missed it so much from my Windows Phone days), weather forecast, or anything else that apps can offer as lock screen widgets.
From user experience design it means also thinking about what to deliver from our business apps to the lock screen.
On-device AI which is the best example of edge AI. New features include extracting objects from photos (such as cats or children), text extraction from videos (not only still images).
Wallet improvements are also significant, keys for hotel rooms, cars, and various passes will be built-in into the wallet experience with more service providers joining.
Apple Pay Later means OS and hardware vendors joining the pay-later crowd of service offers, it’s included in the Apple Pay ecosystem, and this is going to be a huge blow for alternative pay later services, as nothing can beat the convenience of the built-in seamless feature. I imagine many will consider this as another anti-competitive move.
Family sharing improvements are focused on privacy and ease of use and include management of accounts for kids, age restrictions, family checklists, and iCloud Shared Photo Library.
The Safety Check feature will enable to revoke access to previously granted permissions for abusers.
Matter is a cross-platform smart home effort, backed by Apple, that aims to simplify building smart homes with devices from many vendors using different standards and protocols.
Medications Tracking with on-device privacy is a new extension of Apple Health to help people schedule their drug dosage. Tracking means logging, and reminders, but also detecting adverse drug interactions which may be the cause of significant health issues. And data stays on the device but also can be shared (with the user’s permission) with health companies.
The next version of Mac OS called Venture will bring the Passkey feature, which is the key part of our passwordless future. Logging to different applications, web pages, and digital terminals using different devices. The world is not ready yet for Passkey replacing passwords but the transition is happening right now.
What is more enterprisey than teleconferences and virtual meetings? The big help for all macOS users is an option to use iPhone rear camera as a meeting camera with vastly improved image quality compared to built-in MacBook cameras. This feature will work not only in Apple’s FaceTime but also with Zoom, Microsoft Teams, and other apps.
iPad OS 16 is bringing iPad capabilities even closer to macOS. The significant change is the addition of Virtual Memory (swap) on tablets which enables more memory-intensive workloads and more apps running simultaneously.
From the customer’s perspective, we’ll finally get a native Apple Weather app but… no native Calculator app for iPad as far as I know. Maybe next year?
Performance improvements, better user experience as well as being more energy-efficient and more secure are the main themes of the technology evolution this time. I like it and you should too.