Tuesday, May 24, 2016

Kubernetes London Meetup - picking up momentum #kubernetes #london

One of the great things, when living in London is that you have access to meetup's and communities  for almost every technology you will ever manage to get interested in. After attending the first EU Kubernetes Conference - KubeCon (2 months ago), this was my second time attending the 'Kubernetes London Community' in one of their regular meetup's at the premises of SkillsMater.

I would like to give credits to the 2 main organizers Peter Idah & Milos Gajdos for working towards, building a vibrant community for a technology that IMHO is not only trending but will become very relevant. I am might be a bit biased, but Kubernetes is one of the few 'things' out of this DevOps / Containers / Microservices tsunami of technologies, that is going to make a change - market wise. Thumbs up to 'GoogleCloud' for sponsoring beers and pizzas before the talks - good job. I would be very happy next time with an uber cool 'Kubernetes TShirt' for my summer vacation!

The Dev in the DevOps

I always feel, like a silent minority in that kind of meetups, especially the Kubernetes one. Despite the fact that I totally relate to the concepts and the technology, I do belong more to the Dev side of the DevOps culture rather than the Ops. As I have stated numerous times and in some of my 'introductory' talks around Kubernetes, I came 'close' to this technology and evaluated it's potential strengths, from the software developer's / architect perspective rather the Ops or DevOps developer. For me Kubernetes is an excellent abstraction for concerns that as a software developer I don't have to worry about, especially when I need to focus on delivering  / writing business code. These abstractions safeguard concerns and mitigate risks that I will have in the future, when my solution potentially will need to be flexible, scale-able, deployment environment neutral etc. I do follow the developments of the go language, I do try to relate to the complexities and specifics of AWS or Google Container Engine, but the main priority for me is the 'code' the solutions me and the team I belong to, needs to write and architect. I am not glorifying the Ops centric technologies, I see them as an enabler and a problem solver for 'business and technical concerns' many software solutions will face. But, as you might have experienced before, a lot of software projects do die, or never get to the mainstream in order to phase challenges that technologies or environments like Kubernetes or the Cloud have to offer. I do worry about the fact that 'we' the developers, have found a new 'box' of emerging technologies, that for sure are relevant but we kind of settle (or we consider uncool) the actual code written to provide the solutions. Still out main concern should be whatever lives within the container - and not the container neither the infrastructure around it. Yes they are important but not the main priority. Enough for my devs first rant - I hope I don't get flamed by the 'Ops' audience - which I have total respect.

About the meet-up 

The first talk was from Martin Devlin, from Pearson Plc, Bitesize PaaS Project. They are using Kubernetes for then 'upcoming' platform. I did keep some notes regarding some of the 'solutions' they keep in the mix for their platform. Unfortunately I did not have the chance to elaborate, but I kind of wondered, why you would need to use services like Consul, or Vault within Kubernetes where actually the framework already abstracts and provides in some extend this needs. Maybe at Pearson they do have special cases and requirements, which of course I can not relate to. The 'Vault' section was interesting enough. A kind and positive reminder to the 'Martin' for any future presentation, it would be nice he could add some more diagrams and more slides so that we can have a better idea of their solution and what was presented.

The second talk, was from Justin Santa Barbara. Really great talk, from one of the most important committers of Kubernetes, responsible for the AWS support. One of the many questions I get to have or hear in talks regarding Kubernetes adoption, is 'Can we use this in AWS, can we use this feature of AWS with Kubernetes? etc. So it was really great to have Justin presenting and passing his views and describing the current state and road map towards this area.

I really liked his 'all kubernetes' view of things, which totally makes sense for me. Kubernetes is  providing a rich set of functionality in different 'areas' around application deployment, that eventually containerized applications that will be 'living' inside this environment could be aware of these (capabilities) or even use them. 

Very nice interactive presentation and I do hope the London Kubernetes community to host more committers and devs of Kubernetes in the future. In my notes from Justin's presentation was, the 'PetSet' Controllers that is coming soon enough, and will eventually answer the question ' How about hosting my cluster-aware  MySQL  or ElasticSearch within kubernetes. Last but not least, there were a lot of questions around the applicability and availability of the 'Ubernetes' type of deployment (meaning multiple kube clusters in different regions/zones - acting as one).

