settembre 7, 2017 - No Comments!

How to integrate AWS CodeCommit with BuddyBuild: a solution for our Continuous Delivery

AWS CodeCommit - BuddyBuild integrationUsing a Continuous Delivery solution in a software development project is really useful because it brings a great saving of time and costs while providing fast feedbacks on the build.

In our opinion, a Mobile project needs a Continuous Delivery because it enables automation of all time-consuming operations such as tests, builds and releases.

These advantages are even more obvious if applied to a team similar to ours, that follows an iterative-incremental approach to the development cycle with frequent releases.

While developing a mobile app for a customer working on payment services we found ourselves using BuddyBuild as Continuous Delivery service and AWS CodeCommit as Git repository.

Currently BuddyBuild offers a full integration with GitHub, BitBucket and GitLab. It is also possible to use other Git services through SSH protocol, but this approach does not support the trigger of an automatic build after a Git push.

Therefore we had to find an alternative solution in order to have a complete and automated Continuous Delivery cycle.

First Approach

Initially we had to configure a local script shared throughout team members to automatically trigger the build at every push towards CodeCommit. In this way we use a "git post-push" hook to call the BuddyBuild API.

This approach gave us some trouble over time.

In particular we faced problems with new team members which had to configure the script on their own machine. Furthermore every change to the script had to be propagated on every already configured environment.

New Approach with AWS Lambda

AWS LambdaRecently, AWS introduced the opportunity to trigger an AWS Lambda from a CodeCommit event such as a push, branch creation, etc.

Therefore we decided to develop a small project to integrate CodeCommit and BuddyBuild. We created a Lambda which is triggered by CodeCommit at every push and uses the BuddyBuild API to run a new build.

DockerWe create a new project using Docker as Development Environment. This permits to have an environment as similar as possible to the container inside which AWS Lambda runs the code. Other reasons we like working with Docker are that we can replicate through different team members the same Environment and we can keep our host machines clean.

We use Serverless Framework to develop and deploy the Lambda project but at time of writing there is no support to the CodeCommit event, so we have to manually configure the trigger from the AWS Console.

The function itself is very simple. It's an HTTP request to BuddyBuild API that needs only APP_ID and USER_TOKEN to be configured.

Here a piece of the Lambda source code:

request({
 headers: {'Authorization': `Bearer ${process.env.ACCESS_TOKEN}`},
 uri: `https://api.buddybuild.com/v1/apps/${process.env.APP_ID}/build`,
 method: 'POST'
} /*, [...] */ )

For security reason we get BuddyBuild tokens and AWS credentials from environment variables, in this way everyone can configure these variables with an .env file without pushing them to the repository.

We chose to open source the code which is now publicly available on GitHub: CodeCommit - BuddyBuild Integration: all feedbacks are welcome 🙂

agosto 22, 2017 - No Comments!

Cosa ascoltiamo in XPeppers

I podcast sono un ottimo modo per restare aggiornati sulle tecnologie e metodologie che utilizziamo quotidianamente e per questo ne ascoltiamo in abbondanza. Nelle nostre playlist ci sono episodi di svariati podcast:

Software Engineer Radio - una risorsa di apprendimento per tutti i software developer. Gli argomenti trattati sono molto variegati e trattano molti aspetti del nostro lavoro. Dal punto di vista della qualità delle interviste è senza dubbio il numero uno.

Scrum Master Toolbox Podcast - il miglior podcast sui metodi agili, ottimo soprattutto se vuoi migliorare come scrum master ed agile coach. I nostri Pietro di Bello e Paolo D'incau sono stati ospiti dell'host Vasco Duarte.

Altri podcast sul tema agile che ci sentiamo di consigliare: Agile CoffeeThe Happy Melly PodcastLean Change ManagementAgile in 3 MinutesThe McCarthy ShowThe Agile RevolutionITkanban's podcast
Sul tema DevOps invece The Ship Show e CenturyLink Labs Podcast sono i nostri preferiti.

The Ruby Rogues - a panel discussion about topics relating to programming, careers, community, and Ruby. They release a conversation with notable programmers and Rubyists each week to help programmers advance in their careers and skills.

