JAX 2018 Enterprise integration patterns: A look back and their use in today’s serverless computing

By Bruno Borges, Microsoft JAX direct link Kod- och demotung föreläsning. What is Serverless? Abstraction of servers event-driven/instant scale micro-billing Run my code, at an running tab cost, event driven. Monolith ==> N microservices ==> N*M Functions (==> A LOT of moving parts…) From On-prem servers to serverless Hardware =:= servers = a lot of management on every level Virtualization =:= OS = just give me SSH and I’m good to go! Kubernetes =:= container = just run my container Serverless platform =:= Function = just take my code Options Cook your… Läs mer

JAX 2018 A craftman’s guide to designing a clean architecture

By Marcus Biel, Clean Code Academy JAX direct link Defining a clean architecture Should be simple top-down. Sadly, often real world complexity knocks on the door, and the sketch isn’t very clean after all. Hide the truth? NO! Build systems with modules Hexagonal architecural pattern Split architecture in infrastructure and domain. Infrastructure layer is responsible for communication etc. Head First Domain-Driven Design Enforce layering with Java Modules. Building blocks of a clean architecture Size Naming Encapsulation Coupling and cohesion Size matters Smaller is better – shy away from complexity. Guideline upper limit… Läs mer

JAX 2018 Leadership at every level

By Liz Keogh  https://lizkeogh.com/ JAX direct link Stephen Bungay the art of action Utan att veta vad planen är, så början folk gissa. Managers blir stressade och detaljerar mera, vilket sällan hjälper till att uppfylla målet med förändringen. Instinktiv motvilja mot osäkerhet. A leader’s framework for decision making The Innovation cycle Cynefin framework  SAFe bashing… Flickr och Slack avknoppningar från samma misslyckade MMO till följd av finanskriser. Estimating complexity 5 nobody’s done it before 4 someone outisde of the org has done it 3 someone in org has done it 2 someone… Läs mer

JAX 2018 Don’t Make it a Race: The Four Common Concurrency Control Patterns

By Jack Shirazi, Hotels.com JAX direct link 3 levels of concurrency High level Seven concurrency models in seven weeks Models (how you will wirte your prorgam) Threds & locks Etc Medium concurrency patterns … Low blocks @runnable Thread etc Vilka strategiska val är viktiga innan du börjar jobba? Shared Mutable State Användas av flera trådar Kan ändras Stateful State Kan försöka utlokalisera ditt state Mutable Svårt att bygga. …Men eventually-immutable går ibland att uppnå. Final private fields. Nackdelar ganska mycket kopierande. Shared Thread local state Ta bort ett av orden, så har… Läs mer

JAX 2018 Software Engineers are bad at speaking in public

By Erika Tanti, Ixaris Solutions  @ericathedev JAX direct link A 1967 study set the prejudice that software engineers lack communication skills. The new agile agenda has been prioritizing communication since early 2000:s (SCRUM etc identifies person-to-person contact as a key factor to success). The speaker, him- or herself, often devalues their own impact. Often gives a significantly more professional and comfident air than oneself estimates. Practise makes perfect! Meetings 1:N communication is not a meeting, it is an announcement! Active participation is key to success. Confirmation bias – when a couple of… Läs mer

JAX 2018 DevOps with Kubernetes and Helm

By Jessica Deen, Microsoft https://jaxlondon.com/devops-continuous-delivery/devops-with-kubernetes-and-helm/ Codefresh kubernetes-native jenkins CNCF Draft hjälper till med generering av de yaml-filer som behövs, och stöder lokal deploy. Fantastisk föreläsning, men mycket hands-on demo. Se länk nedan. https://aka.ms/devops/jaxlondon2018

JAX 2018 Effective leadership in Agile/DevOps environments

By Michiel Rook, https://www.linkedin.com/company/touchdown-consulting-services JAX direct link Hur utöva ledarskap i självorganiserande team? Ledarskap handlar om att transformera människor så att de kan arbeta tillsammans mot ett gemensamt mål. Individuella medlemmar i ett team har olika mognad, vilket påverkan teamet som helhet. Teamet har också en mognad, och en trygghet inom gruppen. Genomgång fler olika ledartyper. Directive Participatory Coaching Servant Situational leadership model. ”Effective leaders stir an intangible but very real desire inside people” – General Stanley McChrystal Develop people Turn the ship around by Marquet Develop leaders Provide space to grow… Läs mer

JAX 2018 The Bumpy road towards containerized Microservices

Nicky Wrightson, FinancialTimes JAX direct link 200 containerized services + kubernetes orchestration across two regions. Why containers Monoliths didn’t cut it if they were to keep relieince while developing new features 80% cost reduction using containers. Increased testability using containers (everything is guaranteed to be in place). Serverless Too much change too soon! Some serverless components today. PoC early 2015 Kubernetes not around, so built their own. Java not extremely resource conservative compared to e.g. Go. ==> High Container footprint Use only where needed, consider lighter alternatives elsewhere. Containerise all the things… Läs mer

JAX 2018 An Architect’s Guide to Site Reliability Engineering

By Nathaniel Schutta, Pivotal Bok: Thinking Architecturally JAX direct link Monolithics principles don’t necessarily apply to microservices. How we work together matters. Communication is even more important in a complec world. So what is the history of IT? Apollo program Margaret Hamilton first SRE. Wanted to implement error checking to avoid data erasure during takeoff. Management denied this, shit followed 1968. Hope Is Not A Strategy! Monolith + sysop ==> microservices + devops CORBA ==> EJB ==> SOA ==> API first :. Cambrian explosion of API:s E.g. Dark Sky API <== väderapp… Läs mer

JAX 2018 Testing microservices, from development to production

By: Daniel Bryant JAX direct link Pre-prod vs post-prod tests Contract testing Api simulation … Test-pyramiden, agile testing quadrant Test pyramid created before micro services, but after David Patna’s modularity ==> skilja mellan test av systemtest och mer behovsbaserad testplan för de enskilda mikrotjänsterna Boktips: Distributed Systems Observability Microservice test funnel – Cindy Sridharan ”testing microservices the sane way” Some tests should be done in production Lessons learned Unit testing Don’t avoid unit test <== 77% production failues can be reproduced by a unit test Testing error handling could have prevented 58%… Läs mer