elofturtle.com

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% of catastrophic failures.
  • 35% of catastrpåhic failures bacause of empty error handler.

Integration/component tests

  • If it looks to comlicated, it probably is
  • Coupling and cohesion apply to everything!

End to end tests

  • Representational data is often the weakest link
  • Understand your data ”shape” and volume
  • Synthetic datastores
    • Hsqldb
    • Qpid
    • Testcontainers (ramverk)

General strategies

  • Test outisde-in
  • Acceptance tests for systems and services
  • ”LUFD” the context and TDD the API
  • Virtualise dependencies

Makes regressions testing easier.

JMeter vs Gatling (scala), hur påverkar det lättheten att skriva lasttester?

Synthetic transactions in production <== CAREFUL!!

Test contracts of unstable API:s. Choose your battles.

Invest in monitoring, synthetic transactions and chaos engineering (in this order).

Contract (Testing Syntax)

If you breake a contract, don’t blame, go communicate.

Usually fits between component test and end-to-end-tests.

API Contracts are service contracts

  • Many are producer driven
  • It’s possible to design outside-in
    • Consumer-driven contracts (CDC)
    • Pact (ramverk) on the Consumer side
    • Verify expectations on Provider.
  • CDC frameworks
    • Pact
    • Spring cloud contract
    • Pact supports AMQP contracts
  • Hur hantera kontrakt i t.ex. Kafka?

Contract testing Musings

  • Great in low trust low communication
    • Act as a cue for communication
  • Lesser value during incubation/startups
  • Can be used to implement TDD for the API
  • Resource intensive to create and maintain

API simulation (testing semantics)

  • How to keep track of internal services/dependencies?
  • Not always easy to mock away.
  • Virtual services?
  • LocalStack (AWS)

Musings

  • Great when service expencive to access or tricky to mock
  • Userful to test failure modes, when hard to recreate
  • Can be fragile and complicated

Fault injection (testing resilience)

Musings

  • Assert system quality attributes
  • Can prompt team tp think about monitoring and resilience
  • Can cause a lot of damage if used wrong

Conclusion

Balance pre-production testing and production testing.

Don’t try to be absolutely correct.

Book tip: Continuous Delivery in Java

 

 

Annonser

JAX 2018 CD is better for your brain

By Daniel Jones

JAX direct link

Post-industrial era really easy to get to the market, or to make a competitive product, so how should we tackle this?

Customer relations, and the ability to ccontinuous change is getting mote and mote important – change and reimplementation is much cheaper than losing all of your customers to the competition.

How to get input quickly – enabling change

Group identity co-relates to empathic response triggers => silos increase this problem. Create a larger tribe to increase investment from all parties.

By increasing automation, specialist competence in many areas less important, easier to devops.

From waterfall to handle complex coordination ==> one tribe cross communication while doing fewer things well during a time period

Hardwired to care more about near-time spatially near important tasks

Serialize tasks rather than multitasking, one tribe at a time.

Book tip ”Scarcity” . Being in situational scarcity reduces effective IQ.

Can be triggered by TIME as well, one of our key scarcity elements.

This is the effect of taking on more work than we can solve.

CD makes deadlines meaningless, given that we deliver the most important thing.

How do this in a fractured customer space??? ==> Hopefully not SAFe!

Rewards replenishes willpower

How implement locally? ==> CD (incremental imrpovement) trigge

JAX 2018 What Does Cloud Natice Java really mean to developers?

Paneldiskussion: Daniel Bryant, Jessica Deen, Sebastian Meyen, Steve Poole, Martjn Verburg

Äntligen tillbaka till kommandoraden!

Öppet sinne och erkänna att det finns saker du inte kan – ut på korståg!

Javautvecklare måste intressera sig för ops och arkitekturen.

Molnet sipprar in i det egna datacentret vare sig vi vill eller inte.

Hosting i öppna molnet kräver ett större intresse i arkitekturella frågor, latens och andra faktorer., är mycket mindre förutsägbara.

Andra attackytor – större krav på säkerhet hela vägen, zero trust network.