It was really, time well spent yesterday and I am really looking forward for the future meetups and developments of this 'emerging London community'. If you are considering adopting, or trialing Kubernetes within your company in London, I totally encourage you to join this community and share the experience. 

Go Kube!


Sunday, May 15, 2016

Ένας χρόνος μακριά απ' την Ελλάδα.

Πριν από 4 μέρες κλείσαμε 1 χρόνο ως νεο-μετανάστες, όπως πολλοί που διαβάζουν αυτό το blog είναι ήδη υποθέτω. Θεωρώ ότι ανήκουμε στην κατηγορία,  'αργήσατε αλλά τα καταφέρατε' μιας και αρκετός κόσμος την είχε ήδη κάνει την τελευταία πενταετία. Θυμάμαι εκείνο το πρωινό στον Ελ.Βενιζέλος, νόμιζα ότι πάω διακοπές και θα ξαναγυρίσω. Αλλά δεν γύρισα, ίσα ίσα ήταν η αρχή για ακόμα μεγαλύτερες αλλαγές.

Φύγαμε απ' την Ελλάδα κυρίως για επαγγελματικούς λόγους, οι οποίοι έχουμε άμεση σχέση με το γενικότερο well being και φυσικά το μέλλον μας. Εγώ προσωπικά στα όρια της απογοήτευσης μετά από πολλά χρόνια στην Ελληνική αγορά να πολεμάω για τα αυτονόητα ή να έχω αυταπάτες (όπως πολλοί manager-τέτοιοι μου είχαν πει). Δεν ξέρω τελικά τι ήταν σωστό ή λάθος. Για να μην γίνομαι κακός με ανθρώπους, καταστάσεις, κουλτούρα και εταιρίες θα καταλήξω στην πιο ώριμη εκδοχή.

"Στο τέλος της ημέρας όσο πιο μικρή είναι η αγορά, τόσο λιγότερο ανταγωνιστική, οσο λιγότερο ανταγωνιστική τόσο πιο φτωχή σε ευκαιρίες, όσο πιο λίγες ευκαιρίες τόσο πιο βαρετή και σκληρή για να σε βοηθήσει να εξελιχθείς σε γνώσεις ή και οικονομικά. Όσο πιο πολλά θέλω, απαιτήσεις, αυταπάτες (πες το όπως θες) έχεις από την δουλειά σου και την καριέρα σου, τόσο πιο πιεσμένος θα νιώθεις σε ένα τέτοιο περιβάλλον. Όσο πιο απογοητευμένος νιώθεις τόσο πιο πολύ πιέζεσαι να αποδεχθείς την κατάσταση και να αγκαλιάσεις το 'σύστημα' ή απλά να φύγεις."

Ήταν τελικά στο εξωτερικό καλύτερα τα πράγματα- επαγγελματικά; 

Ναι και όχι. Στην πρώτη μου απόπειρα όχι δεν ήταν (για τα δικά μας θέλω). Βρεθήκαμε σε μια χώρα όπου κατάλαβα πόσο στρεβλή είναι η ελληνική αίσθηση της ποιότητας ζωής, που κατάλαβα πως είναι να λειτουργούν οι βασικές δομές του κράτους και του γενικότερου συστήματος. Αυτό μου άρεσε, μπόρεσα να ξεπεράσω το σοκ και την ιδέα ότι έφυγα από την χώρα μου, είδα ότι υπάρχει μέλλον και ζωή έξω. Μου άρεσε αυτή η αίσθηση της οργάνωσης, της ηρεμίας, του προγράμματος, της σταθερότητας.

Επαγγελματικά  βέβαια (IT), βρέθηκα σε μια ακόμα πιο μικρή χώρα σε ευκαιρίες, με εντελώς στρεβλή αγορά εργασίας (μονόπατη για να το πω λαϊκά, ή μονοθεματική), λογικούς μισθούς για τους newcomers (οι πιο παλιοί θα είχαν ζήσει χρυσές εποχές) αλλά σε γενικές γραμμές κανένα σημάδι ότι θα μπορούσα να 'συμπληρώσω' στο βιογραφικό μου εμπειρίες και ονόματα που θα με βοηθούσαν στο μέλλον ή θα ένιωθα ότι 'ξεδίψασα' άπ' τα επαγγελματικά μου θέλω. Correction time.

