Is Open Source the right model in the Cloud Rush era?

I finally found the time to share the slides for the ApacheCon talk I gave a couple of weeks ago in Austin, Tx.

The topic is pretty ambitious and quite business oriented, although the most technical in my audience will still appreciate the details around how Open Source technologies are powering the Cloud world, and how the DevOps movement is entrenched in strong open source cultural roots.

I hope you’ll take the time to read the preso below and I’d love to hear your feedback below, since I imagine there would be some heated disagreement 🙂

But if you are too lazy even for checking the slides below, here’s the 3 key take-aways from that preso:

1. It’s not Open Source vs. Cloud, it’s Open Source + Cloud, in the way that there would not be Cloud without the economies of scale provided by Open Source and that most SaaS companies are increasingly seeing the value of Open Source contributions (Google, Linkedin, Facebook and the likes are by no chance the biggest contributors)

2. Open Source has won, and it’s no more a positive differentiation (positive incentive) but more like a de facto standard for writing code (especially at infrastructure level), so it’s a negative differentiation (negative incentive) not to be Open Source (e.g. Govmts around the world use increasingly open source first policies in their software provisioning processes). In a way, Open Source is a commodity.

3. There will not be another RedHat, i.e. a $1B company only based on support and services of pure Open Source software. Sure, Hortonworks and the likes can still make a few hundred millions, but the growing technical and market expertise (due to the commoditization) around Open Source will reduce their chances to do a pure open source services play. Furthermore, we see more and more examples of the winning pattern being running a SaaS service and contribute (at least most of) code to the Open Source: this allows you to scale in the cloud and leverage the profitable SaaS business model, while de-risking investments and creating de facto standards by contributing and  leveraging the Open Source ecosystem.

My #AlfrescoSummit 2014 San Francisco recap, and tips for a successful Alfresco project!

Last week’s Alfresco’s Summit in San Francisco was a blast. Every single day. Every single moment (ok well not the night before the preso, when I had to finish

Here’s a day by day recap of my #AlfrescoSummit, the uncountable reasons why I love this event and why you might want to book a last minute spot at Alfresco Summit, and join us in London next week:

Maven Hipsters
Mehven hipsters sabotage!
  • On day 1: together with Mao, we delivered a 4 hands talk called “Get Your Alfresco Project from Zero to Hero with Maven Alfresco SDK and Alfresco Boxes”, finally covering the automation of the full Alfresco project lifecycle! Check out the slides below, for the ultimate approach to Alfresco project lifecycle, a combination of the:
    • the world class developer experience provided by the Alfresco SDK 2.0
    • the highly automated provisioning / deployment of arbitrarily complex architectures provided by Alfresco Boxes (supporting technologies like Vagrant, Packer, Docker and chef-alfresco).

  • On day 2: I delivered a (hopefully) very well received talk called “10 things you need to know to have a successful Alfresco Project”. I tried in a few slides to gather the top ten common mistakes or overlooks I have seen in my now 7+ years of Alfresco career, in every phase of the project lifecycle, from inception to development, from release to deployment and distribution. As part of this talk, I also introduced for the first time a pilot of the Alfresco Developer Support service, a support add-on package dedicated to Enterprise customers and partners who extensively develop on our platforms and require access to highly skilled senior Alfresco engineers on development matters. Check out the slides below and don’t hesitate reaching out to me if you are interested in the Dev Support service:

On top of my contributions to this Summit, it’s been amazing to:

  • Attend Doug’s, John‘s and Thomas’ keynotes, which were were simply FANTASTIC! So excited to be part of a hugely growing product, which is revolutionizing the way knowledge workers can be  productive in their daily job, while being fully engaged and driving the humongous amount of content that we produce everyday to the degree of control the modern Enterprise requires. Come and join in London for this fantastic outlook on the upcoming Alfresco 5!
  • Get to meet (again) many of the Alfresco gurus I remotely work with on a daily basis. Spending a whole week with great Alfrescans like Peter Monks, Maurizio Pillitu, Greg Mehlan, Gethin James and so many other is really refreshing! Not just from a purely technical standpoint, but most importantly that’s was REAL fun – as Peter’s picture clearly here on the right shows – btw the Italian mullet is a present of mine!)

    Peter Monks, the first Mulleteer! :)
    Peter Monks, the first Mulleteer! 🙂
  • Network with so many smart partners and customers, getting their feedback on the product, the SDK and how we can help driving you to continuous customer success!
  • Get to meet the Community and not only get (very personally satisfying, have to admit) exciting feedback on the SDK 2.x version but also seeing Order of the Bee t-shirts proliferating was a really positive sign of a growing, lively and never so important Alfresco Community! Nice to see you again Bindu and looking forward to see you Ole! (just to name 2!)

Well I hope I have given you one more reason to come and see us at Summit.