Hur undvika vendor lock-in i molnet? It works on my machine är inte tillräckligt. Men en flytt till molnet kommer att underlätta att flytta mellan molnleverantörer (hög standardisering med bl.a. envoy och kubenretes API:er).

Svårt att flytta DATA mellan olika leverantörer om du har mycket data.

GDPR.

Om certifiering på specifik plattform – försök fånga alla nivåer så att du kan kommunicera på rätt abstraktionsnivå.

Löpande kostnade/debiteringsmodellenn för molnet påverkar arkitekturen hos din applikation på sikt.

Deployment av Java i molnet är något av en utmaning, med minnesavtryck, uppstartstider, etc. Inga tydliga svar i dagsläget. JVM optimerad för traditionella miljöer, spännande framtid hur JVM:en optimerar imorgon. Alpine + Jlinker + Java-app := riktigt tunn container för java.

Utveckla din applikation för deployment på flera moln samtidigt för ökad stabilitet och fortsatt valfrihet. Designing for replacability.

Moln + mikrotjänster går hand i hand (Paper: Decomposing systems), får se vilken grad av modularisering det landar i på sikt. Skalbarhet.

 

JAX 2018 Architecting an enterprise blockchain solution: Key considerations

By Vinita Rathi, Systango

JAX London 2018

Började leka med blockchains på allvar 2016. Forkar av Bitcoin, t ex Ethereum.

När behövs en blockkedja, egentligen?

  • Journalsystem
  • Data integrity management
  • Finansapplikationer

Varför använda blockkedja?

  • Data-integritet?
  • Transaktions-integritet?
  • För att det är hippt?

Blockkedjeteknik finns i flera smaker, så vilken passar just ditt scenario?

  • Konfidentialitet?
  • Decentralisering?
  • Dataintegritet?
  • Skalbarhet?
  • Säkerhet?

Diverse översiktliga anropsdiagram för att demonstrera tidigare projekt hos bolaget.

Ofta måste man välja implementation efter vilka krav ovan som är viktiga. Ingen lösning erbjuder alla 5.

Det går inte att uppdatera enskilda poster, utan enda sättet är att deploya en ny version av posten.

Ofta bäst att använda en hybridlösning av blockkedjor och traditionella databaser.

TRETTONDE SÖNDAGEN EFTER TREFALDIGHET – Medmänniskan

GT Jer 38:7-13

Nubiern Eved-Melek, en hovman som befann sig i kungapalatset, fick höra att de hade kastat Jeremia i brunnen. Kungen satt då i Benjaminporten, 8och Eved-Melek lämnade kungapalatset för att gå och tala med kungen: 9”Min herre och konung, det som dessa män har gjort mot profeten Jeremia är ett svårt brott. De har kastat honom i brunnen, och där kommer han att svälta ihjäl. Det finns ju inte längre något bröd i staden.”

10Kungen gav då nubiern Eved-Melek denna befallning: ”Ta med dig tre män härifrån och dra upp profeten Jeremia ur brunnen innan han dör.” 11Eved-Melek tog med sig männen till klädkammaren i kungapalatsets förråd. Där hämtade de trasor av gamla utslitna kläder och firade ner dem till Jeremia i brunnen med rep. 12Nubiern Eved-Melek ropade till Jeremia: ”Lägg klädtrasorna i armhålorna, under repen!” Jeremia gjorde så, 13och de drog upp honom med repen ur brunnen. Men Jeremia måste stanna på vaktgården.

Epistel Rom 12:16-21

Bemöt alla lika och håll er inte för goda att umgås med dem som är ringa. Var inte självkloka. 17Löna inte ont med ont. Tänk på vad som är riktigt för alla människor. 18Håll fred med alla människor så långt det är möjligt och kommer an på er. 19Ta inte rätten i egna händer, mina kära, utan låt Guds vrede ha sin gång, ty det står skrivet: Min är hämnden, jag skall utkräva den, säger Herren. 20Men är din fiende hungrig, ge honom att äta; är han törstig, ge honom att dricka. Då samlar du glödande kol på hans huvud. 21Låt dig inte besegras av det onda, utan besegra det onda med det goda.