JavaScript Jabber - si parla di sviluppo sia client che server side, di pratiche di programmazione ed environment legati a questo linguaggio. Sono frequenti le interviste con i maintainer delle più famose librerie e framework per avere un aggiornamento direttamente alla fonte.

Tra gli altri, nei nostri Overcast potete trovare:

  • vJug - audio recordings from virtualjug.com
  • The Changelog - a weekly conversation that gets to the heart of open source technologies and the people who create them.
  • Being The Worst - audio apprenticeships for the aspiring software craftsman. Currently exploring DDD, Event Sourcing, CQRS, distributed systems, cross-platform, cross-cloud, & cross-language software delivery.
  • Under the Radar - from development and design to marketing and support, Under the Radar is all about independent app development.
  • SharedInstance - a podcast about iOS Development from three iOS Developers based in Cincinnati
  • Software Process and Measurement Cast - Interviews, essays, facts and tips about process improvement and measurement in the Information Technology arena
  • AWS Podcast - Simon Elisha & Jeff Barr discuss various aspects of the Amazon Web Services (AWS) offering. Each podcast include AWS news, tech tips, and interviews with startups, AWS partners, and AWS employees.
  • 21st Century Work Life - remote working, virtual teams and flexible working.
  • High Resolution - video podcast series with 25 masters of the design industry
  • Freakonomics Radio - each week, hear surprising conversations that explore the riddles of everyday life and the weird wrinkles of human nature—from cheating and crime to parenting and sports.

 

 

giugno 29, 2017 - No Comments!

Preparati a diventare un AWS Specialist in Big Data

AWS Certified big Data

L’esame di certificazione Big Data in AWS è stato da poco rilasciato. L’ottenimento di questa certificazione ti permette di imparare nuove skills e portarti ad un avanzamento di carriera come professionista nel campo dei Big Data e Analytics.

Diventerai tra i primi al mondo in possesso di un titolo di specializzazione sui Big Data con AWS

L’esame è rivolto a persone che operano analisi complesse di Big Data e valida l’abilità di:
- implementare i servizi core di AWS Big Data con le best practices architetturali;
- sfruttare e automatizzare strumenti di data analysis.

Il formato dell’esame è quello solito, si può prenotare una sessione direttamente dal portale di training AWS e sostenere l’esame con domande a risposta multipla in un tempo massimo di 3 ore. Il costo di registrazione all’esame di certificazione è di $ 300.

Nel percorso di studio consigliato da Amazon c’è il corso Big Data on AWS che offriamo regolarmente on-site e in classi pubbliche a partire da € 750. Ulteriori materiali utili per prepararsi sono i whitepapers  e la documentazione.

Prima dell’esame ti consigliamo di visualizzare il blueprint dell’esame disponibile qui. In questo documento sono elencati i prerequisiti e la lista degli argomenti su cui prepararsi.

Il nostro trainer Claudio Pontili a proposito della certificazione: "la certificazione Big data è difficile al pari delle altre advanced. Per il superamento dell'esame il corso è fondamentale, e sono necessari almeno 6 mesi di utilizzo di AWS per conoscere al meglio gli aspetti più particolari dei servizi di big data come Amazon Elasticsearch Service e Kinesis.

La certificazione ti da un valore aggiunto, ormai ci sono tantissime persone che si spacciano per "big data specialist" ma pochi di questi sono veramente competenti in materia, con questa certificazione puoi effettivamente dire di saperci mettere le mani."

I nostri trainer hanno già sostenuto l’esame di certificazione Big Data e sono a disposizione per suggerimenti e indicazioni per raggiungere l’obiettivo.

maggio 23, 2017 - No Comments!

AWS Summit Milano 2017

La seconda edizione dell’AWS Summit Milano è alle porte!

Insieme alla Cloud Alliance, saremo presenti al più grande evento italiano dedicato al cloud di Amazon Web Services.

Il prossimo 8 giugno a Milano avrai la possibilità di immergerti negli ultimi trends tecnologici e ascoltare preziose testimonianze e casi di successo di molti clienti italiani d’eccezione.

Porta con te i tuoi progetti e le tue idee e passa a trovarci, ci trovi all’interno dell’area Expo. Puoi prenotare da subito un incontro con un nostro cloud expert. Compila il form e riserva il tuo slot: https://goo.gl/forms/nOSYC8ZbNRTQe8j62