Especially as I relocated to the US, I really look forward to meet many of the long term Alfrescans Community & Enterprise members of the good old European community next week in London!

See you there? 🙂

What’s happening with the Maven Alfresco SDK? Get ready for 2.x!

After about 10 (really very busy) months of silence in this blog, I think I owe everyone an update of what’s going on with the Maven Alfresco SDK and more in general with Maven and Alfresco.

Lots happened, and it’s still happening, so here’s an update so that

So first things first, from the Alfresco side:

  • As you know, the long journey of Mavenizing the Alfresco build is ended. After Cloud, now Community and soon Enterprise are building with Maven
  • Alfresco Community 5.0.a is out and it’s fully built with Maven. Took about 5 years, but we made it, so get finally ready for a fully orchestrated ecosystem here 🙂
  • Highly likely the old Java / Eclipse SDK is going to be EOL’d, leaving the Maven SDK as the one and only standard de facto best practice to develop on Alfresco
  • We (and Mau specifically) are developing a Maven + Alfresco training that will be delivered at both Alfresco Summits in London and San Francisco. On this note, did you already sign up for Summit US or EMEA? If not, what are you waiting for? The schedule is, once again this year, just A M A Z I N G!

On the SDK side instead we plan to do the following:

  • Move the SDK project to Github, consolidating it in the Alfresco organization. The rationale here, apart from consolidation, is to move to a more modern SCM system which would foster even more visibility and community contributions. Pretty excited about that 🙂
  • We are preparing the SDK release 2.x, which will be compatible with Alfresco 5.x. In the meanwhile you might want to check out the latest 2.0.0-SNAPSHOTS which are increasingly compatible with 5.0.a (disclaimer: YMMV!). Here all the issues we are targeting to resolve, so some work is still required
  • We are seeing community momentum in the SDK like never before, mostly thanks to Ole’s great community help. In particular, Ole has Mavenized already all the samples of the old Java/Eclipse SDK, so we plan to release those together with the new 2.x SDK release and in general make those the reference examples for Alfresco development. Neat isn’t it?
  • If you are interested please help us testing the snapshots, opening issues or even provide contributions. Don’t be shy!

Stay tuned, as we plan to wrap up all this work by Summit, so less than 2 months away. I will then going to be presenting together with Maurizio on a full end to end process to manage Alfresco process, from development and release with the Maven SDK to continuous delivery and deployment with Alfresco Boxes, in a session called “Get Your Alfresco Project from Zero to Hero with Maven Alfresco SDK and Alfresco Boxes“.

 

           See you there?

            Sign up Here 🙂

A wonderful deja vu of my future past

Last 5 days have been amazing. A total quantum leap in a sweet & sour mix of past and future.

Thanks to Codemotion & the great organization of the Alfresco Rome’s meetup by Jeff (as usual!!!) and our partner Sourcesense, I had the opportunity for the 2nd year in a row to go back to my University and be on the other side of the desk! (twice actually, if we count also the Maven SDK quick preso I gave at the meetup).

But it wasn’t only the emotion of talking to young students and experienced software engineers that is giving me this wonderful sense of fulfillment.

And it’s not only seeing that Codemotion (organized by one of my closest friends, Chiara) is growing year after year in relevance & resonance, quality of sponsors and speakers network.

But mostly the fact I had the chance to meet with so many good friends from my academic past and see how sooner or later we will cross again in our professional future. A so much past oriented trip, but still surprisingly focused on discussing the next killer app with the guys…like in the good old college times 🙂

When I finally met one of my ex-professors, Paolo Merialdo, almost “bragging” on how good our generation of engineers (taught by him) is, i.e. that bunch of great engineers that came out of Roma3 University around 2004/2006, I fully understood what I was up to. Re-discovering my roots to leverage them in the making of my future.

And for how great changes happened in my life, and more, even bigger will hopefully come soon, I will always be connected to those guys I studied with in Rome (and now all over the world). Not only by technology, but by a same way of interpreting life, business and daily challenges. Almost like entangled.

And yes, we will finally end up creating our own startup, one it’s going to fail, and then we’ll make another one, and maybe it’s gonna succeed then 🙂

But in substance we will have fully lived the dream of this crazy field we work in.

The dream of who feels capable to build something that will succeed, something that will be remembered, something that might even change the world. Check Liquid Feedback and the whole Italian 5 Star movement to get a hint of what I’m saying.

Talk soon, hopefully with some updates, on where we stand on making the dream come true 🙂

Talk e Alfresco Meetup @ Codemotion Roma … OMG e’ domani!

Il mio primo post in Italiano? Ebbene si’, l’occasione era cosi’ importante che ho deciso di aggiungere, almeno per lo spazio di un post, una terza lingua a questo blog 🙂

