91 stories
·
0 followers

Projectification of religion: an analytical framework

1 Share
.
Read the whole story
ocertat
1 day ago
reply
Share this story
Delete

Metrics fraud on ResearchGate

1 Share

Publication date: February 2025

Source: Journal of Informetrics, Volume 19, Issue 1

Author(s): Savina Kirilova, Fred Zoepfl

Read the whole story
ocertat
3 days ago
reply
Share this story
Delete

Inhaling tradition, exhaling innovation: controlled breathing as medicine in Tiantai Buddhism

1 Share
Volume 10, Issue 2, June 2024, Page 115-150
.
Read the whole story
ocertat
5 days ago
reply
Share this story
Delete

Opposite of Cloud Native is?

2 Shares

There seems to be a lot of contention lately about whether you should go all-in on the cloud or to keep things as simple as possible. Those on the side of “build for the cloud” often frame this as cloud-native. By that, I believe they mean you should look at every single service offered by your cloud provider when architecting your application and the bigger the better.

“What is the opposite of cloud-native?”

In this essay, I’ll define a new term for the modern opposite of cloud-native. I think you’ll find it appealing.

Those on the cloud side look back at the dark days of running physical servers with monolithic applications directly on your hardware at your location. These apps were often little more than just a single application and a huge local database. Maybe they were even client-server desktop apps (gasp!).

If you’re not up on things, you’re not cloud-native. You’d probably do what they call “lifting-and-shifting” your app to cloud. Did you have one huge server in the office? Well, now you get one huge server in AWS EC2 and copy your app to it. You also pay extreme prices for that privilege. You’re really not with the times, are you?

This is not the opposite of cloud-native. The fallacy here is comparing two modes of running applications disjoined across time. Cloud-native is one view of how to build apps in 2024. This other alternative way, a view how to run your own apps in 2001. It’s not fair nor constructive.

I recently watched a livestream about moving out of AWS. So many people participated in the conversation were contrasting two worlds: Cloud vs. On-prem. Either you run in AWS/Azure or you build a data center, you string ethernet cables, you buy a backup generator, you hire a couple of engineers to keep these running when things like hard drives fail.

What? No. This is not the alternative.

The conversation was about a company moving into another managed data center. They have the generators. They have ethernet. It’s not cloud or build your own data center in 2024. Please do not let people drag you into these false dichotomies.

You should be wary of these merchants of complexity. These hyperscale clouds want you to buy in fully to all their services. The amount of lock-in this provides is tremendous. Once your bill leaps far beyond what you expected, it’s tough to change course.

The opposite of cloud-native is stack-native

Consider that insane diagram at the top of this essay. You have a little tiny bit in the center labeled Flask. It is surrounded by every cloud-native service you might want. One portion of our app might need to scale a bit so lambda/serverless functions. We broke our single Flask-based API into 100 serverless endpoints, so we now need something to manage their deployment. What about logs and monitoring? Across all these services? We need a few log services for that. And we may need to scale the Flask bit so Kubernetes! And on it goes.

I present to you stack-native.

Stack-native is building your app with just enough full-stack building blocks to make it run reliably with minimal complexity.”

This is what it looks like when displayed at the same scale as our cloud-native diagram:

It’s a breath of fresh air, isn’t it? But let’s zoom in so you can actually see it!

What do we have in this stack-native diagram?

  1. We have Flask at the center still.
  2. Flask is managed by Docker and potentially scaled via web workers.
  3. Those workers are running in a WSGI Python server, in this case Granian
  4. The who web app is exposed to the internet via nginx
  5. The self-hosted database is MongoDB (but could be Postgres)
  6. We have a server mapped volume for all our database data, container images, and more.

That’s it. And everything in that picture is free and open source. It’s running on a single medium-sized server in a modern but affordable cloud host (e.g. Digital Ocean or Hetzner).

Is this lifted-and-shifted? I don’t think so. It’s closer to Kubernetes than to old-timey client-server on prem.

Do you have to buy a generator? Run ethernet? Fix hardware? Of course not, it runs in a state-of-the-art data center with global reach. It’s just not cloud-native. It’s stack-native and that is a good thing.

