Google Cloud SQL is fully managed MySQL service in the google cloud… Such managed hosting has a number of advantages. For me it means less wories about data, backups, configurations and updates of the softwar. So Google Cloud SQL sounds promissing and i tried a very small instance which cost approx 10$ a month. And i tried it as replacement for my own (not tuned) mysql instance running in a docker continer on a g1-small (1 vCPU, 1,7 GB RAM) instance backed by 40 GB SSD (not local SSD). So the test dissapointed me a little.
Today Docker Version 1.3 is was released and is avalable in repositories.
$docker info Containers: 63 Images: 356 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Dirs: 482 Execution Driver: native-0.2 Kernel Version: 3.1.0-1-amd64 Operating System: Debian GNU/Linux 7 (wheezy)
It introduces new comand exec. It makes tools like nsinit and nsenter obsolete. Entering running container becomes possible with docker itself and i like this very, very much. In fact exec allows to execute additional process within the container, e.g.
$ docker exec myContainer -it bash
Example above attaches to runing cotainer “myContainer”.
Read more »
Why care about Systemd
In spring of 2014 debian committee memebrs decided to switch to systemd with next release (8.0 Jessie). But systemd was not loved by all people, especially by conservative admins. Debian is a very stability oriented distribution, therefore such dramatic change to hard of every distribution, which is a switch to systemd is, lead to many discussion in the debian comunity. I’ve seen very angry post regarding this in last weeks. But what to you think? Will it at end be good?
If’ve seen comment from linux guys that don’t understand or maybe don’t care of some of systemd benefits e.g. “Faster starting”. But that is maybe not a point, mostly they are concerned about new “huge monster”. Monster in a sense of size, because systemd seemes to take too much responsibilities, and tends to be harder to maintain, to debug and to understand. It’s just to big in the codebase. Look at comparison of different init Systems. As it can be seen systemd is much larger system and includes dbus and glib.All of this results in huge footprint of libs and code in comparison to sysvinit. Also there is a fear to new approach to binary logging. Indeed that is one of the controversies changes, by default systemd uses binary logging which lead to hot debates about it.
But there must be something good about systemd… let’s see..
By default docker will put all the data including images under /var/lib/docker (At least on Debian). This could let to problems with space. It’s the case on my home server so i had to move docker location. I had to mount /var/lib/docker to new place. Because my /var and /usr are mounted to different partitions and discs i try to solve space problem by mounting docker default location to new mount under /usr/local/docker transparently.
First backup of fstab
sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
Then stop docker and copy all files per rsync preserving all attributes.
sudo service docker stop sudo mkdir /usr/local/docker sudo rsync -aXS /var/lib/docker/. /usr/local/docker/ [/bash]
Now it was important to check that everything was copied right. I’ve did eye check, but diff -r command is useful to. Ok it’s important to make new mount and make it durable in fstab. That is what was useful in my case inside of fstab.
# <file system> <mount point> <type> <options> <dump> <pass> # ... /usr/local/docker /var/lib/docker none bind 0 0
;file system> <mount point> <type> <options> <dump> <pass>
Now mount of new configuration without reboot.
Now docker has enough space.
My last post is about how to start with Docker on GCE. Yet i’m continuing with tests and moving to real life scenarios. Firstly i wanted to improve my docker base images.
After reading Michael Crosby’s Dockerfile best Practises i’ve rebuild my basic Dockerfiles. All my Docker images are trusted nature and you can look inside and even fork them on GitHub (Don’t be shy to comment if you see improvement potential). Let’ me here present some of them.
This is brief description of docker test on Google compute engine (One of google’s cloud services)
At First we need gcloud Tools. You can use them as prepared docker container or by installation on your machine.
#install google cloud sdk $curl https://dl.google.com/dl/cloudsdk/release/install_google_cloud_sdk.bash | bash
At this point you should have google account, google compute engine account with at least one project inside. You need a project ID to log in into it.
Now you are able to login and to create first VM instance in this project. Read more »
Today ended my experiment with Livefyre comment system on this blog. Somehow it was a hype, but it not realy boosted comment on my blog. Now i think there is more disadvantages than advantages to this system and it’s time to change. I’m also not realy exitet about DISQUS, because the native WordPress commenting system is quite good with a set of addtional plugins.
But before i’ll go back to this, i give DISQUS a try. I don’t know exactly if there are hidden configuration tricks in 2014, please give me a hint if there are any tipps. I’m unsure about quality of WP- Plugin. I hope it is SEO friendly out of the box and syncronizes every comment back to my wordpress.
It’s been a while since my last post, which was last year. Currently i’m diving in to Docker. Docker is like Vagrant but for Linux Containers (LXC). Both tools are amazing. However this article is not mentioned to help you with a decision of using Linux Containers instead of VM’s. There is a lot of information in the internet to this. If you think LXC could be interesting for you, then you maybe will also love Docker.
Read more »
My last post was about Cassandra Set Up. Current article discusses Cassandras data model and objects. In essence Cassandra is a hybrid between a key-value and a column-oriented NoSQL databases. Key value nature is represented by a row object, in which value would be generally organized in columns. In short, cassandra knows following objects
- Keyspace can be seen as DB Schema in SQL.
- Column family resembles a table in SQL world (read below this analogy is misleading)
- Row has a key and as a value a set of Cassandra columns. But without relational schema corset.
- Column is a triplet := (name, value, timestamp).
- Super column is a tupel := (name, collection of columns).
- Data Types : Validators & Comparators
Introduction to Cassandra
Even Cassandra is often mentioned in books and in several NoSQL blogs, there is still not enough attention to this very interesting NoSQL database. Cassandra is extremely scalable and can deliver continuous availability. Cassandra is very good for managing large amounts of data in a cluster that span across multiple data centers and the cloud. Best of all cassandra is also linear scalable. Ok, you say, what about maintenance? Apache Cassandra promisses operational simplicity, zero conf and self-balancing architecture. It also promises some degree of hardware agnosticism and can run on commodity servers and even on any kind of consumer hardware. As i mentioned before Cassandra is very good in scale and has no single point of failure (not by design, but you can get one if you treat it wrong ). So why there is still no so much attention to this database, even if access times outperforms Mongo DB (especially writes)?
I don’t know exactly, but i think it has to do with a relatively steep learning curve in comparison to some competitors in the field.
However this article shows that one can get pretty fast familiar with Cassandra, starting using it with one local node.