Evangelium Matt 7:12

Allt vad ni vill att människorna skall göra för er, det skall ni också göra för dem. Det är vad lagen och profeterna säger.

Psaltarpsalm Ps 103:1-6

Av David. Lova Herren, min själ, hela mitt jag vill prisa hans heliga namn! 2Lova Herren, min själ, minns allt det goda han gör: 3han förlåter alla mina synder och botar alla mina sjukdomar, 4han räddar mig från graven och kröner mig med nåd och barmhärtighet, 5han fyller mitt liv med allt gott, och jag blir ung på nytt som en örn. 6Herren handlar rättfärdigt och ger de förtryckta deras rätt.

Migrerat från Hägglund.com med tillstånd.

TOLFTE SÖNDAGEN EFTER TREFALDIGHET – Friheten i Kristus

GT 2 Mos 23:10-12

Sex år skall du beså din jord och bärga dess gröda, 11men det sjunde året skall du låta marken vila och ligga i träda. Då kan de fattiga i ditt folk få sin föda från den. Det som blir över kan de vilda djuren äta. Så skall du också göra med din vingård och dina olivträd.

12Sex dagar skall du arbeta, men den sjunde dagen skall du upphöra med arbetet, så att din oxe och åsna får vila och slavkvinnans son och invandraren får hämta krafter.

Epistel Gal 4:31-5:6

Alltså, bröder, är vi inte barn till en slavinna utan till den fria kvinnan. 5 1Till den friheten har Kristus befriat oss. Stå därför fasta, och låt ingen lägga på er slavoket igen. Rättfärdighet utan omskärelse

2Hör på vad jag säger er, jag Paulus: om ni låter omskära er har ni ingen nytta alls av Kristus. 3Jag försäkrar er igen: var och en som låter omskära sig är skyldig att hålla hela lagen. 4Ni är utestängda från Kristus, ni som söker er rättfärdighet i lagen; ni har hamnat utanför nåden. 5Ty vi väntar oss i vår ande att genom tron vinna den rättfärdighet som är vårt hopp. 6I ett liv med Kristus Jesus kommer det inte an på omskärelse eller förhud, utan på tron, som får sitt uttryck i kärlek.

Evangelium Mark 2:23-28

En sabbat tog han vägen genom sädesfälten, och lärjungarna började rycka av ax medan de gick. 24Då sade fariseerna till honom: ”Varför gör de sådant på sabbaten som inte är tillåtet?” 25Han svarade: ”Har ni aldrig läst vad David gjorde när han och hans män blev hungriga och inte hade något att äta? 26Han gick in i Guds hus – det var när Evjatar var överstepräst – och åt upp skådebröden, som inga andra än prästerna får äta, och gav också dem som var med honom.” 27Och Jesus sade till dem: ”Sabbaten blev till för människan och inte människan för sabbaten. 28Alltså är Människosonen herre också över sabbaten.”

Psaltarpsalm Ps 145:13b-18

Gud håller sina löften, kärleksfull i allt han gör. 14Herren stöder dem som vacklar, han rätar krökta ryggar. 15Allas ögon är vända mot dig, och du ger dem föda i rätt tid. 16Du öppnar din hand och stillar allt levandes hunger. 17Rättfärdig är Herren i alla sina gärningar, kärleksfull i allt han gör. 18Herren är nära alla som ropar, alla som av hjärtat ropar till honom.

Migrerat från Hägglund.com med tillstånd.

ELFTE SÖNDAGEN EFTER TREFALDIGHET – Tro och liv

GT Jes 1:10-17

Lyssna till Herrens ord, sodomfurstar! Hör vad vår Gud har att säga, gomorrafolk! 11Vad skall jag med alla era slaktoffer? säger Herren. Jag är mätt på brännofferbaggar och gödkalvars fett, jag vill inte ha blodet från tjurar och lamm och bockar. 12Vem har begärt detta av er när ni träder fram inför mig, ni som trängs på mina förgårdar? 13Kom inte med era meningslösa gåvor, jag avskyr offerröken. Nymånad, sabbat, högtidssamling – jag tål inte falskhet och fest. 14Jag hatar era högtider och nymånadsfester, de har blivit en börda för mig, som jag inte orkar bära.

