Haufe's Tech Strategy In Practice

Post on 08-Apr-2017

442 Views

Category:

Internet

3 Downloads

Preview:

Click to see full reader

Transcript

HAUFE‘S TECH STRATEGY IN PRACTICE

Marco SeifriedLead Platform Architect@marcoseifried marco.seifried@haufe-lexware.com

A story on how to develop modern age systems and help business to reach their goals

Haufe Group

Digital Media Group providing digital workplace and business solutions

Online services for HR managers, accounting apps for the self-employed, Internet portals for tax experts, online and offsite trainings

Founded 1930, family owned still, now 1500 employees

Locations in Germany, Spain, Switzerland, US, China and Romania

WE NEED TO TRANSFORM OUR BUSINESS

...CONSTANTLY

EFFICIENCY IN LEGACY BUINESS

SPEND MONEY ON VALUE

SPEED TO MARKET GLOBALIZATION

DIGITALIZATION OFBUSINESS MODELS

SPARKINGINNOVATION

CHALLENGES IN TRANSFORMING BUSINESS

HOW TO FOSTER INNOVATION?

Culture

StructureTechnology

ALIGNMENT & BALANCE

Values• Values is what we value• High Performance• Freedom & Responsibility• Context, not control

Skills• Curiosity• Courage• Passion• Selflessness

Culture @Netflix

A must read slidedeck: http://de.slideshare.net/reed2001/culture-1798664

Technical Strategy@Haufe

BASELINE – ARCHITECTURAL PRINCIPLES

Business value over technical strategyStrategic goals over project-specific benefitsComposability over silos

Shared services over specific-purpose implementationsEvolutionary

refinement over pursuit of initial perfection

Design for obsoleteness over building for eternity

Good enough over best of breedDeclarative processes over implicit knowledge

Data over opinion

02.05.2023 11

MICROSERVICES

• Vertical Decomposition • Shared Nothing Architecture

• Independent Deployable, Scalable and Evolvable• Do One Thing and Do One Thing Well

AUTOMATE YOUR ECOSYSTEM

• Build• Infrastructure as Code -> git• Pipelines -> go.cd, Jenkins• Docker (container, docker compose), Kubernetes, Consul• Docker Registry

• Deploy• Feature Flags• Blue / Green• Rolling Updates• Immutable Infrastructure

• Test• martinfowler.com/articles/microservice-testing

AUTOMATE YOUR ECOSYSTEM

• Operate• Docker Swarm, Kubernetes, Amazon / Azure Container Service, Rancher• Autoscaling ? • Service Discovery external (AWS Elastic Loadbalancer) & internal (Kubernetes)

• Monitor, Logging, Reporting• Health endpoints per service• Central Log Management -> fluentd, Graylog• Monitor -> Grafana, Graphite, InfluxDB,

Prometheus

COMBINE THAT WITH…• Cloud to make use of IaaS, PaaS & SaaS

• Watch out: Lock-in vc. benefits of offerings• Docker as base to be independent• Do it yourself where there is unique business value• Don‘t just ‚lift & shift‘ – think about cloud architecture

• APIs • to decouple systems / microservices • outside-in design: don‘t expose what you have, expose what your customer

needs• Self serviced

LAST BUT NOT LEAST - PRODUCT TEAMS

• Responsible• Empowered• Cross functional• DevOps• Conway‘s Law

Spotify is a prime example: http://www.full-stackagile.com/2016/02/14/team-organisation-squads-chapters-tribes-and-guilds/

Some real life experience

Introducing – Our Service Platform

http://fineartamerica.com/featured/big-ball-from-a-cable-twisted-pair-aleksandr-volkov.html

- 5 to 10 days to deploy- 2 releases a year- Months to test- White box testing - Deployed on hosted hardware- test != prod- Not an ESB, but worse- Serves a wide range of

services from a single entity

Lets start simple and extract (just) User Management

9 months later - it was a complete failure

- Lost test coverage (Remember white box testing?)

- Scope creep (lets fix all the things which bugged us)

- Project complexity grew out of control (Leading Indicator: “We just need X more developers”)

- Agile became frAgile- Team morale and spirit were destroyed

Stabilize Optimize Transform

The 3 Stages of Lean Transformation

So we reset the project (but kept the team)

• Strictly time-boxed phases (3 months)• Additional focus on team culture, attitudes, and challenge

• Start with the basics – Automation, to gain time for the more valuable features

• Result: Time to deploy from 5-10 days to 30 min• Infrastructure as Code (Docker)• Rapid deployment via Cloud (Azure)• Build and deployment automation through Go.CD• Inmutable Server

Next up: Haufe Publishing System• Haufe‘s factory: Producing our content• Monolithic application, grown over the

years• Max 2 releases per year

Work @Haufe karriere.haufe-lexware.com/en/

. You’re full of energy, looking for a challenge and willing to learn on the job? Great! We give you space to mobilize that energy and channel it into exciting projects.

What we offer: Basic Information:

Internships 1 – 6 month(s), 39 hrs per week

Work Semesters max. 20 hrs per week/semestermax. 40 hrs per week /holiday

Traineeships esp. Sales, Marketing, Product and Project management12 -14 months, full time

Bachelor- / Master Thesis

Positions Software Developer, - Architect, Tester, Project Manager

Find out more. 

For job opportunities check out: karriere.haufe-lexware.com/en/

For daily news about us, our teams, twitter.com/HG_Jobsour work and jobs follow us: www.linkedin.com/company/haufe-gruppe

www.xing.com/company/haufe-gruppe

See what other people have to say about us: www.kununu.com/de/haufe-gruppe

Technical blog, GitHub, Twitter: dev.haufe.comgithub.com/Haufe-Lexware@HaufeDev

Get in contact: YoungTalents@haufe-lexware.com

Further information on our work and projects

Project example from this deck dev.haufe.com/the-automated-monolith

OSS API Mgnt wicked.haufe.io

Dockergithub.com/Haufe-Lexware/docker-style-guide

API Styleguide github.com/Haufe-Lexware/api-style-guide

Slideshare www.slideshare.net/HaufeDev

Bedtime reading

@danielbryantuk

top related