Έτσι χωρίς πολλά πολλά είπαμε να αποχαιρετήσουμε την χώρα των euro-δημοσίων υπαλλήλων (Λουξεμβούργο) και να πάμε σε μια αγορά που μπορούμε να παίξουμε με τις ευκαιρίες της και μάλλον να εκπληρώσουμε πολλά απ' τα θέλω μας. Enter London, UK.

Είναι καλύτερα;

Ναι, αν και η κίνση αυτή είχε μεγάλη ταλαιπωρία και άγχος τώρα μετά από 3 μήνες, νιώθουμε ότι κάναμε το σωστό. Είμαστε αρκετά πιο αισιόδοξοι επαγγελματικά, νιώθουμε ότι σιγά σιγά γινόμαστε πιο ανταγωνιστικοί και το πιο σημαντικό, παρόλο που πουθενά δεν υπάρχουν οι τέλειες ευκαιρίες, οι τέλειες εταιρίες, μας δημιουργεί ένα αίσθημα ασφάλειας το γεγονός ότι μέσα στην εβδομάδα τα τηλέφωνα θα χτυπήσουν 2-3 φορές για προτάσεις. Βαρέθηκα; δεν θεωρώ ότι η τωρινή μου δουλειά με καλύπτει από θέμα, φιλοδοξιών και  χρημάτων; Είναι μια απόφαση απλά καθαρά δική μου, για ξεκινήσω και να μπω στο ξανά στο job hunt. Δεν είναι εύκολο, ούτε ευχάριστο αλλά είναι καθαρά δική μου απόφαση, και αυτό με κάνει να νιώθω ήρεμος. No dependencies, αν θέλεις κάτι καλύτερο, αν πιστεύεις ότι αξίζεις κάτι καλύτερο, 'ιδού η Ρόδος, ιδού και το πήδημα'. 

Ωραία τα επαγγελματικά στο IT και η ζωή;

Είναι η πιο συνήθης ερώτηση. Δεν υπάρχει σαφής απάντηση. Μάλλον υπάρχει για εμάς, αλλά δεν σημαίνει ότι είναι συμβατές με τον καθένα. Προσπαθώ πάντα να 'καταλάβω' ή να μάθω το background του καθένα που με ρωτάει για να του φέρω απλά παραδείγματα ή στοιχεία που μπορεί να συγκρίνει. 

Δεν υπάρχει η τέλεια κατάσταση. 

Φεύγεις από την χώρα σου, από το σπίτι σου. Σου λείπει πάντα η οικογένεια σου, οι φίλοι σου, η γειτονιά σου και πόλη σου (σαν αίσθηση) . Πρέπει να μάθεις να ζεις σε ένα διαφορετικό περιβάλλον, να επικοινωνήσεις, να προσπαθήσεις να ενταχθείς σε όποιο νέο κοινωνικό σύνολο. Αν δεν έχεις διάθεση ή δύναμη να ασχοληθείς με πράγματα που δεν είχες σκεφτεί ότι θα σε απασχολήσουν στην ζωή σου θα δυσκολευτείς.

Αρκετός κόσμος, αναζητά ένα καλύτερο αύριο. Νομίζω από τις πιο πολλές ερωτήσεις που δέχομαι σε email και facebook, το βασικό κίνητρο (μετά από λίγο συζήτηση) και η μεγάλη ερώτηση είναι 'Θα βγαίνω οικονομικά;' . Είναι σύνθετη η απάντηση, αλλά μια γρήγορη απάντηση είναι, 'θα μπορείτε να έχετε 2 μισθούς στο σπίτι;'. Δεν είναι μακρυά και από την κατάσταση στην Ελλάδα, 2 μισθοί στο σπίτι σημαίνει μεγαλύτερες αντοχές, μεγαλύτερη ευελιξία. Το ίδιο ισχύει για έξω απλά επειδή τα ποσά είναι μεγαλύτερα και τα έξοδα πολλαπλάσια, δεν υπάρχει ευκολα χώρος για να συμβιβαστείς. 1 μισθός σε μια ακριβή χώρα ή πόλη σημαίνει συμβιβασμοί, ποιοί θα είναι αυτοί είναι σχετικό με το lifestyle και τις απαιτήσεις του καθένα. Εξαιρώ φυσικά  καταστάσεις όπου 1 μισθός μπορεί να συντηρήσει σε υψηλά standard ολόκληρη οικογένεια. Υπάρχουν και αυτές οι περιπτώσεις (δεν είναι πολλές) αλλά υπάρχουν. Δεν ανήκω σε αυτή την κατηγορία.

