How does PostgreSQL support science, research, industry, GIS, and web tech? Find out how to get started with this powerful database service.
Read More at Enable Sysadmin
Getting started with PostgreSQL on Linux
How to use Ansible to configure a reverse proxy
How to use Ansible to configure a reverse proxy
Placing a load balancer in front of your web server infrastructure helps ensure any spike in traffic doesn’t bring down the site.
Sarthak Jain
Fri, 3/5/2021 at 3:41am
Image
Image by PublicDomainPictures from Pixabay
What is a load balancer? A load balancer is an efficient way to distribute the network traffic among various backend servers. It is also known as a server farm or server pool. It distributes client requests or network load to target web servers. Load balancers work on the round-robin concept, which ensures high reliability and availability.
Topics:
Linux
Ansible
Read More at Enable Sysadmin
An Introduction to WebAssembly
By Marco Fioretti
What on Earth is WebAssembly?
WebAssembly, also called Wasm, is a Web-optimized code format and API (Application Programming Interface) that can greatly improve the performances and capabilities of websites. Version 1.0 of WebAssembly, was released in 2017, and became an official W3C standard in 2019.
The standard is actively supported by all major browser suppliers, for obvious reasons: the official list of “inside the browser” use cases mentions, among other things, video editing, 3D games, virtual and augmented reality, p2p services, and scientific simulations. Besides making browsers much more powerful than JavaScript could, this standard may even extend the lifespan of websites: for example, it is WebAssembly that powers the continued support of Flash animations and games at the Internet Archive.
WebAssembly isn’t just for browsers though; it is currently being used in mobile and edge based environments with such products as Cloudflare Workers.
How WebAssembly works
Files in .wasm format contain low level binary instructions (bytecode), executable at “near CPU-native speed” by a virtual machine that uses a common stack. The code is packaged in modules – that is objects that are directly executable by a browser – and each module can be instantiated multiple times by a web page. The functions defined inside modules are listed in one dedicated array, or Table, and the corresponding data are contained in another structure, called arraybuffer. Developers can explicitly allocate memory for .wasm code with the Javascript WebAssembly.memory() call.
A pure text version of the .wasm format – that can greatly simplify learning and debugging – is also available. WebAssembly, however, is not really intended for direct human use. Technically speaking, .wasm is just a browser-compatible compilation target: a format in which software compilers can automatically translate code written in high-level programming languages.
This choice is exactly what allows developers to program directly for the preferred user interface of billions of people, in languages they already know (C/C++, Python, Go, Rust and others) but could not be efficiently used by browsers before. Even better, programmers would get this – at least in theory – without ever looking directly at WebAssembly code or worrying (since the target is a virtual machine) about which physical CPUs will actually run their code.
But we already have JavaScript. Do we really need WebAssembly?
Yes, for several reasons. To begin with, being binary instructions, .wasm files can be much smaller – that is much faster to download – than JavaScript files of equivalent functionality. Above all, Javascript files must be fully parsed and verified before a browser can convert them to bytecode usable by its internal virtual machine.
.wasm files, instead, can be verified and compiled in a single pass, thus making “Streaming Compilation” possible: a browser can start to compile and execute them the moment it starts downloading them, just like happens with streaming movies.
This said, not all conceivable WebAssembly applications would surely be faster – or smaller – than equivalent JavaScript ones that are manually optimized by expert programmers. This may happen, for example, if some .wasm needed to include libraries that are not needed with JavaScript.
Does WebAssembly make JavaScript obsolete?
In a word: no. Certainly not for a while, at least inside browsers. WebAssembly modules still need JavaScript because by design they cannot access the Document Object Model (DOM), that is the main API made to modify web pages. Besides, .wasm code cannot make system calls or read the browser’s memory. WebAssembly only runs in a sandbox and, in general, can interact with the outside world even less than JavaScript can, and only through JavaScript interfaces.
Therefore – at least in the near future – .wasm modules will just provide, through JavaScript, the parts that would consume much more bandwidth, memory or CPU time if they were written in that language.
How web browsers run WebAssembly
In general, a browser needs at least two pieces to handle dynamic applications: a virtual machine (VM) that runs the app code and standard APIs that that code can use to modify both the behaviour of the browser, and the content of the web page that it displays.
The VMs inside modern browsers support both JavaScript and WebAssembly in the following way:
- The browser downloads a web page written in the HTML markup language, and renders it
- if that HTML calls JavaScript code, the browser’s VM executes it. But…
- if that JavaScript code contains an instance of a WebAssembly module, that one is fetched as explained above, and then used as needed by JavaScript, via the WebAssembly APIs
- and when the WebAssembly code produces something that would alter the DOM – that is the structure of the “host” web page – the JavaScript code receives it and proceeds to the actual alteration.
How can I create usable WebAssembly code?
There are more and more programming language communities that are supporting compiling to Wasm directly, we recommend looking at the introductory guides from webassembly.org as a starting point depending what language you work with. Note that not all programming languages have the same level of Wasm support, so your mileage may vary.
We plan to release a series of articles in the coming months providing more information about WebAssembly. To get started using it yourself, you can enroll in The Linux Foundation’s free Introduction to WebAssembly online training course.
The post An Introduction to WebAssembly appeared first on Linux Foundation – Training.
The Linux Foundation Continues to Expand Japanese Language Training & Certification
Japan is one of the world’s biggest markets for open source software, which means there is a constant need for upskilling of existing talent and to bring new individuals into the community to meet hiring demand. The Linux Foundation is committed to expanding access to quality open source training and certification opportunities, which is why we have developed a number of Japanese language offerings.
The newest is LFS272-JP Hyperledger Fabric Administration, which became available this week. Hyperledger Fabric – a distributed ledger (blockchain) technology – is intended as a foundation for developing applications or solutions with a modular architecture. Hyperledger Fabric allows components, such as consensus and membership services, to be plug-and-play. Its modular and versatile design satisfies a broad range of industry use cases, and it offers a unique approach to consensus that enables performance at scale while preserving privacy.
LFS272-JP provides a deep understanding of the Hyperledger Fabric network and how to administer and interact with chaincode, manage peers, and operate basic CA-level functions. Upon completion, participants will have a good understanding of the Hyperledger Fabric network topology, chaincode operations, administration of identities, permissions, how and where to configure component logging, and much more. The course also serves as preparation for the Certified Hyperledger Fabric Administrator (CHFA-JP) exam, which can be taken with a Japanese proctor (the exam itself is conducted in English).
While Hyperledger Fabric Administration is the newest Japanese course offered by Linux Foundation Training & Certification, it is far from alone. Our catalog of Japanese-language offerings includes:
System Administration/Engineering
- LFS201-JP Essentials of Linux System Administration
- Linux Foundation Certified System Administrator (LFCS-JP) – Japanese proctor
- Linux Foundation Certified Engineer (LFCE-JP) – Japanese proctor
Cloud & Containers
- LFS258-JP Kubernetes Fundamentals
- Certified Kubernetes Administrator (CKA-JP) – Japanese proctor
- Certified Kubernetes Application Developer (CKAD-JP) – Japanese proctor
Blockchain
- LFS272-JP Hyperledger Fabric Administration
- Certified Hyperledger Fabric Administrator (CHFA-JP) – Japanese proctor
- Certified Hyperledger Fabric Developer (CHFD-JP) – Japanese proctor
We also partnered with LPI-Japan recently to make certifications even more accessible in Japan, creating new stacked certifications leveraging LPI-Japan’s LinuC 1 and LinuC 2 with The Linux Foundation’s CKA and CKAD.
Linux Foundation Executive Director Jim Zemlin commented, “Japan is one of the top contributors to the open source community globally, in terms of code as well as financial support and end user adoption. We know how important it is to support the open source community in Japan, which is why The Linux Foundation is proud to offer Japanese language training and certification options for that community. Our team looks forward to continuing to expand these learning opportunities in the future.”
The post The Linux Foundation Continues to Expand Japanese Language Training & Certification appeared first on Linux Foundation – Training.
An introduction to Ansible facts
Read More at Enable Sysadmin
Technology preview: Running a container inside a container
Watch this step-by-step tutorial on how to run a container inside of Podman in Red Hat Enterprise Linux 8.3.
Read More at Enable Sysadmin
How to install an Ansible collection on a disconnected Ansible control node
Even in an isolated environment, you can make use of Ansible collections to ease your automations.
Read More at Enable Sysadmin
How to automate Podman installation and deployment using Ansible
Learn how to easily install and deploy Podman using Ansible in your environment.
Read More at Enable Sysadmin
Bash scripting: How to write data to text files
Writing data to text files in Linux is easy to do. Learn the art of redirection.
Read More at Enable Sysadmin
New Mobile Native Foundation to Foster Development Collaboration
Linux Foundation hosts effort to improve processes and technologies for large-scale mobile Android and iOS applications; Lyft makes initial contributions
SAN FRANCISCO, Calif., March 2, 2021 – The Linux Foundation, the nonprofit organization enabling mass innovation through open source, today announced the Mobile Native Foundation (MNF). The MNF will bring developers together to improve processes and technologies that support large-scale Android and iOS applications. Organizations contributing to this effort include Airbnb, Capital One, Corellium, Elotl, Flare.build, GitHub, GogoApps, Haystack, Line, LinkedIn, Lyft, Microsoft, Peloton, Robinhood, Sauce Labs, Screenplay.dev, Slack, Solid Software, Spotify, Square and Uber.
“Like many of our industry peers, Lyft discovered that platform vendors did not solve all of the problems we faced as our mobile team grew from a dozen engineers to hundreds of active contributors,” said Keith Smiley, Staff Engineer, Lyft. “The Mobile Native Foundation will foster a diverse community that encourages collaboration and builds libraries and tools to move the industry forward.”
The MNF is a forum for collaboration on open source software, standards and best practices that can result in common UI frameworks, architectural patterns, build systems and networking stacks that can accelerate time to market and reduce duplicative work across companies.
“The mobile developer community is innovating and we know that open source and collaboration can ensure that continues,” said Mike Dolan, executive vice president and GM of Projects at the Linux Foundation. “The MNF will accelerate and smooth mobile app development and brings new contributions to the Linux Foundation ecosystem.”
Lyft is making early project contributions to the MNF that includes Kronos, index-import and set-simulator-location. Matthew Edwards is also contributing Flank.
For more information and to begin contributing, please visit: https://mobilenativefoundation.org
Partner Statements
Elotl
“We are excited to pioneer the state of art Kubernetes stack to build, test, and run modern mobile applications at cloud scale. We appreciate the opportunity to collaborate with industry leaders on this vision! “said Madhuri Yechuri, Founder & CEO, Elotl.
Flare.build
“We look forward to collaborating with the community on many projects related to our core vision of decreasing friction and boosting productivity for teams creating applications at scale,” said Zach Gray, co-founder and CEO, Flare.build.
“The Mobile Native Foundation will advance the state-of-the-art in mobile development by bringing together open source developers and leading tech companies in a place where we can collaborate and enable anyone to build and operate large scale mobile applications. We are excited to be part of the launch and look forward to what we can accomplish together,” said Oscar Bonilla, Engineer, LinkedIn.
Microsoft
“We see this as a great opportunity to more inclusively collaborate on challenges we face across the industry and we can’t wait to see the improvements to mobile development we can make when we all work together,” said Mike Borysenko, distinguished engineer, Microsoft.
Robinhood
“Robinhood’s award-winning mobile apps wouldn’t be possible without the open source tools we rely on and contribute back to. We look forward to working together with the open source community as we continue to scale and address shared technical challenges,” said Lee Byron, Engineering Manager, Robinhood.
Screenplay.dev
“We could not be more humbled or more excited to have the opportunity to work with industry leaders to push the state of mobile development forward,” said Tomas Reimers, Co-founder, Screenplay.
Slack
Slack’s mobile engineering has benefited tremendously from the open source community. We’re excited to see the energy and experience behind MNF and look forward to participating in shaping the future of mobile development at scale,” said Valera Zakharov, Tech Lead of the Mobile Developer Experience Team.
Spotify
“We are excited to join forces with the community in the mission of solving issues and providing better technologies to ship mobile apps at scale,” said Patrick Balestra, iOS Infrastructure Engineer, Spotify.
Uber
“Uber mobile apps have scaled with the help of a thriving open source community and we are now proud to collaborate with other organizations on the Mobile Native Foundation to further give back,” said Ty Smith, Android Tech Lead, Uber.
About the Linux Foundation
Founded in 2000, the Linux Foundation is supported by more than 1,000 members and is the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Linux Foundation’s projects are critical to the world’s infrastructure including Linux, Kubernetes, Node.js, and more. The Linux Foundation’s methodology focuses on leveraging best practices and addressing the needs of contributors, users and solution providers to create sustainable models for open collaboration. For more information, please visit us at linuxfoundation.org.
###
The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our trademark usage page: https://www.linuxfoundation.org/trademark-usage. Linux is a registered trademark of Linus Torvalds.
Media Contact
Jennifer Cloer
for the Linux Foundation
503-867-2304
jennifer@storychangesculture.com
The post New Mobile Native Foundation to Foster Development Collaboration appeared first on Linux Foundation.