L’evento è gratuito, ma i posti sono limitati:
Registrati

maggio 16, 2017 - No Comments!

Il continuous improvement inizia dalle persone

In questo blog post vogliamo mettere in evidenza uno dei valori più importanti all’interno di XPeppers: il miglioramento continuo. Un valore che si può percepire già dai primi giorni di esperienza lavorativa, momento in cui i nuovi arrivati iniziano a seguire un percorso di studio mirato all’approfondimento dei principi e dei valori condivisi dal team, tra cui tematiche legate ai metodi agili e ad extreme programming.

Kata in progress!

In questo percorso c’è la figura di un tutor aziendale, una persona del team che affianca e segue il nuovo arrivato durante un primo periodo, fornendo feedback e consigli su come affrontare nel modo migliore i temi trattati. Oltre a questa figura di riferimento, si può sempre contare su un ulteriore supporto dal resto del team.

Il nostro percorso di studio è organizzato in aree tematiche che coprono i concetti più importanti delle metodologie agili e tutte quelle buone pratiche per scrivere codice migliore. Studiamo dai libri, dai blog e da altre risorse che riteniamo valide, alternando la teoria alla pratica. Affiancandoci a qualche altra persona del team svolgiamo e ripetiamo esercizi di programmazione, detti Kata, per rendere il più naturale possibile l’apprendimento dei temi studiati e la loro applicazione su progetti reali.

Una volta completato questo percorso, in XPeppers continua ad essere presente come pratica quotidiana il cosiddetto “pomodoro di studio”, momento in cui ogni giorno ciascuno di noi dedica del tempo all’approfondimento di argomenti che crediamo importanti per la nostra crescita professionale. Quando lo riteniamo opportuno organizziamo anche presentazioni interne per cercare feedback e condividere tematiche rilevanti col resto del team.

Per nostra natura ci piace raccogliere feedback e cercare di migliorarci continuamente, e questo si riflette anche sul nostro percorso di studio che continua a cambiare nel tempo per rimanere al passo con le tematiche emergenti.

Se anche tu come noi credi al miglioramento continuo, sei curioso e pensi che il nostro metodo e percorso di studio possano farti crescere allora continua a seguirci o mandaci la tua candidatura!

aprile 26, 2017 - No Comments!

Container Conference in Chiasso

Due giornate dedicate ai temi del DevOps, la Containerizzazione delle applicazioni e lo sviluppo di architetture a Microservizi

L’ agenda per l’evento dei Containers a Chiasso (23-24 maggio) è stata appena annunciata e vi consigliamo di prendere subito i biglietti scontati.
Per iniziare avremo con noi Mattia Gandolfi di Google, che ci parlerà di Kubernetes il tool di riferimento per il deploy, scaling e gestione di applicazioni containerizzate.
Direttamente da Mesosphere DC/OS, Jörg Shad ci parlerà di come mantenere l’applicazione resiliente, nonostante errori di rete, aggiornamenti o bug.

Vedi l’agenda completa

Il giorno 23 Maggio è interamente dedicato ai workshop, tre opzioni super interessanti per capire come realizzare applicazioni sul cloud, containerizzarle con Docker o farle evolvere verso un’architettura a microservizi. CTO, developers e operations non possono perdersi questa opportunità di formazione. Scriveteci per sconti e biglietti di gruppo.

Prendi i biglietti

 

aprile 7, 2017 - No Comments!

What is your AI strategy?

Intelligenza artificiale AWS

Il format LAI va in tournée presso incubatori e acceleratori italiani, prima tappa: Firenze, all'interno di Nana Bianca.
In questa occasione approfondiremo il tema dell'intelligenza artificiale.
All'ultimo summit di Amazon, l'intelligenza artificiale AWS ha avuto un ruolo centrale, con la presentazione di servizi, fino a poco tempo fa riservati a centri di ricerca, facilmente integrabili nelle proprie applicazioni.

Durante la giornata di formazione gratuita vedremo come l'intelligenza artificiale AWS può essere inserito nei progetti, casi d'uso innovativi nel retail e il nostro robot in grado di riconoscere gli oggetti.
La parte adopt "hands-on" permetterà di costruire un chatbot diverso dai soliti, integrato con i nuovi servizi di image recognition e NLP.

