Welcome to my spot on the Internet!

Hi! My name is Tom Desair (but you probably figured that out already) and this site is about me, my personal thoughts, experiences I want to share and technical stuff that I find interesting. If you want to know more about me or if you want to contact me, make sure to check out the About Me and Contact pages.

I like to blog about many different things but most posts are related to computer science/programming or photography. In this post I explain my main motivation for creating this website. I suggest you read it if you want to better understand the purpose of this site.

Furthermore there will be pages about projects I did or participated in, but these are still under construction. An example is the page about my bachelor’s thesis. I also have a separate blog feed about my master’s thesis (in Dutch).

Happy surfing and don’t hesitate to contact me!

Tom.

BlackFox UV Pro Filter Review

Today I received the BlackFox UV Pro Filter I ordered from Amazon for my new Sony Alpha A57. I’ll write a quick review based on my first impression. The BlackFox UV Pro Filter is a multi-coated (16x) UV protection filter. The multi-coating (MC) is important to prevent reflections and flares in your images and to keep the overall image quality. The filter is not very expensive and great value for money.

Packaging

The filter comes in a sturdy box that offers good protection for the filter. Unfortunately the website mentioned on the side (http://www.blackfox-info.de/) is not available (at the time of writing).

Front

Front

Side

Side

Back

Back

Installing

The UV filter of BlackFox has a normal thickness. The filter feels solid and fits nicely in the lens of the camera.

Thickness of the BlackFox UV Pro Filter

Thickness (filter sits between lens cap and lens)

 Reflection

Because this filter is a multi-coated, it should prevent reflections and keep the image quality. I compared this filter with another uncoated filter to see if there is any difference. I tested the both reflections of the sun as well as direct reflections.

Reflection of the sun (left: MC BlackFox filter, right: Uncoated filter)

Reflection of the sun (left: MC BlackFox filter, right: Uncoated filter)

Direct Reflection Test (left: MC BlackFox filter, right: Uncoated filter)

Direct Reflection Test (left: MC BlackFox filter, right: Uncoated filter)

I think it’s safe to say this filter leaves an excellent first impression. The multi-coating works very good and the filter feels very solid. I would have been better if the filter was a bit slimmer. But for this price (€ 14) it has excellent quality.

LaTeX Paragraph Spacing and Indentation

In this short post, I’ll show you how you can modify the paragraph spacing and indentation in LaTeX. Why would anyone want to change the spacing and indention? Well, if you write a text in Dutch it is customary to leave a blank line after each paragraph and to not indent a new paragraph. This is different from English texts and the default in LaTeX where you do indent new paragraphs and don’t leave a blank line at the end.

To obtain a Dutch paragraph style, you have two options:

1. The package parskip

Include the package parskip in the preamble using following command:

\usepackage{parskip}

This will automatically cancel paragraph indentation and append a blank line at the end.

2. Set the parindent en parskip length

If the previous approach doesn’t work or if you want more fine-grained control, you can manually set the length of the indentation and the height of the blank line. You can do this by putting these commands in the preamble of your document:

\setlength{\parindent}{0pt}
\setlength{\parskip}{1.3ex plus 0.5ex minus 0.3ex}

The first command sets the indentation to 0 and thus cancels paragraph indentation. The second command sets the height of the trailing blank line. This is done using the LaTeX measure ex. One ex corresponds to the height of a lowercase ‘x’ in the current font style. I use 1.3 because I want the height of a capital letter. The “plus 0.5ex minus 0.3ex” part tells LaTeX that it can increase the height with at most 0.5ex and decrease it with maximum 0.3ex to make a decent layout. This means that the minimal height of the blank line is 1ex and the maximum 1.8ex.

And that’s it! Using one of these two options you can change the paragraph spacing and indentation in LaTeX.

The source (in Dutch) I used which has much more LaTeX tips: http://www.ntg.nl/doc/oostrum/latexhnd.pdf (846.7 kB)

How To: Create your CV in LaTeX

Currently I’m in my graduating year so I had to get my CV ready. And of course, I wanted to write it in \LaTeX. Today I’m summarizing my findings in this small how to on creating your CV in \LaTeX. There are really tons of packages and templates to create a CV. So there is no point in developing a package of my own (it’s a bit stupid to reinvent the wheel). I’ve searched and looked at a lot of PDFs and templates and I think I finally found my favorite: Moderncv.

Moderncv is a \LaTeX document class for typesetting curriculum vitaes in various styles. It’s created by Xavier Danaux who is also the main maintainer. In my opinion it is one of the best tools out there to create your CV and has received far too little attention. The template that is included in the download is self-explanatory but I’ll list some quick pointers and tips:

  • Use the \LaTeX commands \section{} and \subsection{} to give structure to your CV.
  • The document class has following color options: blue, orange, green, red, purple, grey and black. You can also define your own colors for the sections and symbols with the commands:
    \definecolor{sectionrectanglecolor}{rgb}{0.2,0.0,0.4}
    \definecolor{sectiontitlecolor}{rgb}{0.2,0.0,0.4}
    \definecolor{subsectioncolor}{rgb}{0.2,0.0,0.4}
    \definecolor{footersymbolcolor}{rgb}{0.2,0.0,0.4}

    Remark: it’s best to use web-safe colors.
  • It also allows you to type-set your motivation letter, very useful!
  • I use the \cvdoubleitem{} command to list specific skills in a compact way. For example:
    \cvdoubleitem{\textbf{Programming Languages}}{C, C++, Java, Prolog, Scala, Go}
    {\textbf{Web}}{HTML, CSS, PHP, JavaScript, JSP}
  • Be sure not to use more than two pages and put the most important things at the top.
You can download a censored version of my CV as an example. Do you have other suggestions for nice \LaTeX CV packages? Or any other remark? Don’t hesitate to leave a comment bellow!

 

The Internet A Decade Later

I just wanted to share an infographic by BestEdSites.com with you:

Continue reading

De voordelen van cloud computing: het business-plaatje

Een blij wolkje, thanks to http://mezzoblue.com

Redenen om blij te worden

Nu dat we weten wat cloud computing is, zou ik het graag even hebben over de voordelen ervan. Waarom zou iemand cloud computing gebruiken of waarom juist niet? Op deze vragen probeer ik in deze en een volgende blogpost een antwoord te formuleren. Vandaag bekijken we de (business) voordelen van cloud computing [1, 2, 3, 4, 5]. Wat heeft een cloud te bieden aan zijn gebruikers en leveranciers en wat zijn de motivaties voor beiden om voor cloud computing te kiezen?:

Pay-per-use”: Het belangrijkste voordeel is het “pay-per-use” betalingsschema, soms ook aangeduid met “pay-as-you-go”. Een klant moet enkel betalen voor hetgeen hij verbruikt heeft binnen een bepaalde tijdsperiode. Bovendien moet dit verbruik niet uniform verdeeld zijn over de tijd. Zo kost het evenveel om 100 (virtuele) computers gedurende één uur te laten rekenen als één computer gedurende honderd uren. Je kan dit vergelijken met een huurmodel. De huurprijs gaat meestal per uur, per byte of per CPU-cyclus. Een neveneffect hiervan is dat het programmeurs aanspoort om efficiënter te programmeren (efficiëntere code => minder CPU cyclussen => minder kosten) wat ook de schaalbaarheid van de applicatie ten goede komt.

De gemiddelde ‘huurprijs’ per uur van één virtuele server in een cloud ligt meestal hoger dan als je zelf investeert in de aankoop van hardware voor een gelijkaardige server [2]. Waarom zou je dan kiezen voor cloud computing als het duurder is? Enerzijds omdat een applicatie meestal niet van elk IT-middel (bandbreedte, rekenkracht of opslagcapaciteit) evenveel gebruik maakt. Omdat je enkel moet betalen wat je gebruikt, kan het goedkoper uitkomen. Andere redenen liggen in de verschillende andere voordelen die cloud computing biedt. De meesten hiervan zijn een gevolg van dit “pay-per-use” betalingsschema.

Geen initiële investering of verbintenis nodig: Naast “pay-per-use” is een ander groot voordeel het ontbreken van een initiële investeringskost en een lange verbintenis aan een bepaalde leverancier. Hierdoor kunnen ook kleine bedrijven eenvoudig beschikken over een hoogwaardige IT-infrastructuur om hun applicaties op te draaien met een beperkter risico (zie verder). Veel innovatieve bedrijven zoals bijvoorbeeld Dropbox hebben hun bestaan hieraan te danken. Het ontbreken van een initiële investering maakt het ook mogelijk om sneller applicaties beschikbaar te stellen (kleinere “time-to-market”) of sneller te reageren op een veranderende markt (bv. de opkomende mobiele applicaties).

Dankzij de lage instapkosten biedt cloud computing ook veel potentieel voor derdewereldlanden. Zo besteedde de regering van Ethiopië het beheer van 250 000 laptops voor het onderwijssysteem uit aan een cloud dienstenleverancier 1. De laptops zijn allen verbonden met een cloudplatform waardoor ze eenvoudig studentengegevens en lesmateriaal kunnen delen zonder dat er een duur en performant datacentrum voor gebouwd moest worden. Vanuit het centrale beheer van de dienstenleverancier worden ook telkens de laatste nieuwe software en lespakketten beschikbaar gesteld.

Overdragen van risico’s: Een derde belangrijk voordeel is dat de klant verschillende grote risico’s overdraagt naar zijn dienstenleverancier. Deze voordelen zijn vooral van belang indien de klant het cloudplatform van de dienstenleverancier gebruikt om zelf applicaties ter beschikking te stellen. Om de voordelen te illustreren, beschouw ik het voorbeeld van een reisbureau dat een online reservatiesysteem beschikbaar stelt:

  • Het risico op ondercapaciteit: Het gebruik van het online reservatiesysteem varieert sterk in de tijd. Tijdens de periodes van de vroegboekkortingen (januari-februari) en van de last minutes (juni-juli) zijn er twee grote pieken in het aantal gebruikers. Het datacentrum van het reisbureau moet dus voldoende capaciteit hebben om deze pieken op te vangen. Indien de piek onverwachts groot is of de populariteit van het reisbureau sterk is toegenomen, zal het datacentrum overbelast geraken en zal het online reservatiesysteem tijdelijk niet beschikbaar zijn. Hierdoor zullen verschillende klanten niet bediend kunnen worden waardoor ze mogelijk (permanent) naar de concurrentie gaan. We maken niet rechtstreeks verlies maar we hebben wel een grote opportuniteitskost. Cloud computing laat echter toe om heel snel en dynamisch en soms ook automatisch de IT-capaciteit te doen toenemen. En door de (schijnbaar) oneindige beschikbare capaciteit van een cloud, kan elke piek worden opgevangen.
  • Het risico op overcapaciteit: Buiten de piekperiodes of door een daling van de populariteit heeft ons reisbureau echter weinig online reservaties. Veel van de capaciteit van het datacentrum wordt niet gebruikt ondanks dat het wel bijdraagt aan de kosten voor onderhoud, elektriciteit, koeling… Bovendien kan het geld dat geïnvesteerd werd in de (over)capaciteit van het datacentrum nu niet ergens anders voor gebruikt worden. We zouden het datacentrum kunnen afbouwen, maar het vervroegd afschrijven van de servers brengt ook een kost met zich mee. In het cloud computing model is het niet alleen mogelijk om snel de IT-capaciteit te doen toenemen, maar ook om deze kosteloos (en soms ook automatisch) te doen afnemen als de piek voorbij is. Op deze manier neemt cloud computing het risico op overcapaciteit weg.
  • Het risico op hardware problemen: Ook het risico op hardware die het laat afweten, wordt bij de dienstenleverancier gelegd. Het is zijn verantwoordelijkheid om zijn dienst, en bijgevolg ook het online reservatiesysteem van het reisbureau, beschikbaar te houden volgens de overeengekomen SLA (Service-Level Agreement).
  • Het risico op cyberaanvallen: Gelijkaardig aan het vorige risico, is het de verantwoordelijkheid van de dienstenleverancier om cyberaanvallen die de goede werking van de dienst in gevaar brengen, af te wenden. Een cloud dienstenleverancier zal meestal ook gespecialiseerde software en hardware gebruiken om dergelijke gevallen te voorkomen. Een kanttekening die ik hierbij moet maken, is dat een cloud dienstenleverancier mogelijk de applicatie van een klant offline haalt om de applicaties van zijn andere klanten die op dezelfde cloud (en dus hardware) werken, te beschermen.

Het overdragen van risico’s brengt een zekere kost met zich mee. Het is ook hierdoor dat de gemiddelde huurprijs van een virtuele server in een cloud meestal hoger ligt dan de gemiddelde kost van de eigen servers. Maar omdat cloud dienstenleverancier op zeer grote schaal werken, kunnen kleine tot middelgrote bedrijven met een eigen datacentrum nooit hetzelfde niveau van bescherming en beschikbaarheid halen.

Eenvoudige toegang: Cloud gebaseerde applicaties in het SaaS model zijn altijd en overal ter wereld beschikbaar, iets wat voor hun lokale tegenhangers zeker niet altijd geldt. Omdat de documenten die deze cloud applicaties gebruiken zich ook in de cloud bevinden, is het delen van of samenwerken aan deze documenten veel eenvoudiger.

Economy of scale: Als je een dienst beschikbaar maakt via de cloud (eventueel gebruikmakend van een dienst van een andere cloudleverancier), is het beheer van je applicatie veel eenvoudiger en is de potentiële markt veel groter. Bovendien ontwikkel je je applicatie best zodat het gebruik ervan zo weinig mogelijk interactie vraagt met jou als dienstleverancier. Hierdoor kan je veel meer klanten (op een automatische manier) bedienen wat zorgt voor meer winst dankzij “economy of scale”. Bovendien is het dan mogelijk om je dienst goedkoper aan te bieden met een kleinere winstmarge. Dit samen met de lage instapkosten dankzij het pay-per-use betalingsschema, zorgt voor nog meer klanten die voordien een dergelijke dienst niet konden veroorloven (deze groep klanten wordt ook wel “the long tail” genoemd). Uiteindelijk levert dit nog meer schaalvoordelen op.

Eenvoudigere ontwikkeling, beheer en levering: Bij de ontwikkeling van on-premises software (software die bij de klant geïnstalleerd wordt), is de diversiteit aan hardware, besturingssystemen en applicatieomgevingen een factor die leidt tot extra moeilijkheden. Maar ook deze IT-infrastructuur en de besturingssystemen moeten worden onderhouden. Elke update aan één van deze systemen heeft gevolgen voor alle applicaties die op deze systemen steunen met mogelijk extra aanpassingen en uitgebreide tests tot gevolg. SaaS applicaties zijn specifiek ontwikkeld voor één cloudplatform waardoor de diversiteitsmoeilijkheden verdwijnen. Daarnaast kunnen updates aan SaaS applicaties eenvoudiger worden uitgevoerd en zijn deze automatisch beschikbaar voor alle klanten. Ook in het IaaS en PaaS model worden nieuwe hardware- en softwaretechnologieën automatisch beschikbaar als deze door de dienstenleverancier geïnstalleerd worden.

Beperken van de ecologische voetafdruk: Cloud computing steunt op het gedeeld gebruik van IT-middelen. Hierdoor zijn er in het totaal minder IT-middelen nodig en dus ook minder energieverbruik. Bovendien is het ook goedkoper en energiezuiniger om data en berekeningen te transporteren dan het transporteren van de energie nodig voor die berekeningen [1, 2].

Enorme rekenkracht: Een laatste belangrijk voordeel van cloud computing is het feit dat het kleine en middelgrote bedrijven in staat stelt om zeer complexe en rekenintensieve bedrijfsanalyses of data mining uit te voeren zonder een grote investering in de benodigde hardware. Indien de berekeningen gemakkelijk paralleliseerbaar zijn, kunnen ze bovendien ook in veel kortere tijd worden uitgevoerd (bv. je verdeelt de berekening over 100 virtuele servers die je 1 uur huurt).

Elke van deze voordelen kan een argument zijn om voor cloud computing te kiezen. Maar er zijn ook verschillende redenen om niet voor cloud computing te kiezen. Dat is dan ook het onderwerp voor mijn volgende post waarin ik de belangrijkste valkuilen van de cloud zal bespreken. Heb ik iets over het hoofd gezien en weet je zelf nog andere voordelen van cloud computing? Of nog andere opmerkingen of suggesties? Twijfel dan niet om onderaan een berichtje achter te laten!

Referenties

[1] S. Marston, Z. Li, S. Bandyopadhyay, J. Zhang, and A. Ghalsasi, “Cloud computing – The business perspective,” Decis. Support Syst., vol. 51, pp. 176 – 189, Apr. 2011.

[2] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski, G. Lee, D. A. Patterson, A. Rabkin, I. Stoica, and M. Zaharia, “Above the clouds: A berkeley view of cloud computing,” Feb 2009.

[3] Q. Zhang, L. Cheng, and R. Boutaba, “Cloud computing: state-of-the-art and research challenges,” Journal of Internet Services and Applications, vol. 1, pp. 7 – 18, May 2010.

[4] B. Hayes, “Cloud computing,” Commun. ACM, vol. 51, pp. 9 – 11, July 2008.

[5] F. Chong and G. Carraro, “Architecture strategies for catching the long tail,” tech. rep., Microsoft Corporation, 2006. http://msdn.microsoft.com/en-us/library/aa479069.aspx.

Wat is cloud computing?

Zoals beloofd in mijn vorige post, ga ik vandaag wat dieper in op de betekenis van cloud computing. Er is veel discussie omtrent de exacte betekenis van cloud computing. De hoofdreden voor deze verwarring is het feit dat, in tegenstelling tot vele andere technische termen, cloud computing op zich geen nieuwe technologie is maar eerder een nieuwe manier om bestaande technologieën te combineren en te gebruiken [1]. Het is een fenomeen dat een antwoord vormt op de lang verwachte 1 droom van computer-berekeningen als een nutsvoorziening (“computing as a utility”). Dit houdt in dat rekenkracht op aanvraag, in “oneindige” hoeveelheden en op elk willekeurig tijdstip beschikbaar is net zoals elektriciteit of water uit de kraan. Dit geeft cloud computing het potentieel om op fundamentele wijze de manier waarop we vandaag omgaan met het ontwerpen, ontwikkelen, installeren, schalen, updaten, onderhouden en aankopen van software te veranderen [2, 3].

Omdat cloud computing een vaag omschreven concept is, is het belangrijk om in mijn thesis een goede definitie van cloud computing te hebben. Op basis van verschillende bronnen [2, 4, 5, 6], hanteer ik volgende definitie:

Cloud computing is een informatietechnologie (IT) dienst-verleningsmodel waarin over het netwerk beschikbare IT-middelen – zoals netwerken, servers, opslagcapaciteit, software, ontwikkelingsplatformen en diensten – via een cloud op aanvraag en dynamisch zeer snel kunnen worden aangeleverd of vrijgegeven en dit met een minimale inspanning van zowel de klant als de dienstverlener. Bovendien betaalt de klant enkel voor de verbruikte IT-middelen zonder een voorafgaande verbintenis of investering. Het verbruik wordt hierbij door de dienstverlener gemeten in een overeengekomen meeteenheid (uren, megabyte, CPU cyclussen. . . ).

Een cloud is een parallel en gedistribueerd systeem waarin via virtualisatie technieken met elkaar verbonden IT-middelen gedeeld worden. Hierdoor is de benutting van deze IT-middelen veel hoger en lijkt de beschikbare hoeveelheid oneindig.

Twee sterk gerelateerde paradigma’s zijn grid computing en cluster computing. Het is interessant om het verschil met cloud computing te bestuderen [6, 7]. Een cluster is een parallel en gedistribueerd systeem dat bestaat uit een verzameling van verbonden computers die samenwerken zodat ze één hoogperformante geïntegreerde entiteit vormen. Een cluster wordt beheerd door één organisatie en de nadruk ligt op performantie en data-intensieve toepassingen. Een grid is een parallel en gedistribueerd systeem dat het mogelijk maakt om geografisch verspreide IT-middelen dynamisch te delen en te combineren afhankelijk van hun beschikbaarheid, capaciteit, performantie en kost. De verschillende IT-middelen in een grid worden echter beheerd door verschillende organisaties en de nadruk ligt meer op “Quality-of-Service” en wetenschappelijke toepassingen. Zowel cluster computing als grid computing hebben eigenschappen gemeenschappelijk met cloud computing. Het belangrijkste verschil met cloud computing is dat cloud computing veel meer ondersteuning biedt voor de ontwikkeling door derden van een breed scala aan toepassingen omdat het diensten aanbiedt waarbij de onderliggende infrastructuur volledig wordt afgeschermd.

Binnen cloud computing kunnen we drie dienstenmodellen onderscheiden op basis van hun niveau van abstractie [1, 4, 5]:

  • Infrastructure as a Service (IaaS): In het IaaS model worden infrastructuur IT-middelen – zoals rekenkracht, opslag en netwerken – in een gevirtualiseerde omgeving (virtuele machines) als dienst aan de klant aangeboden. Het abstractieniveau is heel laag omdat de aangeboden diensten sterk relateren aan de onderliggende hardware. Dit biedt een grote flexibiliteit op software niveau (van besturingssystemen tot allerhande applicaties) maar een verhoogde complexiteit in het beheer door de klant (geen automatische updates, geen automatische schalering, beperkte ondersteuning voor applicatieontwikkeling. . . ). Goede voorbeelden van IaaS zijn de Amazon EC2 dienst en de onlangs geïntroduceerde Google Compute Engine dienst.
  • Platform as a Service (PaaS): Bij PaaS is de aangeboden dienst een software ontwikkelingsplatform dat ondersteuning biedt voor bepaalde programmeertalen, bibliotheken, tools en diensten en dat gericht is op een bepaald type applicatie (zoals webapplicaties, business applicaties. . . ). PaaS biedt dus een hoger abstractieniveau waardoor de flexibiliteit beperkt wordt (telkens maar één type van applicaties) maar het beheer en gebruik vereenvoudigd wordt. Het platform zorgt meestal ook voor automatische updates, schalering, installaties. . . Bekende voorbeelden van PaaS zijn het Google App Engine platform en het Force.com platform.

  • Software as a Service (SaaS): SaaS aanbieders bieden applicaties aan die overal en altijd over het Internet beschikbaar zijn. Het abstractieniveau is zeer hoog (geen relatie met de onderliggende infrastructuur) en de flexibiliteit heel laag (elke applicatie heeft immers een bepaald vastgelegd doel). Dit heeft als gevolg dat het beheer van SaaS applicaties sterk vereenvoudigd is. De aanbieder zorgt immers voor het onderhoud en de beschikbaarheid van de applicatie en bovendien is een (lokale) installatie meestal niet nodig. Enkele voorbeelden van SaaS zijn Microsoft Office 365, Smartschool en Salesforce.com.

The cloud stack consisting of IaaS, PaaS and SaaS

De cloud stack

Daarnaast kunnen we ook nog een onderscheid in implementatiemodel maken tussen publieke clouds (public clouds), privé clouds (private clouds), gemeenschap clouds (community clouds) en hybride clouds (hybrid clouds) [1, 2, 4]:

  • Een publieke cloud is een cloud die beheerd wordt door een externe dienstverlener en die via het Internet voor het grote publiek beschikbaar is. Een publieke cloud kan worden aangewend voor het snel beschikbaar maken van applicaties en diensten over het Internet zonder een grote investering te moeten doen.

  • Een privé cloud is een cloud die exclusief gebruikt en beheerd wordt door één organisatie. Een privé cloud biedt die organisatie meer controle over haar data en dezelfde voordelen als een publieke cloud (zoals een efficiënter aanwending van de IT middelen door gedeeld gebruik en dynamische schaalbaarheid), maar vergt wel een grote investering en onderhoud door die organisatie. Soms beschouwt men hier ook een subcategorie virtuele privé cloud (virtual private cloud) [2]. Een dergelijke cloud is eigenlijk een platform bovenop publieke clouds dat gebruik maakt van virtual private network (VPN) technologie om een privé cloud te vormen. In zo’n cloud worden niet enkel de servers en de software gevirtualiseerd, maar ook het netwerk op zich. Een voorbeeld is Amazon VPC.

  • Een gemeenschap cloud wordt beheerd en gebruikt door een groep van organisaties met een gemeenschappelijk doel of een bepaalde nood (zoals bijvoorbeeld verhoogde veiligheid). Een voorbeeld van een gemeenschap cloud is Apps.gov dat een IaaS dienst aanbiedt aan de federale, deelstaat- en lokale overheden van de Verenigde Staten.

  • Een hybride cloud is een mengvorm tussen een publieke cloud, een privé cloud en/of een gemeenschap cloud die via bepaalde technologieën met elkaar verbonden zijn zodat overdraagbaarheid van data en applicaties mogelijk is. Meestal worden de niet-kritische data en diensten dan overgebracht naar een publieke cloud en blijven de business kritische applicaties binnen het bedrijf op een privé cloud.

Zoals je ziet is cloud computing niet gemakkelijk eenduidig te definiëren en ik hoop dat ik wat opheldering heb kunnen brengen. In mijn volgende post bekijk ik cloud computing kort vanuit het business perspectief of met andere woorden wat de meerwaarden (en valkuilen) van cloud computing zijn. So stay tuned!

PS: Heb je suggesties, opmerkingen of andere ideeën die me kunnen helpen bij mijn thesis. Twijfel niet om een berichtje achter te laten in de commentaar onderaan!

*laatste aanpassing op 28/12/2012*

Referenties

[1] Q. Zhang, L. Cheng, and R. Boutaba, “Cloud computing: state-of-the-art and research challenges,” Journal of Internet Services and Applications, vol. 1, pp. 7–18, May 2010.

[2] S. Marston, Z. Li, S. Bandyopadhyay, J. Zhang, and A. Ghalsasi, “Cloud computing – The business perspective,” Decis. Support Syst., vol. 51, pp. 176–189, Apr. 2011.

[3] B. Hayes, “Cloud computing,” Commun. ACM, vol. 51, pp. 9 – 11, July 2008.

[4] P. M. Mell and T. Grance, “SP 800-145. The NIST definition of cloud computing,” tech. rep., Gaithersburg, MD, United States, 2011.

[5] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski, G. Lee, D. A. Patterson, A. Rabkin, I. Stoica, and M. Zaharia, “Above the clouds: A berkeley view of cloud computing,” Feb 2009.

[6] R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, and I. Brandic, “Cloud computing and emerging it platforms: Vision, hype, and reality for delivering computing as the 5th utility,” Future Generation Computer Systems, vol. 25, no. 6, pp. 599 – 616, 2009.

[7] G. Coulouris, J. Dollimore, T. Kindberg, and G. Blair, Distributed Systems: Concepts and Design. USA: Addison-Wesley Publishing Company, 5th ed., 2011.

Notes:

  1. Het eerste idee hierover ontstond al in de jaren zestig in het boek “The Challenge of the Computer Utility” door D. F. Parkhill

Masterproef Takeoff

Verbonen cloud platformen

Verbonden cloud platformen

Het academiejaar is vandaag officieel begonnen wat betekent dat mijn masterproef nu echt van start gaat. Ik heb ook besloten om een blog over mijn masterproef bij te houden waarin ik kan schrijven over mijn vooruitgang en bevindingen. Daarom wil ik in deze eerste blogpost kort even uitleggen waar mijn masterproef over gaat. Ik ga niet elk (technisch) onderwerp in detail behandelen, maar in de volgende berichten ga ik dieper in op alle aspecten van mijn thesis.

Cloud computing en SaaS

Cloud computing is een nieuw paradigma waarin computer berekeningen worden aangeboden als een nutsvoorziening. Een cloud provider biedt via het internet opslagruimte, netwerkbandbreedte en computer berekeningscyclussen (allen mogelijk in een sterk geabstraheerde vorm) ‘te huur’ aan. Bovendien kan je bij elk van deze drie over een willekeurige hoeveelheid beschikken. Dit is een zeer ruwe definitie en cloud computing is eigenlijk nog veel meer, maar voor wat ik hier wil uitleggen volstaat dit. Ik zal de definitie van cloud computing meer in detail behandelen in een andere post.

SaaS staat voor ‘Software as a Service‘ en is een vorm van cloud computing waarbij een cloud provider software applicaties aanbiedt als (online) diensten en waarbij een gebruiker enkel betaalt voor zijn verbruik (‘pay-per-use’). Je kan bij SaaS dus ook van een soort ‘huur’-model spreken. Voorbeelden van SaaS applicaties zijn web e-mail, online digitale schoolplatformen, online office programma’s… Als SaaS applicatie-ontwikkelaar kan je gebruik maken van cloud platformen (‘Platform as a Service’) van een andere cloud provider die het ontwikkelen en beschikbaar maken van je applicatie vergemakkelijkt.

Migratie van SaaS applicaties

De officiële werktitel van mijn thesis is momenteel ‘Migratie van SaaS applicaties’. In mijn thesis zal ik onderzoeken hoe je  een SaaS applicatie moet ontwikkelen zodat je deze gemakkelijk van het ene cloud platform naar het andere kan migreren. Op deze manier ben je niet afhankelijk van een bepaalde cloud provider (verkoper). Bovendien moet het dan ook mogelijk zijn om een SaaS applicatie in de cloud ook terug lokaal op je eigen servers te brengen (en omgekeerd).

Migratie is een zeer ruim onderwerp en in een later stadium kan ik nog verschillende andere pistes uitwerken:

  • Dynamische migratie: Afhankelijk van de belasting die je lokale online dienst te verwerken krijgt, kan de applicatie dynamisch migreren naar een publieke cloud om zo over meer capaciteit te beschikken en de piek te kunnen opvangen.
  • Multi-Cloud model: Indien een applicatie eenvoudig op verschillende cloud-platformen kan geïnstalleerd worden, zal het ook mogelijk zijn om deze verschillende instanties van de applicatie met elkaar te laten samenwerken over de verschillende clouds heen. Zo zal de applicatie toch online blijven ook al gaat één van de gebruikte clouds offline.
  • Gedeeltelijke migratie: In plaats van de volledige applicatie naar een andere cloud te migreren, zouden we ook enkel bepaalde delen ervan kunnen overplaatsen. Zo zouden we er dan voor kunnen kiezen om de vertrouwelijke gegevens en processen (bv. facturatie) op onze eigen lokale servers te behouden terwijl we de andere gegevens en processen (bv. het tonen van de catalogus) op een cloud uitvoeren.

In een volgende blogpost ga ik dieper in op wat cloud computing en SaaS nu juist zijn en wat de (business) voordelen ervan zijn. Dus hopelijk tot de volgende keer!

Prolong the Life of your Lithium Batteries

This post is an update of a post I published on my previous blog. I summarize some tips to prolong the life of your gadget’s batteries based on various articles.

The baseline is that the speed by which lithium-ion ages is governed by temperature and state-of-charge. Based on this observation, there are following Do’s and Don’ts:

  • Don’t discharge the battery every time to (nearly) 0%: The discharge should go ideally to around 50%. This gives you the longest total battery life. Following table of Battery University illustrates this:
Depth of discharge Discharge cycles Total battery life (1 full cycle = 2,5h)
100% 300 – 500 750h – 1250h
50% 1200 – 1500 1500h – 1875h
25% 2000 – 2500 1250h – 1562,5h
10% 3750 – 4700 937,5h – 1175h
  • Don’t leave it fully charged and plugged in: Every battery constantly leaks some of its power. When you leave your battery plugged in, it will recharge a little amount of leaked power over and over again, each time triggering a new cycle. These consecutive very short cycles are very bad for your battery’s health.
  • Most gadget batteries should be calibrated by applying a deliberate full discharge once every 30 charges (every month): You can do this by running the battery down in the equipment. If you neglect to do this, the battery metering will become increasingly less accurate and in some cases cut off the device prematurely.
  • Keep the lithium-ion battery cool: Avoid a hot car or leaving your gadget in the sun. For prolonged storage, keep the battery at a 40% charge level in a cool place.
  • Consider removing the battery from a laptop when running on fixed power: The worst condition is keeping a fully charged battery at higher temperatures, which is the case with running laptop batteries.
  • Avoid purchasing spare lithium-ion batteries for later use: But if you buy one, pay attention to the manufacturing date. Do not buy old stock, even if sold at clearance prices.
  • If you have a spare lithium-ion battery: Use one to the fullest and keep the other cool by placing it in the refrigerator. But do not freeze the battery! For best results, store the battery at 40% state-of-charge.

This post is based on:

Testing Wuala cloud storage (with Wuala promo codes!)

In my search for good and secure cloud storage solutions, I’m trying out Wuala. Wuala is a cloud storage provider that I already mentioned in an earlier post. They encrypt your data locally on your computer. This ensures that only you (and not even the people at Wuala) can read your files. This is because your password, used for the encryption, never leaves your computer or is stored (in any form) at the Wuala servers. Other services like Dropbox, Google Drive and Skydrive don’t do this, which makes it possible for other people to read your files and view your photos.

I’ve only recently installed Wuala and I’ll write a review later this month when I’ve used and tested it more. But I can already tell you that they have a nice application interface, very good mobile apps (excellent for photo viewing!), good OS integration with seamless folder synchronization (you don’t have to move your files to a special folder) and excellent platform support (I’ve tested Windows, Linux and Android).

If you also want to give Wuala a try, you can use following codes to get extra storage (13 GB!):

  1. Register using my referral link. You get 1 extra GB for 1 year and I 256 MB ;-).
  2. Enter the following Wuala promo codes (one-by-one) in the application under “Options” > “Options…” > “Storage” > “Wuala Codes”  and click “Redeem” to get extra storage:
    • 1000-ANSWERS (1 extra GB for 1 year)
    • CONNECT-WITH-SUPPORT (1 extra GB for 1 year)
    • I-KNOW-MARKUS (1 extra GB for 3 months)
    • I-KNOW-DOMINIK (1 extra GB for 3 months)
    • I-KNOW-CAROLA (1 extra GB for 3 months)
    • I-KNOW-FABIUS (1 extra GB for 3 months)
    • I-KNOW-LUZIUS (1 extra GB for 3 months)
    • I-KNOW-MARCEL (1 extra GB for 3 months)
    • I-KNOW-MARIUS (1 extra GB for 3 months)
    • I-KNOW-DARIO (1 extra GB for 3 months)
    • I-LIKE-POLAND (1 extra GB for 3 months)
    • SKYFISH-IS-COOL (1 extra GB for 3 months)
    • I-KNOW-THOMAS (*NEW*, 1 extra GB for 6 months)
    • I-KNOW-ERIC (*NEW*, 1 extra GB for 6 months)

Unfortunately all this extra storage is for a limited period only and not for a lifetime (as with other services). So take this into account when uploading a lot of data! If you know other Wuala promotion codes or noticed that one of the listed codes isn’t active anymore, please let me know in the comments below.

Have fun with it!

PS: If you’re installing Wuala on Ubuntu 12.04 with Unity:

*Last edit on 13/11/2012*

© 2017 Tom's Webspace

Theme by Anders NorénUp ↑