SQLPort 22 September 2016 @ Aveiro – Database source control: Migrations vs State

This was the first SQLPort event held in Aveiro. I was invited by Niko Neugebauer to deliver a session and I chose to explore the topic migrations-based approach vs state-based approach for database source control.

The purpose of my talk was to let audience know about the two existing approaches to start with source control at database level. After presenting the advantages and disadvantages of each approach I promoted a discussion with the participants so they could understand how, where and when they should apply each one of the approaches.

I would like to thanking Niko for inviting me and Ricardo Peres for the support in making this event possible.

Hope to repeat the visit to the beautiful city of Aveiro for more events.


Agile, Scrum and DevOps – The workshop

The workshop “Agile, Scrum and DevOps – Let’s Play with LEGO” is part of  TugaIT 2017 conference schedule and will happen at May 18th. TugaIT 2017 is one the greatest Portuguese IT conference and will happen between May 18th and 20th – 3 days with sessions and workshops to provide the highest possible quality training and knowledge to the community, on a variety of topics.

My friend and agile coach Nuno Rafael Gomes (@nrgomes) challenged me to take his original workshop about Lean, Agile and LEGO Serious Play (more info here) and introduce the DevOps perspective to the workshop. From our numerous discussions about Scrum and Agile he knew that I love to deconstruct Scrum, so it was easy to me to accept the challenge.

Develop software is not enough anymore, you need to deliver it. This is the trademark to my contribution to this workshop where my purpose is to introduce the DevOps values, practices and challenges. In other words, my mission is to demonstrate how DevOps can improve the way you deliver software. I like to call it the “Beyond Scrum” approach, where DevOps arises as the answer to the challenges that Scrum brought to the software development and was not able to solve.

The best part of the workshop is that we will do this playing a game using LEGO. We can garante lot of learning and fun.

Our objectives are:

  • Learn through practice what the agile values really mean
  • Deeply understand the roles, events and artifacts of Scrum
  • Understand the power of Systems Thinking, Feedback Amplification and Continuous Learning
  • Establish the relationship between Scrum and DevOps
  • Understand the 3 ways of DevOps

Topics that we will cover:

  • All 4 agile values
  • All Scrum values, roles, events and artifacts
  • The DevOps definition
  • The 3 ways of DevOps
  • Value Stream Mapping
  • Theory of Constrains
  • Continuous Improvement (kaizen)

Required materials:

  • You just need to bring fun, good mood, and desire to learn!

This workshop is intended to everyone, independently of the knowledge level about Agile, Scrum and DevOps. If you don’t know what is Scrum,, or you never heard about DevOps or Agile, or you already know what’s each one of the topics, join us. We garante that everyone will learn something new!

You can register here: Agile, Scrum and Devops – Let’s play LEGO

Hope to see you May 18th in Lisbon with us.

DevOps Porto as TugaIT 2017 participating community

TugaIT is one the the greatest IT conferences that happens in Portugal. The TugaIT 2017 edition will happen between 18 and 20 of May in Lisbon (Microsoft HQ).

This 3 day conference includes workshops and talks and the following tracks: Azure Infrastructure, Agile & DevOps, Integration, Microsoft Data Platform, Office 365, Open Source Data Platform, PowerShell, Professional Development, Programming, SharePoint.

As a member of DevOps Porto I’m proud to represent one of the participating communities of TugaIT 2017. As a member of this community we hope to contribute to a high quality conference.

If you would like to be a speaker I would like to invite you to submit your talk (or talks): Call For Speakers.

Hope to see you all at the conference, as a speaker or as attendee.

#c9d9 Continuous Discussions – Open Source and DevOps