Is stack-native for toy apps?

No. We have a very similar setup powering Talk Python, the courses, the mobile APIs, and much much more. Across all our apps and services we receive about 9M Python / database backed requests per month (no caching because it’s not needed). And we handle about 10TB of traffic with several TB straight out of Python.

Here’s the crazy part. All of our infrastructure is running on one large server in a US-based data center from Hetzner. We have a single 8 CPU / 16 GB RAM server that we partition up across 17 apps and databases using docker. Most of these apps are as simple or simpler than the stack-native diagram. For this entire setup, including bandwidth, we pay $65/month! That’s $25/mo for the server and another $40 for bandwidth.

I just finished doing some tentative load testing using the amazing Locust.io framework. At its peak, this setup running Nginx + Granin + Python + Pyramid + MongoDB would handle over 100M Python requests / month. For $25.

In contrast, what would this setup cost in AWS? Well, the server is about $205 / month. The bandwidth out of that server is another $100/mo. If we put all our bandwidth through AWS (for example mp3s and videos through S3) the price jumps up by another whopping $921. This brings the total to $1,226/mo.

The contrast is stark. If we chose cloud-native, we’d be tied into cloud-front, EKS, S3, EC2, etc. We’d have to pay the high prices because that’s the way you use the cloud, you noobie.

But stack-native can move. We can run it in Digital Ocean for a few years as we did. When someone like Hetzner opens a data center in the US with 1/6th pricing, we can take our setup and move. The hardest part of this is Let’s Encrypt and DNS. There is nearly zero lock-in.

Get the whole Python in production series

I plan on writing a whole series on this topic focused on this topic. Please consider subscribing to the RSS feed here or joining the mailing list at Talk Python.

What do you think?

If this article made you think or you just want to share your thoughts, here are a few places with comments you could jump (no comments directly on my blog):

  1. X.com - x.com/mkennedy/status/1853918500349501671
  2. Mastodon - fosstodon.org/@mkennedy/113432568775276850
  3. Reddit - reddit.com/r/Python/comments/1gkiiws/opposite_of_cloud_native_is/
Read the whole story
ocertat
15 days ago
reply
Share this story
Delete

The Protestant Connection in André Gide's Les faux-monnayeurs and French Literary Modernism

1 Share

This article revisits André Gide's emblematically modernist novel, Les faux-monnayeurs (1925; The Counterfeiters), by reevaluating the importance and significance of the setting at the center of the narrative: the “pension Azaïs-Vedel,” a Protestant educational institution around which all the novel's characters—mostly adolescents—gravitate and all the subplots converge. It shows how Gide's choice of setting responded to the “quarrel of classicism,” which reconfigured the French literary field at the turn of the twentieth century, superimposing the political, the aesthetic, and the religious and connecting the question of literary form with that of the formation of French youth. The article also reassesses the survival of religion in twentieth-century French literature, and in particular the enduring religiosity inflecting both political modernity and modernist aesthetics.

Read the whole story
ocertat
16 days ago
reply
Share this story
Delete

Research data management in university libraries: The need for data literacy and technological revamp

1 Share
IFLA Journal, Ahead of Print.
The implementation and delivery of research data management services (RDMS) in university libraries are at different levels of realization, most of which are far from satisfactory. There is therefore need for discussions around issues that will stimulate the success of RDM programmes in university libraries. Consequently, this paper discusses data literacy and technological infrastructure as prerequisites for the successful implementation of RDMS in university libraries. The paper discusses data literacy in the context of RDM implementation. It also reveals the various competency areas to focus on in developing a data literate librarian. Moreover, the study discusses the relationship between technological infrastructure and RDM in university libraries, hereby justifying the need for technological revamp. Some specific technologies are mentioned in the course of the discussion. The study concludes that data literacy and adequate technological infrastructure for RDM are required for university libraries to realize their full potential in the management of research data.
Read the whole story
ocertat
19 days ago
reply
Share this story
Delete
Next Page of Stories