Da domani, all’Universita’ di Roma Tre, comincia una conferenza che sta rapidamente diventando una delle piu’ importanti in Europa, per quanto riguarda il mondo open source e dell’innovazione tecnologica: sto parlando di Codemotion, la conferenza (internazionale ma da una idea totalmente italiana) dedicata a tutti i linguaggi e piattaforme del mondo open source, che quest’anno comincia la sua stagione a Roma, ma che si spostera’ a Maggio a Berlino e ad Ottobre a Madrid.

Oltre a i tanti sponsor e track interessanti, da Arduino a Domain Driven Design, da metologie agili a buzzword piu’ recenti come mobile e big data, quest’anno sono felice ed orgoglioso di annunciare che Alfresco sara’ sponsor della conferenza e sara’ presente in maniera massiccia per legare con la comunita’ italiana e per condividere il messaggio innovativo della piattaforma leader nello spazio dell’ECM ibrido.

Vi segnalo i diversi modi in cui potete mettervi in contatto con noi durante la conferenza:

  • Passate a visitarci al nostro stand se volete sapere quanto sia cool la nostra tecnologia, ma anche rockstars della nostra community come Jeff Potts (Chief Community Office) o il nostro consulente tecnico Maurizio Pillitu … ah si, e ci saro’ anch’io 🙂
  • Venite ad uno dei due talk che presenteremo nei track della conferenza:
  • Domani pomeriggio, accorrete numerosi all’Alfresco Rome Meetup che si terra’ sempre a Roma 3 e nel quale uniremo topics strettamente tecnici (come CMIS e Maven SDK) a presentazioni dei nostri partner e clienti. La maniera perfetta per capire come Alfresco possa migliorare i vostri processi e flussi di informazioni. Il programma dettagliato e’ pubblicato sul blog di Jeff.

E come se non fosse abbastanza eccitante, il tutto si svolge nell’Universita’ che mi ha cresciuto e fatto diventare l’ingegnere (un po’ strano per carita’) che sono adesso. E’ sempre una sensazione strana, ma bellissima, trovarsi dall’altro lato della cattedra …

Un tuffo nel passato per dare uno sguardo al futuro…vi aspetto numerosi!

EDIT:

Le slide del talk sono pubblicate sul mio slideshare. Spero che il talk vi sia piaciuto!

Alfresco DevCon in Rome just one week away

I’m very excited about what’s going to happen and I’m going to participate to next week in my mother country 🙂

If you did not know (and so should definitely join!), next week we’re holding an Alfresco Developer Conference in a nice venue in Rome!

The DevCon is spread over two days (Tuesday 12th and Wednesday 13th of April) and will be full of technical in depth topics on Alfresco product and application development.

On day 1, we’ll be hosting a full day introduction of Alfresco Fundamentals, in which I’ll be giving quick and effective insights on Alfresco key concepts like Repository, Content Modeling, Architecture & Technologies.

On day 2, the agenda is full of Alfresco stars like our Product Managers Mike Farman & Ben Hagan, giving us a full insight on the new and great evolutions of Alfresco 3.4 (and above) in the Social Content Management era. I will also be giving a talk about latest CMIS (and the recent OpenCMIS 0.3.0 release) evolutions and how you can leverage them with Alfresco.

Most of the event will be held in the English language, but for all my talks I guess we can of course be a bit more flexible and go for Italian 🙂

So, if you did not do it already, please subscribe to this event and join the most interesting Alfresco technical event and first Alfresco Developer Conference in Italy!

See you there!

Maven and Chemistry strike back … a Maven archetype as CMIS Labs and toolkit

CMIS is cool indeed, and especially working on it with Open Source tools like Alfresco, Maven and Chemistry can result in quite a bit of fun.

I’ve been working quite a lot lately on producing some sample and training material for the coming Alfresco meetups (tomorrow I’ll be presenting the CMIS Master class  live from Madrid), and so I decided to mix and match the two things I can do best:

  • Using my beloved Apache Maven
  • Using the Chemistry AtomPub TCK (former Alfresco CMIS TCK) that we contributed to ASF to provide high level access to the CMIS ReST API

This effort, which I’ll probably heavily use in the next days Master Classes and training session, turned out to be quite productive as in a couple of days of work I was able to:

  • develop a Labs framework which wraps Chemistry TCK embedded CMISClient
  • provide an easy CMIS 0.62 application(s) scaffolding platform using a Maven multimodule project
  • produce and release a Maven archetype which is now hosted our partner Sourcesense repositories ( big thanks go to this folks for being always supportive with their Maven maven infrastructure) and can be used as CMIS launchpad / labs / toolkit

Trying it is very easy, due to Maven archetypes power, and you can have the full Labs toolkit downloaded and installed on your by just selecting ‘cmis-master-labs-archetype‘ in the options of the command below:

EDIT

mvn archetype:generate 
-DarchetypeCatalog=http://maven.alfresco.com/nexus/content/repositories/releases/archetype-catalog.xml
mvn archetype:generate 
-DarchetypeCatalog=http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.releases/archetype-catalog.xml

mvn archetype:generate -DarchetypeRepository=http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.snapshots -DarchetypeGroupId=org.alfresco.enablement.codecamps.cmis -DarchetypeArtifactId=cmis-master-labs-archetype -DarchetypeVersion=1.0

This will create a multiproject structure ready for use. You’ll just need to configure (in a single sourced fashion for the whole suite)  the CMIS endpoint properties in the main POM, by editing the following properties:

<!-- SINGLE POINT OF CONFIGURATION FOR CMIS ENDPOINT -->
<properties>
<!-- Configure here the CMIS endopoint For the whole suite -->
<cmisserviceurl>http://192.168.154.128:8080/alfresco/service/api/cmis</cmisserviceurl>
<cmisusername>admin</cmisusername>
<cmispassword>admin</cmispassword>
<cmistracerequests>true</cmistracerequests>
<cmisvalidateatom>true</cmisvalidateatom>
</properties>

All the nice tracing and validation features of the Chemistry TCK are exposed, once that you configured the POM to point to a proper CMIS 0.62 compliant server (e.g. Alfresco, and an Ubuntu Alfresco VM is available here for this purpose). Specifically the toolkit offers 3 Maven submodules

  • cmis-support –> Support JAR which wraps Chemistry TCK CMISClient
  • cmis-query-webapp –> Very basic SpringMVC webapp querying a CMIS repository and showing results/entries
  • cmis-lab-atompub-binding –> Learning lab on how to import data in Alfresco (complete class in the solution folders)

and a lab-solutions folder.

Using it is pretty straighforward. A simple

mvn install

will test the support against the provided configuration, while entering the cmis-query-webapp folder and running

mvn jetty:run-exploded

will result in the (quite ugly) but functional CMIS Query interface you can see below:

CMIS Query Webapp

using a simple three tiered architecture like the one that follows:

CMIS Query Webapp architecture

Lastly entering the lab-atompub-binding folder and running

mvn test

will run the sample JUnit empty test for the data import lab. Solution (real Test class) is to be found in the labs-solutions  folder.

It’s a beginning but I believe it’s a very nice tool to overcome the somehow still steep learning curve around CMIS, so I warmly suggest you start installing the VM and the archetype and play around with it, and even use it as start for your integration/contribution projects. Especially if you are going to attend Alfresco meetups this month. I’ll surely post the Labs slides later this month, so stay posted!

EDIT

The CMIS 1.0 Public Review compliant toolkit (working against Chemistry AtomPub TCK Trunk 1.0) is available on the Sourcesense repository and it’s added to the remote catalo mentioned in the previous command.

As a side note, at the moment this toolkit provide support for CMIS 0.62 while http://cmis.alfresco.com is Alfresco supporting CMIS 0.70: I’m planning to update the archetype (just a mere Maven dependency 🙂 ) to use the HEAD version of Chemistry TCK that is supporting 0.70.

Feedback welcome as usual!

Hope this really helps 🙂

SURF-ing Alfresco on the snow

I guess the title may sound a little odd, but actually leaving the coldest Dutch winter in ages (peaks around -20° degrees and nice snowy lanscapes especially in the Southern Holland) I was kinda hopeful that Munich could bring some joy to this Italian emigrant. But no joy for the foolish: already during landing I was announced a -12° not-so-warm welcome by the city where the Alfresco SURF Code Camp (held by Optaros) was held today.Luckily today, also thanks to the nice venue in a snowy park, but especially due to the presence of his Alfresco majesty Jeff Potts as main speaker, I could really get a feeling of what Alfresco SURF & SHARE are built upon, how they can be used and exploited to create rich user experiences based on emerging(ed) technologies like JSON, Atom and CMIS.

Exciting new perspectives in terms of architectural distribution and ease of UI development can open using SURF and the ReST approach as opposed to the old monolithic JSF Web client (now called Repository Explorer) customization.

And that was basically all what this very interesting Munich SURF Bootcamp was about.
Jeff Potts and the Optaros guys, which have supported Alfresco in the development of certain components of SHARE, organized this free one day workshop (same as in Chicago) covering both architectural and pretty technical aspects around this new way of developing frontends against an Alfresco repo with interesting walktroughs down to the code (nice idea here and fast working to deliver with pre-built VirtualBox/VMWare virtual machines).
What follows is a high level skecth of discussions and findings of the workshop while find my personal considerations at the bottom of the post (many thanks and all credits to Optaros and Jeff Potts for the pictures you find below):

Read more SURF-ing Alfresco on the snow