Να φύγω;

αλλά για τους σωστούς λόγους. Ποιοι είναι οι σωστοί λόγοι; Εσύ θα αποφασίσεις αλλά προσπάθησε να μην σκέφτεσαι με το κλασικό Ελληνικό μεγαλείο. Όχι δεν είμαστε πιο έξυπνοι από άλλους λαούς, και δεν μας περιμένουν στο εξωτερικό για να μας δώσουν κουβάδες λεφτά και να μας δοξάσουν. Πρέπει να προσπαθήσουμε και εμείς όπως όλοι οι άλλοι. Όχι δεν έχουμε πιάσει τον πάπα από τα @@, που είμαστε μετανάστες (αρκετοί Έλληνες ιδιαίτερα εδώ στο Λονδίνο έχουν αυτή την τάση, να λένε πόσο φοβεροί είναι που ζουν εδώ, λες και είναι οι πρώτοι που ανακάλυψαν την Αμερική). Αυτή η  βλαχοποζεριά δεν μας αφήνει ποτέ. Ναι υπάρχουν ευκαιρίες παντού, και ανάλογα με τα skill σου, και σε ποια αγορά θα πας, θα πρέπει να κάνεις και τους κατάλληλους υπολογισμούς. Όσο δύσκολο είναι να διατηρήσεις το Α επίπεδο ζωής με έναν μισθό στην Ελλάδα και χωρίς δικό σου σπίτι, είναι διπλάσια δύσκολο έξω. Ρώτα και ψάξε όσο πιο πολύ μπορείς. Δεν είναι κακό ούτε ντροπή. Έλληνες υπάρχουν παντού, γνωστοί γνωστών, προσπάθησε να παίρνεις πληροφορίες από ανθρώπους που είναι φρέσκοι σε έναν τόπο και όχι από κάποιους που είναι πάνω από 10-15 χρόνια γιατί οι απόψεις τους και τα επίπεδα σύγκρισης είναι πια διαφορετικά και μακρυά από την πρόσφατη ελληνική κατάσταση.

Review του χρόνου ξανά! Καλή τύχη και καλό κουράγιο σε όσους το έχουν σκεφτεί ή έχουν πάρει ήδη την απόφαση. Καλή υπομονή και σε αυτούς που μένουν πίσω.

Tuesday, April 19, 2016

Judo ... στο Λονδίνο..και σκέψεις πίσω στον δικό μου σύλλογο.

 Το να βρω νέο dojo και να ξεκινήσω προπονήσεις είναι στιγμή ορόσημο σε κάθε αλλαγή χώρας. Εύχομαι ότι δεν θα χρειαστεί άλλη. 

Μετά απ΄το σύντομο πέρασμα σε ένα αρκετά συμπαθές και μικρό σύλλογο στο Luxembourg, σήμερα έκανα την πρώτη μου προπόνηση στο Sobell Judo Club, στην περιοχή του Isligton (κοντά στο emirates) που έχει γίνει και μια απ' τις αγαπημένες μου περιοχές γενικά, ιδιαίτερα απ' το Angel και προς τα πάνω.

