Etermax at QCon San Francisco 2018

etermax tech
etermax technology
Published in
6 min readJan 14, 2019

--

What is QCon?

QCon is a group of conferences held around the world and organized by InfoQ, with the purpose of bringing organizations closer to technology in such a way that they are as close to the adoption curve. For this, the organizers aim to detect emerging trends in the industry that have a broad application and bring them closer to a vast audience of developers. In this post we will talk about our experience in the San Francisco 2018 edition that took place between November 5th and 9th.

What were we looking for?

Our first objective when participating in this conference was to meet, understand and, if possible, apply the experiences of other companies when trying to solve problems related to software development. Continuous improvement is one of Etermax Engineering’s most important pillars and one of the best ways to achieve that is to understand how other colleagues solved problems with similar characteristics. From this exchange, we hoped to discover new development techniques, new technologies and different ways of approaching personal, professional and organizational growth.

What have we found?

The conference was held in its entirety at the Hyatt Regency Hotel, located in the Financial District of San Francisco. It was distributed over five floors and included all the necessary conveniences to meet the needs of the attendants. Both breakfast and lunch menus were healthy and included a vegetarian option. The conference rooms were considerable in size, which enabled an extensive assistance to each of the talks. At the end of each session, each of the attendants had the possibility to give a Positive, Neutral or Negative feedback by using the assistant’s badge NFC sensor and placing it over the readers that were located at the end of the room.

Conference organization

Each day of the conference was divided into a series of Editorial Tracks which grouped many talks under the same topic. In addition to lectures, each track included an AMA (Ask me anything) carried out by an expert, as well as a panel composed of prominent people which discussed among various topics related to the track.

The great variety of options did not allow us to attend all the tracks, but nevertheless we will make an effort to include the highlights of each of those that we did attend.

Editorial Tracks Highlights

PRACTICES OF DEVOPS & LEAN THINKING

Service Ownership @Slack: Many companies decide at some point of their existence to migrate to microservices, but not all take into account the human impact of these decisions, specially when the Development team grows at a higher pace than Operations. In this talk, Holly Allen tells us how Slack transitioned through different incident resolution models and On-Call policies when relying on a service-based architecture and a culture of both continuous deployment and continuous learning.

“Copy the questions, not the answers”

Whispers in the chaos: Monitoring weak signals: How do experience and knowledge differ when solving problems? How can we recognize those small incidents that we initially ignored, but realized that they could’ve saved us? In this interesting talk full of anecdotes, J. Paul Reed answered those questions, explaining the different systems and mental structures that we use to diagnose problems and find solutions.

Full Cycle Developers @Netflix: The concept of Full Stack Developer is not new at all, but what is beyond that concept? Giving a general overview of the history of development on Netflix, Greg Burrell tells us how developers at the streaming giant face their responsibilities from the planning, development, start-up and maintenance of each service. This talk complements very well with the previously mentioned Service Ownership @Slack.

PRODUCTION READINESS: BUILDING RESILIENT SYSTEMS

Building Production-Ready Applications: How do we know when a service is ready to go into production? Michael Kehoe told us how the SRE team from Linkedin defined certain practices and standards to make easier the management of multiple microservices. According to his vision, each company should define what production-ready means and be possible to automate the validation of these criteria.

OPTIMIZING YOU: HUMAN SKILLS FOR INDIVIDUALS

How To: Developers’ Community Driven Career Growth: The main aspects of a senior developer are: impact, responsibility and collaboration. These traits cannot be taught, but you can create an environment to achieve it. In this talk, Georgiy Mogelashvili tells us how together with Denis Yakunin they created the role play: a framework that allows developers to experience the responsibilities and problems faced by a senior developer.

Baby Got Feedback: How to Give and Take Feedback Like A Boss: The physical pain and the pain we feel when receiving negative feedback share circuits in the brain. In this talk, Sarah Hagan told us the good practices of receiving and giving feedback, from the use of the SBD format (Situation, Behavior, Impact) to how to avoid the sandwich protocol.

ENTERPRISE LANGUAGES

Building a Reliable Cloud Based Bank in Java: How to build a bank with a reliable architecture but also allowing continuous delivery?. Jason Maude shows us the architecture used to build Starling, a one hundred percent digital and mobile-only bank. This architecture, which they called DITTO (do everything at least eleven and at most eleven), uses technologies with a reactive approach with the objective of aiming at an eventual consistency, having a strict separation of responsibilities in each service and avoiding the use of distributed transactions.

ARCHITECTURES YOU’VE ALWAYS WONDERED ABOUT

Airbnb’s great migration: From Monolith to Service-Oriented: Migrating from a Monolith to a Service-Based Architecture is not an easy task, especially in large companies. Luckily, Airbnb has all this very fresh since they’ve started their migration very recently. In this talk, Jessica Tai told us how the the difficult task of migrating one of the most visited sites in the world from a Monolith written in Rails to a Microservices architecture is going, with advices on how to do it and how to organize services in general.

DELIVERING ON THE PROMISE OF CONTAINERS

Chaos Engineering with Containers: In this talk, Ana Medina gave us an introduction to Chaos Engineering and its different types, explaining their challenges, preconditions, benefits and how to perform them correctly. Also, through a series of demonstrations, it teaches us how tools such as Docker, Kubernetes and Gremlin can enable this process.

Workshops

In addition to the three days of the conference, we participated in two workshops, which were dictated by experts.

Event-Oriented Domain-Driven Design

Vaughn Vernon, author of Implementing Domain Driven Design and Domain Driven Design Distilled, guided us through a two-day workshop that included a complete guide on:

  1. How and when implement domain driven design.
  2. Essential concepts of DDD, strategic and tactical design, including developing a Ubiquitous Language in a Bounded Context.
  3. Learn the basics about Event Storming and apply the results to implement Aggregates and Domain Events.
  4. The tradeoffs of using traditional domain model persistence and Event Sourcing.

Istio: Service Mesh Workshop

Zack Butcher, Core Maintainer of Istio, gave us a general overview of one of the most talked about technologies in the world of microservices. The workshop lasted a whole day and included topics such as:

  1. What is a Service Mesh and what are its usages.
  2. Main components of Istio
  3. Handling communication between two services
  4. Network policies: Allowing or blocking access from one service to another
  5. Using Istio as an API Gateway
  6. Canary Releasing
  7. Security: Handling inter-service communication through SSL

Conclusion

QCon San Francisco was an excellent opportunity to understand the new trends in Software Engineering and how they approached by the biggest players in the industry. It also allowed us to understand the common problems that many companies have when trying to implement DevOps and migrate towards a service-oriented architecture. In addition, the Workshops we attended were of great value to us as they allowed us to get in touch with experts of each topic.

We also realized that we’ve come a long way in implementing DevOps in our development teams. While part of the good practices such as Infrastructure as Code, Continuous Integration, Continuous Delivery, Test Driven Development, Trunk-based Development and the end-to-end monitoring of the developments are part of our toolbox, we also confirm that we still have a way to go. It is up to us to discover and explore whether other practices and technologies highlighted in the Conference such as Chaos Engineering, Serverless and Service Meshes can provide us with more value on a day-to-day basis.

Writers:

--

--