15När ni lyfter era händer i bön vänder jag bort blicken. Hur mycket ni än ber lyssnar jag inte. Ni har blod på händerna. 16Tvätta er, rena er! Låt mig slippa se era illdåd. Sluta göra det onda 17och lär er göra det goda. Sträva efter rättvisa, stöd den förtryckte. För den faderlöses talan, skaffa änkan rätt.

Epistel Jak 1:22-25

Bli ordets görare, inte bara dess hörare, annars tar ni miste. 23Den som hör ordet men inte gör vad det säger, han liknar en man som i en spegel betraktar sitt eget ansikte: 24han ser sig själv men går därifrån och har strax glömt hur han såg ut. 25Men den som har blickat in i den fullkomliga lagen, frihetens lag, och håller sig till den och inte glömmer vad han hört utan verkligen gör något, han blir salig genom det han gör.

Evangelium Matt 23:1-12

Sedan talade Jesus till folket och sina lärjungar 2och sade: ”De skriftlärda och fariseerna har satt sig på Moses stol. 3Gör därför allt vad de lär er och håll fast vid det, men handla inte som de gör, för de säger ett och gör ett annat. 4De binder ihop tunga bördor och lägger dem på människornas axlar, men själva rör de inte ett finger för att rätta till dem. 5Allt vad de företar sig gör de för att människorna skall lägga märke till dem. De skaffar sig breda böneremsor och stora manteltofsar. 6De tycker om att ha hedersplatsen på gästabuden och sitta främst i synagogan, 7och de vill bli hälsade på torgen och kallas rabbi av alla människor. 8Men ni skall inte låta er kallas rabbi, ty en är er läromästare och ni är alla bröder. 9Ni skall inte kalla någon här på jorden för er fader, ty en är er fader, han som är i himlen. 10Inte heller skall ni låta er kallas lärare, ty en är er lärare, Kristus. 11Den som är störst bland er skall vara de andras tjänare. 12Den som upphöjer sig skall bli förödmjukad, och den som ödmjukar sig skall bli upphöjd.

Psaltarpsalm Ps 143:6-10

Jag sträcker mina händer mot dig, öppnar mig som törstig jord. 7Herre, skynda att svara mig, jag orkar inte mer. Dölj inte ditt ansikte för mig, då blir jag lik dem som lagts i graven. 8Låt mig var morgon möta din trofasthet, ty jag förtröstar på dig. Visa mig den väg jag skall gå, jag sätter mitt hopp till dig. 9Herre, rädda mig från mina fiender, jag flyr till dig. 10Lär mig att göra din vilja, ty du är min Gud. Må din goda ande leda mig på jämn mark.

Migrerat från Hägglund.com med tillstånd.

TIONDE SÖNDAGEN EFTER TREFALDIGHET – Nådens gåvor

GT Jos 24:16-18

Folket svarade: ”Aldrig någonsin skall vi överge Herren och tjäna andra gudar. 17Herren är vår Gud. Det var han som förde oss och våra fäder ut ur Egypten, ut ur slavlägret, han som inför våra ögon gjorde dessa stora tecken. Han skyddade oss under hela vår vandring och bland alla de folk genom vilkas land vi drog fram. 18Herren jagade undan alla folken för oss, även amoreerna som bodde i landet. Också vi vill tjäna Herren. Han är vår Gud.”

Epistel 1 Kor 12:4-11

Nådegåvorna är olika, men Anden densamma. 5Tjänsterna är olika, men Herren densamme. 6Verksamheterna är olika, men Gud är densamme, han som verkar i allt och överallt. 7Hos var och en framträder Anden så att den blir till nytta. 8Den ene får genom Anden gåvan att meddela vishet, den andre kan med samma Andes hjälp meddela kunskap. 9En får tron genom Anden, en annan genom samma Ande gåvan att bota, 10en annan får kraft att göra under. En får förmågan att tala profetiskt, en annan att skilja mellan olika andar. En kan tala olika slags tungotal, en annan kan tolka tungotal. 11Allt detta åstadkommer en och samma Ande genom att fördela sina gåvor på var och en så som den själv vill.