Ο sensei Σ.Σαμσών  8 νταν , με εντυπωσίασε,  πραγματικά έμεινα ευχαριστημένος  από την ευγένεια  αλλά και τον τρόπο διδασκαλίας του.  Επίσης μπορούσα να ανταλλάξω και μερικά ελληνικά μαζί του πάνω σε τεχνικές. Ιδιαίτερα φιλικοί και ευγενικοί οι αθλητές, το τμήμα είναι mixed, άνδρες, γυναίκες και μικροί Judoka,  είχα την ευκαιρία να τους γνωρίσω όλους και να με κάνουν να αισθανθώ αρκετά άνετα. Ότι περιμένεις δηλαδή σε κάθε dojo.  Οι προπονήσεις είναι 2 φορές την εβδομάδα, από 1.5-2 ώρες. Το dojo είναι μέσα σε ένα μεγαλύτερο αθλητικό κέντρο με πολλές δραστηριότητες και χώρους - μου θύμισε το γυμναστήριο του πανεπιστημίου πριν πολλά χρόνια - αλλα 3 φορές μεγαλύτερο.

Αυτή είναι η μαγεία του Judo, μια παγκόσμια οικογένεια με τις ίδιες αξίες. Δεν έχει σημασία που θα πας, όταν πατήσεις το πόδι σου σε ένα dojo, θα σε αγκαλιάσουν σαν 'brother' όπως μου είπαν σήμερα και θα προσέξουν να ενταχθείς γρήγορα. Ανεξάρτητα απο θρησκεία, χρώμα ή καταγωγή.

Μιας και το γράφω αυτά δεν ξεχνώ να βοηθάω και να συμμετέχω οσο μπορώ ηλεκτρονικά στον 'αγαπημένο΄μου σύλλογο, τον Συλλογο Judo Περιστερίου - Dojo Club. Σε πιάνει μια μελαγχολία μερικές φορές όταν βλέπεις τους δασκάλους σου και παλιούς συναθλητές σου σε φωτογραφίες, να συνεχίζουν την προσπάθεια, να κάνουν δραστηριότητες και να μεγαλώνουν τον σύλλογο. Αν είστε απ΄ τα δυτικά και θέλετε να μάθετε για το judo, κάντε μια βόλτα πάνω στον Άγ. Βασίλειο στο Περιστέρι - υπάρχει μια θερμή judo παρέα.
hajimeee λοιπόν και στο Λονδίνο! 

Sunday, April 17, 2016

Spring Async and Java's 8 CompletableFuture, a small change to the existing tutorial #spring #async #java8

It is known that I am not the biggest fan of Spring, but at the time being I work for an organization that maintains too many projects utilizing Spring (in different forms and versions). I still remain skeptic towards Spring, of course there are some very nice ideas, there are some nice (too many) abstractions, there are some very handy 'shortcuts' to bootstrap complex projects. I am not going to elaborate on the things I don't like in this post.

One thing I like on Spring's documentation, is their getting started guides. Well written and concrete. I was reading through, a short guide, for 'Async' method execution, through SpringBoot /RestApi [link] .

So this is this the implementation of the example 'asynchronous' findUser() method. Full source here.