Vedi l'agenda >

marzo 15, 2017 - No Comments!

Incontro DevOps Italia – Si fa presto a dire Serverless

Ultimamente si sente molto parlare di architetture Serverless, un termine per certi versi ambiguo e legato a troppi diversi significati che secondo noi non esprime ciò che in realtà si vuole comunicare.

 

All'Incontro DevOps Italia Alessio Coser e Daniel Depaoli hanno tenuto una presentazione su questo tema iniziando con una breve introduzione a questa architettura chiamata anche Function as a Service (FaaS).

Applicando l'architettura FaaS in vari progetti abbiamo raccolto delle riflessioni su quali siano i vantaggi e le sfide che si devono affrontare nell'utilizzo di questa tecnologia.

Le slides della presentazione

 

Da queste esperienze abbiamo creato dei corsi per capire come implementare correttamente una architettura Serverless in modo da gestire le complessità e rendere i cambiamenti futuri più facili: vedi il programma.

marzo 8, 2017 - No Comments!

Training e Affiancamento su Microservizi

formazione microservicesIn occasione di Incontro DevOps lanciamo una nuova offerta di per l'adozione di microservizi.
I corsi, erogati a Milano, Roma e presso le aziende, sono pensati per far intraprendere il percorso di adozione sia dal punto di vista metodologico sia per realizzare la propria architettura utilizzando i servizi cloud di AWS e i meccanismi di containerizzazione di Docker.
Il valore aggiunto consiste in un pacchetto kickstart per calare i concetti appresi nel contesto del dominio aziendale. Una serie di attività di affiancamento per raggiungere i risultati in minor tempo.

Pagina di dettaglio >

 

marzo 6, 2017 - No Comments!

“How Agile Dev Teams work” – Our seminar @ICTDays 2017

seminar picture

Last Thursday, in a joint effort with Paros s.r.l., we held a seminar at the department of Information Engineering and Computer Science at the University of Trento.

It was the final event of the day for the 2nd of March and a part of the ICTDays program, which is a set of activities spanning across a couple of weeks, organized to facilitate the meeting between Tech companies and Information Technology students that are looking for career opportunities.

We have worked with the Paros team for a cumulative period of almost three years now, and we were looking to share our experience and introduce the attending students to what an Agile transformation may look like - maybe in a company they could be working for in a few years (or months) from now.
(You will be able to read more about our successful collaboration with Paros in an upcoming and more comprehensive case study, so be sure to keep up to date with our latest news!)

The Seminar:

After a brief intro about the Agile principles and manifesto, we talked about the "old way" of doing things.
No shared knowledge about the product, long requirement gathering cycles, impossibly complicated deployment procedures, very few opportunities for growth... You name it.
We then proceeded to illustrate how XPeppers and Paros started their collaboration. One step at a time, it managed to change the company culture, leveraging on the work of both teams.
This introduced a long series of benefits, starting from a collective code ownership of the development team to a deeper commitment to the product across all departments - simply a more efficient process all around.
In particular, we focused on the introduction of Scrum, which allowed us to focus on creating business value: rather than planning in terms of technical considerations, such as software layers, this framework helped the team to plan in terms of benefits for the customers and their final users.
The following step was introducing technical practices taken from Extreme Programming, like TDD, Continuous Integration, Refactoring, which allowed the team to develop the kind of technical excellence needed to be able to release early, often and continuously.

You can look at our slides here!

https://docs.google.com/presentation/d/1pyRu8DJr05iFzIazOUs4HJuZ7_osMs_p-Ua_8VsFoKw/edit?usp=sharing

What we have learned:

At the end of the talk, we had the chance to answer interesting questions from the students spanning across a wide range of subjects: from the technical, down to earth stuff to the most abstract concepts addressed by our process.

It was a very stimulating experience and a chance to take a fresh look at our company environment from the perspective of young, newly trained people.
We are definitely looking forward to more opportunities like this one, where we get to keep in touch with the emerging professionals in our field.

If you were attending our seminar, please let us know your feedback and any questions you may have left by contacting us through our website.
We'd love to hear from you!