Evangelium Luk 9:46-48

De började undra vem som var den störste av dem. 47Jesus, som visste vad de tänkte i sina hjärtan, tog ett barn och ställde det bredvid sig 48och sade till dem: ”Den som tar emot detta barn i mitt namn, han tar emot mig, och den som tar emot mig, han tar emot honom som har sänt mig. Ty den som är minst av er alla, han är stor.”

Psaltarpsalm Ps 28:6-9

Lovad vare Herren, ty han har hört min bön. 7Herren är min styrka, min sköld, på honom förtröstar jag. Jag fick hjälp och mitt hjärta jublar, hela min varelse tackar honom. 8Herren är sitt folks styrka, sin smordes tillflykt och räddning. 9Rädda ditt folk och välsigna din egendom. Var deras herde, bär dem för evigt.

Migrerat från Hägglund.com med tillstånd.

NIONDE SÖNDAGEN EFTER TREFALDIGHET – Goda förvaltare

GT Am 8:4-7

Hör detta, ni som trampar på de fattiga och utrotar de svaga i landet! 5Ni säger: ”När är nymånadsfesten över så att vi kan sälja säd, och sabbaten så att vi får öppna kornboden? Då skall vi minska måtten och lägga på priserna och fuska med vågen, 6köpa de fattiga för pengar och de nödställda för ett par skor och sälja spillet som säd.” 7Herren har svurit vid Jakobs stolthet att aldrig glömma något de gjort.

Epistel 2 Tim 4:1-7

Jag besvär dig vid Gud och Kristus Jesus, som skall döma levande och döda, jag besvär dig vid hans ankomst och vid hans rike: 2förkunna ordet, träd upp i tid och otid, vederlägg, tillrättavisa, vädja – tålmodigt och med ständig undervisning. 3Det kommer en tid då människorna inte längre vill lyssna till den sunda läran utan skaffar sig den ene läraren efter den andre, därför att det kliar i dem att få höra sådant som de önskar. 4De slår dövörat till för sanningen och vänder sig till legenderna. 5Men håll alltid huvudet kallt, var beredd att slita ont, gör vad som åligger en förkunnare och fullfölj din tjänst.

6Mitt eget liv utgjuts redan som ett offer, och tiden är inne då jag måste bryta upp. 7Jag har kämpat den goda kampen, jag har fullbordat loppet, jag har bevarat tron. 8Nu väntar mig rättfärdighetens segerkrans, som Herren, den rättvise domaren, skall ge mig den dagen, och inte bara mig utan alla som längtar efter hans ankomst.

Evangelium Luk 16:1-13

Han sade också till sina lärjungar: ”Det var en rik man som hade en förvaltare, och denne beskylldes för att förskingra hans förmögenhet. 2Mannen kallade till sig honom och sade: ’Vad är det jag hör om dig? Lämna in dina räkenskaper, du kan inte vara kvar som förvaltare.’ 3Förvaltaren tänkte: ’Vad skall jag göra nu när min herre avskedar mig? Gräva orkar jag inte, och tigga skäms jag för. 4Jo, jag vet vad jag skall göra så att folk tar emot mig i sina hus när jag mister min tjänst.’ 5Han skickade efter dem som var skuldsatta hos hans herre, en i sänder, och frågade den förste hur mycket han var skyldig. 6’Hundra krus olja’, svarade mannen. Då sade han: ’Här är ditt skuldebrev, sätt dig genast ner och skriv femtio.’ 7Sedan frågade han näste man: ’Och du, hur mycket är du skyldig?’ – ’Hundra tunnor vete.’ Då sade han: ’Här är ditt skuldebrev. Skriv åttio.’”