public Future<User> findUser(String user) throws InterruptedException {
  System.out.println("Looking up " + user);
  User results = restTemplate.getForObject("https://api.github.com/users/" + user, User.class);
  // Artificial delay of 1s for demonstration purposes
  return new AsyncResult<User>(results);

I was wondering why there is still a 'Future' in the example, while we have been introduced Java8, CompletableFuture. I guess the original authors want to preserve backwards compatibility with previous versions of Java (6 / 7 ) - where this construct is not available.

It seems that someone else had the same question, and wrote a very nice example here. In one of the comments, you can see a hint that from version 4.2 and onward the Spring API, would be compatible with the use of CompletableFuture, on top of Future & AsyncResult which are already provided. I thought, `well it's a shame, why not try it or even document it, because if someone lands on this example, he/she might stay with the current implementation` - why not use something standard?. 

So I decided to make a tiny change, remove Future and replace it with CompletableFuture, also comment out the calls to Future.isDone() and replace it with the very handy CompletableFuture.allof() method.

So I changed the return type on the 'service' method

while, updating the, caller code - to sync on all 3 futures and once allof() them were done, we could print the results.

The modified, example can be found here. I found this and this blog posts from Tomasz Nirkewicz, a very nice and pragmatic walk through of CompletableFuture, rich method list. There is also a quite complete presentation by my favorite Devoxx Speaker , Jose Paumard you can find it here.

  • https://spring.io/guides/gs/async-method/
  • http://geowarin.github.io/completable-futures-with-spring-async.html
  • http://www.nurkiewicz.com/2013/05/java-8-completablefuture-in-action.html
  • http://www.nurkiewicz.com/2013/05/java-8-definitive-guide-to.html
  • https://github.com/javapapo/projects-from-blog/tree/master/spring-async-complfuture

Sunday, April 10, 2016

while (true) { νοστος };

Όταν πρωτό φτάσαμε στο Λουξεμβούργο, για κάποιο καιρό σκεφτόμουν αρκετά έντονα το σπίτι μου στην Ελλάδα, το δυτικό Χαϊδάρι. Ο πραγματικά υπέροχος καιρός σε αυτό το μικρό καταπράσινο κέντρο ευρωπαϊκό χωριό δεν με βοηθούσε αρκετά. Έβλεπα καθημερινά ειδήσεις, ήταν και εκείνο το δημοψήφισμα, νιώθαμε ότι φύγαμε μάλλον την τελευταία στιγμή. Μετά από 1,2 μήνες σταμάτησα να σκέφτομαι την Ελλάδα, αυτό το αίσθημα που σου δημιουργεί ο νόστος  ξέρεις. Είχα ήδη συνειδητοποιησει ότι δεν θα έμενα για πολύ εκεί, οπότε θωράκιζα τον εαυτό μου για το επόμενο βήμα.

Τώρα που έχουμε  εγκατασταθεί στο Λονδίνο περνάω κάπως το ίδιο (σκέφτομαι το σπίτι μου), υπολογίζω ότι σε λίγο θα περάσει και αυτό. Ίσως είναι και συσσωρευμένο άγχος και ένταση που δημιουργήθηκε από το extreme relocation (2 χώρες σε  λιγότερο από ένα χρόνο).

Εδώ στο Λονδίνο, έχω πιο πολλούς γνωστούς και φίλους. Ανθρώπους που τους ήξερα και με ήξεραν απ΄ όταν πάτησα το πόδι μου εδώ για πρώτη φορά το 1999, αλλά και άλλους που περάσαμε αρκετά χρόνια μαζί στη Αθήνα, στο ίδιο γραφείο, όλη μέρα.  Μερικές φορές νιώθω ότι ζώ σε μια παράλληλη πραγματικότητα. Μαζευόμαστε για καφέ ή φαγητό, τόσα γνώριμα πρόσωπα, και μιλάμε για τα παλιά, μερικές φορές και για την Ελλάδα. Λες και έχουμε βγει για μπύρα μετά την δουλειά στην Πανόρμου. Δεν ξέρω ακόμα όλη αυτή η εικόνα μου φαίνεται παράξενη και η πλάκα είναι ότι είμαι κι εγώ μέσα σε αυτή. 

Το πιο ενδιαφέρον είναι όλα αυτά προλαβαίνω να τα σκεφτώ και να τα αισθανθώ το Σαββατοκύριακο. Δευτέρα με Παρασκευή μάλλον το μυαλό κάνει switch! Αύριο θα βάλω την τελευταία πινελιά, βρήκα σύλλογο για να συνεχίσω το Judo, είναι δίπλα απ' το γήπεδο της Arsenal. Για να δούμε. 

Συνεχίζουμε να λαμβάνουμε ερωτήσεις, από ανθρώπους που θέλουν να φύγουν. Κάποιοι με αεροπορικά έτοιμα, άλλοι τεστάρουν τις αντοχές τους, άλλοι μετράνε τα χρήματα στις προτάσεις. Νομίζω ότι η παρέα μας θα μεγαλώσει και άλλο σύντομα.  Συνεχίζω να μην έχω χωνέψει 100% ότι έγινα κι εγώ κομμάτι του μεταναστευτικού κύματος. Ίσως αυτή η συνεχής μετακίνηση να μην βοήθησε αρκετά. 

Θα δούμε, περίεργες οι εναλλαγές συναισθημάτων.