After the recent Fastly downtime, we were once again made aware that the internet is not always as stable as we would think. While Fastly took down many major sites on the internet, it also affected things like package managers. Services such as the central Helm registry were also inaccessible during the downtime. Using a single source for services such as Helm, PyPi and NPM is very convenient, but it sucks when things go down, and it might even block you from delivering software. …
The next big Python release, Python 3.10, should happen in October. Even though that is still a few months away, we already know what to expect. The 3.10 branch went to feature freeze when the first beta version (Python 3.10.0b1) was released on May 3rd, 2021.
Let’s have a peek at the new features and other changes.
The most fascinating feature in 3.10 is Structural Pattern Matching. It might look like a simple switch statement, but it’s actually so much more than that.
The second important set of changes are improving Python’s interaction with static type checkers…
By Mingfeng Yu
When it comes to maps on the web, OpenLayers stands out with its feature-packed capabilities and wide-range support of different data sources, be it geo-referenced images, vector tiles, or open and proprietary vector data formats. With its powerful API, OpenLayers makes it easy to put up a simple web map application with little effort. At the same time, OpenLayers also provides more advanced tools that help you accomplish more complex requirements.
The following steps will show you how to create a simple web map with OpenLayers. We will also walk you through setting up a simple dev…
The source for this blog post can be found on Github at andersinno/python_plugin_example.
Creating an application that can be extendable but have low coupling throughout is something that has always interested me. What if I could remove and add new parts to my application without thinking about the rest of the application breaking. Of course, this is often through as a programming 101 type of thing, “low coupling, high cohesion”. But saying the words versus actually being pragmatic is often challenging. …
Paraphrasing what Netflix and many others have said before:
The only way to be comfortable with failures is to fail often
Over the past few years, Anders has focused heavily on DevOps; we have done so because we have seen it as one of the most critical shifts in both technology and company culture that has happened over the last few years. We, or most companies out there, have not always been the most comfortable with things breaking and failing. We want to change that.
Vault is a great tool for managing and protecting sensitive data. One of its many features is ability to create database credentials dynamically. This gives you extra layer of security as you can define short TTL for the credentials and rotate them frequently. For this short demonstration, I will use a simple docker-compose file that setups Vault and PostgreSQL.
- IPC_LOCK postgres:
Run compose and exec in…
We build a microservice architectured application with three services. All of these communicate with one of the following AMQP, REST APIs, and Websockets. The application is deployed using our Open-Source (MIT Licensed) DevOps tool Kólga.
The full source-code for this blog post can be found at https://github.com/andersinno/microservice_kubernetes_webinar.
The preface; the story behind Kolgá can be found in Anders blog.
Let’s deploy a monorepo consisting of three applications. We will do this using Kólga and GitLab CI; however, GitHub Actions can also achieve the same result.
Let’s begin with the prerequisites.