slide1During my vacations in August I participated on a Continuous Discussions (#c9d9) episode about Open Source and DevOps.

Continuous Discussions is a community initiative powered by Electric Cloud, and consists of a series of community panels about Agile, Continuous Delivery and Devops.

This formate, a discussion panel that debates different perspectives about a specific topic, surprised me with the interaction and fun that was to make part of this event. So, well done #c9d9, I really enjoyed.

Following, some insights from my contribution to the panel:

Open source – free as in beer or free as in puppy?

You always have a cost, independently if it’s open source ou closed source. The cost depends on the size of your team, the complexity of your tasks and the frequency of change. The good thing about open source is that you can contribute to the change and take it in your direction. That’s what I like the most in open source.

Where do you use open source?

Open source tools are used in some points of the development pipeline, like for example delivering changes to databases. If you are a startup company there is a high probability to use a lot of open source tools, and with the evolution and the complexity of your team/organization you will probably start to migrate to commercial tools. The rule is “try before you buy it”. You can combine open source and commercial tools like Jenkins, Team City, TFS Build, Octopus Deploy, etc. Even Microsoft is becoming more open.

Where would you not use an open source tool?

In big and complex systems. An important question is, what’s the common factor when you migrate to open source tool,  ot to an closed source tool, in both directions? In my opinion it’s the size aligned with complexity. So, use the right tool for the right job, open source or commercial tools.

Quality concerns?

First, if the open source tool role it’s to support your development pipeline, you have more flexibility to manage the exposure to errors. But, if the open source tool makes part of your product you have to take responsability for that integration, you have to assure that quality is there. Quality must be present everytime and everywhere, however if we are talking at develpoment pipeline level I have more flexibility, but if we are talking at costumer level I have to be more careful.

Security concerns?

Open source tools security concerns make part of the general security concerns. I try to make the development environment as closed as possible.

Legal concerns?

Both, open source and closed source has law concerns. Sometimes the decision is made at a higher level and you can not do anything, other times you can influence or even make the decision, at that time is better the read the license (you probably thinking “who does that?”).

You can see full episode here!

PortoData 28 July 2016 – Delivering changes for applications and databases

Last July at PortoData event I made my first co-presentation with my friend Miguel Alho (@MytyMyky) and the explored topic was the relationship between databases and applications in the development process.

apps_dbs

After doing some presentations about database developing process and DevOps, this presentation was the “missing link” that allows the audience to see the “big picture”.

The presentation chosen title was “Delivering changes for applications and databases” and its content is the result of the shared experience by me and Miguel at Celfinet. The challenges of the interaction/dependency between applications and databases were the main topic. We also explored the tools and process that helped us to overcome that challenges.

A good communication protocol between development and database/operations and automation, a lot of automation in the process definition, were the key factors to achieve our goal: a development pipeline which included source control, continuous integration and continuous delivery.

I presented my perspective of  database development while Miguel presented the application development perspective, we represented the common division between applications and operations. The audience reaction and questions about the way Miguel and I established a communication protocol and a development process that included databases and applications was very interesting. At the end of the presentation we were happy with the audience feedback, an experience to repeat I say!

Here are the slides from our presentation:


Scrum Portugal and the DevOps challenge

operations“How about the operations?” This was a recurring question in the conversations that I had with Nuno Rafael (@nrgomes). After several discussions about agile methodologies and his effects and challenges on the operations world I accepted his challenge to deliver a session at Scrum Portugal community about DevOps.

I decided to give my session, made at June 29, the following title: “DbOps, DevOps and Ops” because my first contact with operations was at database level (as DBA), then I progressed to infrastructure (as infrastructure team member) where I had to deal not only with infrastructure operations but also with operations related to applications.

So, my session tells my operations journey through databases, applications and infrastructure domains where the goal is to deliver software as fast as possible while achieving the balance between business goals and business deliverables. In other words, it’s my story about engineering practices within agile, using Scrum, Kanban, source control, database automation, continuous integration and continuous delivery.

The audience reaction to the presentation was quite good. I had questions made by operations people, development people and “agile” people, which made me satisfied. The session ended with a open discussion forum where I and the attendees had the chance to explore the covered topics with more detail.

I would like to thank all the Scrum Portugal team, first for the invitation and second for the way you welcome me. I was a very well organized event.

Here’s my session slides:


TugaIT 2016 – Road to database automation

tugaitThe TugaIT 2016, May 21, was so far the biggest event that I participated was a speaker. The logistic challenge was characterized by 9 tracks, each track with 6 sessions, making a total of 64 sessions. At the end of the event two combined words remain in my mind: monstrously amazing.

My participation on the TugaIT event started on the day before, Friday May 20, with the workshop “Deep walkthrough of some of the most popular/innovative features in SQL server storage engine” by Sunil Agarwal (@S_u_n_e_e_l). In addition to get to know very interesting features in SQL server 2016 edition, Sunil Agarwal can explain how they work in a very simple and easy way to understand. In fact when you listen him talking everything in SQL server seems easy and simple. The day ended with the speaker’s dinner where I had the opportunity to know and socialize with other speakers.

Next day, Saturday May 21, I made my session “Road to database automation”. This session addressed the challenges of the first step of the database automation process: database source control. Despite being part of the last sessions of the day, I had a good assistance and very interactive. I was glad to know the more people is doing database source control.


PortoData 20 April 2016 – Database source control: Migrations vs State

My second presentation at Porto.Data (April 20) was about the two approaches, migrations and state, for database source control. During the presentation I explored the advantages and disadvantages of each approach. For migrations approach I used the tool Flyway and for state approach I used Redgate SQL Source Control.

Besides presenting the pros and cons of each approach my goal was also to show that two approaches can be needed in different parts of the system, or at different times in the development process. Size and complexity of the databases, team’s capabilities or preferences and development processes will be factors that will influence the adoption or the variation between the two approaches.

Here’s some “sensations” collected from the audience:

  • This presentation is especially useful for those who’s starting to implement database source control and want to know the available options/approaches;
  • The meaning of “introduction changes in the database” or his effects/implications are not very familiar concepts to the audience;
  • The management/articulation of changes between databases and applications is not a clear process or necessity for the audience. There remains different/separated views for databases and applications (next presentation/challenge: show how to deploy an application and a database together). 


  

 

 

SQLSaturday #485 Lisbon 2016

SQLSaturday #485 Lisbon 2016, held on February 20, was my third SQLSaturday event and my first as speaker. When  I received the email saying that my session had been accepted in schedule’s event I felt happy and honored.    sqlsatuardaylisbon2016

My session, Road to database automation, was accepted as lightning talk. So I had 10 minutes to address the first stage of the database automation: database source control and it´s benefits. During that time I presented the reasons that lead me to invest on database source control and what tools I used to achieve it. You can find my presentation in the end of this post.

The presentation went well and fast. But the best happened after the presentation: the attendees feedback and curiosity. The possibility of discuss my favorite topics with other people with similar challenges was amazing.

This post is also the opportunity to give my congratulations to the event organization, headed by André Batista @klunkySQL, who provided great moments of conviviality, and to say thank you to the portuguese sql family for welcoming me so well.

IMG_20160221_111027

I hope to see you all soon.


 

 

PortoData 15 December 2015 – Road to database automation

Last Tuesday (15 December 2015) I made my first presentation in Porto.Data community. “Road to database automation” was the title and the this session had two main goals: discuss the challenges of database inclusion in the Application Lifecycle Management (ALM) and present a set of strategies and tools to achieve this inclusion.

The effort of database inclusion in the “agile context” is designated as Database Lifecycle Management (DLM) and is composed by 3 main parts: database source control, database continuous integration and database continuous delivery.

In the first approach to database automation are presented some strategies/techniques and tools, such as Mercurial (TortoiseHg) and Git (SourceTree) for source control and Flyway for database migrations management,  to deal with the challenges that a database version control system implies.