8Och Herren berömde den ohederlige förvaltaren för att han hade handlat klokt. ”Denna världens människor beter sig klokare mot sina egna än ljusets människor gör. 9Ja, jag säger er: använd den ohederliga mammon till att skaffa er vänner som tar emot er i evighetens hyddor när mammon lämnar er i sticket.

10Den som är trogen i smått är trogen också i stort, och den som är ohederlig i smått är ohederlig också i stort. 11Om ni inte har varit trogna i fråga om den ohederliga mammon, vem vill då anförtro er det som har verkligt värde? 12Och om ni inte har varit trogna i fråga om andras egendom, vem vill då ge er det som skall tillhöra er?

13Ingen tjänare kan tjäna två herrar. Antingen kommer han att hata den ene och älska den andre eller att hålla fast vid den ene och inte bry sig om den andre. Ni kan inte tjäna både Gud och mammon.”

Psaltarpsalm Ps 8

För körledaren. En psalm av David. 2Herre, vår härskare, väldigt är ditt namn över hela jorden. Jag vill besjunga din himmelska prakt 3med ett barns, ett dibarns mun. Du har rest ett värn mot dina fiender för att betvinga ovän och hämnare. 4När jag ser din himmel, som dina fingrar format, månen och stjärnorna du fäste där, 5vad är då en människa att du tänker på henne, en dödlig att du tar dig an honom? 6Du gjorde honom nästan till en gud, med ära och härlighet krönte du honom. 7Du lät honom härska över dina verk, allt lade du under hans fötter: 8får och oxar, all boskap, och markens vilda djur, 9himlens fåglar och havets fiskar, allt som vandrar havets stigar. 10Herre, vår härskare, väldigt är ditt namn över hela jorden.

Migrerat från Hägglund.com med tillstånd.

ÅTTONDE SÖNDAGEN EFTER TREFALDIGHET – Andlig klarsyn

GT Jer 7:1-7

Detta ord kom till Jeremia från Herren: 2Ställ dig i porten till Herrens hus. Där skall du ropa ut detta budskap:

Hör Herrens ord, alla från Juda som går in genom dessa portar för att tillbe Herren! 3Så säger Herren Sebaot, Israels Gud: Ändra era liv och era gärningar, så skall jag bo bland er på denna plats. 4Lita inte på lögner som ”Här är Herrens tempel, Herrens tempel, Herrens tempel.” 5Men om ni verkligen ändrar era liv och era gärningar, om ni handlar rätt mot varandra, 6om ni inte förtrycker invandraren, den faderlöse och änkan, inte låter oskyldigt blod flyta på denna plats och inte skadar er själva genom att följa andra gudar, 7då skall jag bo bland er på denna plats, i det land som jag gav åt era fäder från urminnes tid och för all framtid.

Epistel Rom 8:14-17

Alla som leds av ande från Gud är Guds söner. 15Ni har inte fått en ande som gör er till slavar så att ni måste leva i fruktan igen; ni har fått en ande som ger söners rätt så att vi kan ropa: ”Abba! Fader!” 16Anden själv vittnar tillsammans med vår ande om att vi är Guds barn. 17Men är vi barn, då är vi också arvingar, Guds arvingar och Kristi medarvingar, om vi delar hans lidande för att också få dela hans härlighet.

Evangelium Matt 7:13-14

Gå in genom den trånga porten. Ty den port är vid och den väg är bred som leder till fördärvet, och det är många som går in genom den. 14Men den port är trång och den väg är smal som leder till livet, och det är få som finner den.

Psaltarpsalm Ps 119:30-35

Sanningens väg har jag valt, dina lagar har jag för ögonen. 31Jag håller mig till dina lagbud, svik mig inte, o Herre. 32Jag löper den väg dina bud visar, ty du har vidgat min insikt. 33Visa mig, Herre, dina stadgars väg, och jag skall följa den till slutet. 34Ge mig förstånd att lyda din lag, att hålla den helt och fullt. 35Led min vandring efter dina bud, den stigen går jag med glädje.

Migrerat från Hägglund.com med tillstånd.