Categories
News

Microsoft bietet der US-Regierung eine spezielle Cloud-Option für Office 365 – Was wird Google tun?

Microsoft will sich mit einem Schachzug die Gunst der US-Regierung sichern und bietet speziell für US-Regierungsbehörden eine Option, Office 365 in einer eigenen “Community Cloud” zu hosten, die nur Kunden der Regierung zur Verfügung steht.

Innerhalb dieser “Community Cloud” werden die Daten der Kunden des öffentlichen Sektors in einer separaten Cloud-Umgebung gespeichert.

Bei der Option handelt es sich um den jüngsten Versuch von Microsoft, US-Regierungsbehörden in das Boot von Office 365 zu bekommen. In einem Blogpost schreibt Microsoft, dass es notwendig sei, Behörden eine Vielzahl unterschiedlicher Optionen zu bieten, da nicht alle Kunden des öffentlichen Sektors die gleichen Bedürfnisse in Bezug auf die Einhaltung gesetzlicher Vorschriften, der Sicherheit, des Datenschutzes und der Produkt-Funktionalität haben.

Daher wird Microsoft den Regierungsbehörden nun die Möglichkeit geben, Office 365 sowohl via einer Public als auch einer Privat Cloud (ITAR [International Traffic in Arms Regulations]) zu nutzen. Zudem gibt es nun eine spezielle Office 365 “Community Cloud” für die US-Regierung, in der die Daten in einer separaten Umgebung nur für die Regierung gespeichert werden.

Chapeau Microsoft! Die Frage ist nun: Was wird Google tun?


Bildquelle: http://www.government-websites.com

Categories
Analysen

Kriterien zur Auswahl eines Cloud Computing Anbieters

Cloud Computing Anbieter haben mit ihren Angeboten und Eigenschaften den größten Einfluss auf Unternehmen und deren Informationstechnologie. Dabei müssen sich Unternehmen der Herausforderung stellen, den für Ihre Bedürfnisse idealen Anbieter zu identifizieren. Das stellte Unternehmen bereits in der Vorzeit des Cloud Computing vor Probleme, jedoch hat sich die Situation durch die hohe Standardisierung auf Seiten der Anbieter verschärft.

In der Regel müssen sich Unternehmen für das entscheiden, was der Anbieter im Portfolio hat ohne Einfluss darauf zu haben und Anpassungen vornehmen zu können. Hinzu kommt, dass neben dem Angebot und dem Preis ebenfalls die SLAs, Governance, Compliance usw. bei der Auswahl berücksichtigt werden müssen. Schließlich hat sich der Einflussbereich des Unternehmens minimiert und das Vertrauen in den Cloud Computing Anbieter steht auf dem Spiel.

Die eigenen Bedürfnisse sind ausschlaggebend

Unternehmen stehen damit vor der Herausforderung den oder die Anbieter zu selektieren, der bzw. die ihre Ansprüche bzgl. der Integration der vorhandenen Systeme, der Abbildung der Geschäftsprozesse usw. bestmöglich unterstützen und des Weiteren über eine hohe Vertrauensbasis verfügen.

Eine Bewertung und Auswahl vorzunehmen ist nicht trivial. Zudem existieren dafür keine geeigneten Frameworks und es ist ebenso schwierig so ein allgemeingültiges Framework zu erstellen. Das ist der Individualität und den Anforderungen eines jeden einzelnen Unternehmens geschuldet. Jedoch kann ein Unternehmen bei der richtungsweisenden Bewertung und Auswahl unterstützt werden.

Grundsätzlicher Auswahlprozess

Auf Grund einer Vielzahl von Angeboten, die unterschiedliche Services, Kosten, Support etc. mit sich bringen, benötigen Unternehmen eine klare Strategie und starke Auswahlkriterien um Cloud Computing bestmöglich für sich zu nutzen.

Während Kosten, Skalierbarkeit, Fachwissen und die operative Stabilität offensichtliche Kriterien sind, gibt es weitere wichtige Faktoren, die bei der Auswahl eines Cloud Computing Anbieters notwendig sind.

Eigene Anforderungen definieren

Ein Unternehmen muss sich zunächst über sich selbst im Klaren sein. Das heißt, es muss seine Unternehmensstrategie, seine Unternehmensziele sowie seine Kernprozesse und Funktionen kennen. Zudem muss es klar definieren, was es sich von der Nutzung der Cloud verspricht. Geht es eher darum, die Möglichkeiten der internen IT zu erweitern oder sollen die nicht strategisch wichtigen Unternehmensanwendungen in die Cloud migriert und dort betrieben werden?

Sobald das Unternehmen eine klare Vorstellung von seinen Anforderungen hat, gilt es einen geeigneten Partner zu finden, der bei der Ausführung hilft. Dabei sollte beachtet werden, dass ein Anbieter, der den aktuellen Bedürfnissen gerecht wird, möglicherweise bei einer Änderungen der Strategie nicht mehr die gewünschten Anforderungen erfüllen kann. Die eigene Strategie sollte daher nicht als ein statischer Plan behandelt werden und eine gewisse Flexibilität beinhalten. Denn die Geschäftsanforderungen ändern sich in der heutigen Zeit deutlich schneller und auch neue unvorhergesehene Cloud-Technologien werden auf dem Markt erscheinen, die dabei helfen werden das Unternehmen strategisch neu auszurichten. Daher ist es notwendig, die Cloud Strategie als auch den Cloud Computing Anbieter regelmäßig zu überprüfen.

Auswahl des Cloud Computing Anbieters

Jedes Angebot im Cloud Computing ist einzigartig. Sei es ein Infrastructure-as-a-Service, Platform-as-a-Service, Software-as-a-Service, Security Service oder ein Service zur Abbildung eines Geschäftsprozesses. Hinzu kommt, dass sich auch die Anforderungen eines Unternehmens an einen Services mit den Angeboten in der Cloud unterscheiden. Das betrifft in erster Linie den eigentlichen Nutzen für das Unternehmen bis hin zur technologischen Anbindung. Die erste Frage, die einem Cloud Computing Anbieter also grundsätzlich gestellt werden muss, ist, ob er genau den Cloud Service anbieten kann, der von dem Unternehmen benötigt wird. Sollte diese Frage mit ja beantwortet werden, gilt es anschließend den Anbieter genauer zu untersuchen. Verfügt er über langjährige Erfahrungen, hat er ein aussagekräftiges Kundenportfolio, passt der Anbieter ethisch zu dem Unternehmen. Bspw. wäre es für ein Unternehmen, das sich in vielen Bereichen für den Umweltschutz einsetzt, unvorstellbar einen Cloud Computing Anbieter zu wählen, der nicht über eine Green IT Policy verfügt.

Im Verlauf der Prüfung werden dann die detaillierten Anforderungen des Unternehmens untersucht und mit den Angeboten des Cloud Computing Anbieters verglichen. Dazu sollten während der Anforderungsanalyse Attribute definiert werden, die der Cloud Service bzw. die Anwendungen erfüllen müssen und je nach Gewichtung für oder gegen die Wahl des Cloud Computing Anbieters sprechen.

Beurteilung der allgemeinen Sicherheit

Eine der größten Sorgen ist die Datensicherheit in der Cloud und die Funktionsfähigkeit der Infrastruktur für den geschäftskritischen Betrieb. Die Systeme und Daten müssen sich daher in sicheren Händen befinden und das gilt es sicherzustellen. Bei der Auswahl des Cloud Anbieters muss daher zunächst eine Bestandsaufnahme der eigenen Sicherheitsanforderungen gemacht und die Probleme erörtert werden, die es zu bewältigen gilt. Dazu gehören z.B. der Datentransfer, die Speicherung, die Zutrittskontrolle, und Netzwerksicherheit. Im Anschluss muss bestimmt werden, ob der Anbieter über die Sicherheit und Compliance Technologien und Mechanismen verfügt, um diese Bedürfnisse zu erfüllen.

Hier sollte der Anbieter u.a. gefragt werden, wie die Sicherheitsmechnismen funktionieren, um den Schutz der Daten während des Transports und beim Speichern zu gewährleisten oder ob die virtualisierte Infrastruktur wirklich sicher ist. Weiterhin ist es notwendig zu wissen, ob der Anbieter über die entsprechenden Technologien und Prozesse wie Verschlüsselung und Entschlüsselung, Disaster Recovery, Zugangsbeschränkungen, Intrusion Protection/ Prevention und Firewall-Dienste verfügt.

Fragen stellen alleine reicht allerdings nicht. Um den Anbieter wirklich kennenzulernen müssen die Sicherheitdokumentationen und Zertifizierungen eingehend überprüft werden. Auch ein Besuch vor Ort sollte in Betracht gezogen werden, um zu sehen und zu verstehen, was sich hinter der Cloud des Anbieters verbirgt.

Zuletzt sollte immer das Worst-Case-Szenario in die Bewertung des Sicherheitsniveaus des Anbieters einfließen. Denn auch wenn das undenkbare niemals eintreten wird, sollte der Anbieter seine Kunden davor bestmöglich schützen können.

Bewertung des Service und Supports

Da es sich beim Cloud Computing um ein serviceorientiertes Model handelt, sollte sich ein Unternehmen für einen Anbieter entscheiden, der Vertrauen ausstrahlt, über eine ausgezeichnete Infrastruktur verfügt und messbare Ergebnisse nachweisen kann. Zudem sollte der Anbieter über eine hohe Reaktionsfähigkeit (schnelle Reaktion auf betriebliche Probleme) und einen guten proaktiven Support (z.B. Kundenbetreuung, vorbeugende Instandhaltung, Erhöhung der Ressoucen in einem Shared Umfeld etc.) verfügen.
Zwar sind maßgeschneiderte Verträge im Bereich des Cloud Computing nicht üblich, dennoch sollte der Anbieter bereit sein, unternehmensgerechte Service Level Agreements (SLAs) zu definieren. Darin enthalten sein sollten bspw. Performance, Verfügbarkeit, Bereitstellungszeit und ein Problemlösungszeitraum. Dazu gehören wiederum formale Eskalationsrichtlinien und definierte Sanktionen. Weiterhin könnte es interessant und notwendig sein, zu überprüfen, wie die bisherige Erfolgsbilanz bzgl. der Einhaltung der SLAs durch den Anbieter aussieht.

Die Suche nach einem flexiblen Anbieter

Das Interesse am Cloud Computing nimmt immer stärker zu. Jedoch ist kein Unternehmen bereit, seine Systeme vollständig in die Cloud zu verlagern. Daher planen die meisten Unternehmen mit dem Aufbau eines hybriden IT-Ökosystems. Also einer Hybrid Cloud, bei der die Ressourcen im eigene Rechenzentrum (ggf. Private Cloud) mit Ressourcen aus einer externen Cloud Infrastruktur (Public Cloud) kombiniert werden.

Unternehmen sollten hierbei darauf achten, dass der Anbieter in der Lage ist, hybride Umgebungen nahtlos zu integrieren und diese ebenfalls sorgfältig zu verwalten. So kann ein Unternehmen bei Bedarf die benötigten Cloud Services von dem Anbieter beziehen und damit seine internen IT Ressourcen und Möglichkeiten erweitern.

Verstehen des Abrechnungsmodells

Die nutzungsabhängige Abrechnung ist eine der attraktivsten Eigenschaften des Cloud Computing. Unternehmen erhalten dadurch die Möglichkeit, auf hohe Investitionen zu verzichten, indem die Kosten für die Beschaffung von Hard- und Software minimiert werden und wodurch sie ein vorhersehbares Betriebskostenmodell aufbauen können.

Dennoch sollten sich Unternehmen bewusst machen, dass jeder Anbieter seine eigene Art und Weise der Preisgestaltung für seine Services hat. Während einige bspw. eine Instanz pro Stunde oder pro Monat abrechnen, berechnen andere auf Basis der genutzten Ressourcen. Einige Anbieter erwarten z.B. eine Vorauszahlung für einen bestimmten Basis Service und in einigen Fällen muss für die Kundenbetreuung möglicherweise eine zusätzliche Gebühr bezahlt werden. Unternehmen müssen daher das Abrechnungsmodell des Anbieters verstehen, um spätere Überraschungen zu vermeiden und ggf. einen kundenspezifischen Preis auszuhandeln.

Auf in die Cloud

Um sicherzustellen, dass exakt die Cloud Services erworben werden, die ein Unternehmen auch wirklich benötigt, muss der Auswahlprozess klar definiert und sorgfältig vorgenommen werden. Dazu gilt es genau zu wissen, wie die Kriterien für die Nutzung von Cloud Computing heute aussehen und wie sie in Zukunft aussehen könnten bzw. sollen.


Bildquelle: http://www.wirtschaftsforum.de

Categories
News

Microsoft bestätigt: Windows Azure Ausfall war ein Schaltjahr Problem

Microsoft hat bestätigt, dass der 12-stündige Ausfall am vergangenen Mittwoch auf ein Softwareproblem im Zusammenhang mit dem Schaltjahr (29. Februar) zurückzuführen ist.

Der Fehler führte dazu, dass das System die Zeit nicht korrekt berechnen konnte. In einem Blogeintrag schreibt Azure Lead Engineer Bill Laing, dass sein Team in der Lage war, das Problem zu beheben und der Service für die meisten Kunden um 03.00 Uhr Pazifischer Zeit wiederhergestellt werden konnte. Etwa mehr als neun Stunden nachdem das Problem bekannt wurde. In einem weiteren Eintrag versprach er zudem eine zeitnahe Analyse der Probleme.


Bildquelle: http://blog.mhcache.com

Categories
News

CloudStore der britischen Regierung ebenfalls vom Windows Azure Ausfall betroffen

Der erst kürzlich veröffentlichte CloudStore (GCloud) der britischen Regierung, mit der die öffentlichen Verwaltungen Großbritanniens zukünftig ihre Anwendungen beziehen sollen, war auf Grund des Windows Azure Ausfalls vor zwei Tagen, ebenfalls für mehrere Stunden offline.

Über den offiziellen GCloud Twitter Account @G_Cloud_UK, informierte die Regierung um 12:11 Uhr britischer Zeit, über den Ausfall: “Power outage on microsoft azure means #cloudstore is temporarily unavailable. Patch being applied so will update when normal service resumed.”.

In einem weiteren Tweet, ca. 3 Stunden später, kam dann die Meldung, dass der CloudStore durch Microsoft auf eine andere Azure Umgebung umgezogen wurde: “Microsoft are moving us to a different azure install and are confident we’ll be up and running again by 4pm.”

Categories
News

CloudSafe wird in Zukunft Firmenkonten anbieten

Wie der deutsche Cloud Storage Anbieter CloudSafe heute via Newsletter informiert, sollen in Kürze auch Konten für Unternehmen verfügbar sein.

Mit den neuen Konten können Mitarbeiter nun zentral alle Premium Funktionen zugänglich gemacht werden. Die Nutzung beliebig vieler Safes gehört genauso dazu wie beliebig viele Freigaben und Gruppen-Funktionen zu verwenden. Darüber hinaus können Nutzer schnell und einfach zu einem Firmenkonto hinzugefügt und verwaltet werden.

Alle Nutzer einer Firma teilen sich flexibel den gemieteten Speicherplatz. Somit besteht innerhalb der Firma keine Begrenzungen mehr. Zusätzlich besteht die Möglichkeit, weiteren Speicherplatz zu buchen, wenn dieser benötigt wird.

Categories
News

AppDirect kündigt neuen Cloud Marketplace Manager an

Der Cloud Service Marketplace und Management Plattform Anbieter AppDirect hat heute seinen neuen Marketplace Manager vorgestellt. Nach dem Start seines ersten Cloud Marketplace im Jahr 2010, konnte AppDirect bis heute viele namenhafte Anwendungen wie New Relic, SendGrid und Google Apps zu seinem Netzwerk hinzufügen.

Mit dem Marketplace Manager können Channel Partner ihren Kunden und Entwicklern Services aus einer Hand bereitstellen und sie damit zum AppDirect Netzwerk hinzufügen. Der Marketplace Manager soll es AppDirect Channel Partnern, wie Telekommunikationsanbietern und Webhostern, zudem ermöglichen, die wichtigsten Einstellungen und Komponenten ihrer angebotenen Cloud Anwendung an einem Ort effizient zu verwalten.

So können Channel Partner aus dem gesamten AppDirect Netzwerk aus vor-integrierten Anwendungen wählen, die über ein einheitliches Identity-und Access-Management sowie ein Billing-Abonnement verfügen. Nach eigenen Angaben hat AppDirect einen monatlichen Zuwachs neuer Anwendungen von 30%.

Neu hinzugekommen sind bspw. Google Apps, New Relics Web Application Management Lösung, SendGrids E-Mail-Infrastruktur und DocuSigns Funktionen für die digitale Signatur.

Categories
News

Microsoft Azure mit 12-stündigem Ausfall – War der Schalttag (29. Februar) das Problem?

Auf Grund eines schweren Ausfalls der Cloud-Plattform Microsoft Azure am vergangenen Dienstag, waren eine Vielzahl von Kunden nicht in der Lage auf Teile der Kernbereiche des Service für mehr als 12 Stunden zuzugreifen. Das Problem soll auf den Schalttag (29.Februar) zurückzuführen sein, das zu einem Problem mit der Sicherheits-Zertifizierung führte.

Wie Data Center Knowledge und andere Quellen Microsoft zitieren, war der Grund des Ausfalls ein Zertifizierungsproblem, dass mit dem 29.02.2012 in Verbindung steht. Das führt natürlich zu vielen Spekulationen. In einer direkten Stellungnahme von Microsoft wurde zwar darauf hingewiesen, dass die meisten Kunden wieder wie gewohnt arbeiten können, macht aber keinen Verweis auf ein Zertifikatsproblem.

On February 28th, 2012 at 5:45 PM PST Microsoft became aware of an issue impacting Windows Azure service management in a number of regions. Windows Azure engineering teams developed, validated and deployed a fix that resolved the issue for the majority of our customers. Some customers in 3 sub regions – North Central US, South Central US and North Europe – remain affected. Engineering teams are actively working to resolve the issue as soon as possible We will update the Service Dashboard, at http://www.windowsazure.com/en-us/support/service-dashboard/, hourly until this incident is resolved.

Categories
Tutorials @de

Amazon DynamoDB zusammen mit .NET nutzen

Amazon DynamoDB ist der aktuelle NoSQL Service der Amazon Web Services. Es handelt sich dabei um eine verwaltete, skalierbare und bei Bedarf nutzbare Datenbank inkl. bereitgestellten Durchsatz. Der Bereitgestellte Durchsatz ermittelt vorab die Anforderungen für den Lese-und Schreib-Durchsatz, auf deren Basis die Kosten berechnet werden.

Dieses Tutorial von cloudstory.in richtet sich an .NET Entwickler, die mit Amazon DynamoDB starten möchten. Es zeigt, wie eine Tabelle erstellt und darauf Operationen ausgeführt werden. Amazon DynamoDB bietet für .NET-Entwickler dazu eine Low-Level-API sowie eine Object-Persistence-API. Das Tutorial beschreibt, wie die Object-Persistence-API genutzt wird, um mit Amazon DynamoDB zu kommunizieren. Dazu wird als Beispiel eine DVD Bibliothek erstellt, mit der individuelle DVDs hinzugefügt, modifiziert, gesucht und gelöscht werden können.

Voraussetzungen

Schritt 1 – Einrichten der Umgebung

Zunächst wird in Visual Studio ein neues Projekt angelegt und die Umgebung eingerichtet.

Dazu muss eine Referenz zu der AWSSDK.dll hinzugefügt werden. Zu finden unter C:[*]Program Files[*]AWS SDK for .NET[*]bin.

[*] bitte durch einen SLASH ersetzen.

Anschließend wird eine neue Konfigurationsdatei für die Anwendung hinzugefügt. Als Standard-Dateiname kann App.config genommen werden.

Nun benötigen wir die AWS Anmeldedaten, also den AWS Access Key und Secret Key.

Wir fügen den folgenden “using” Ausdruck hinzu.

using Amazon.DynamoDB.DataModel;

Und übernehmen den AWS Access Key und Secret Key in die App.config Datei.

Schritt 2 – Erstellen des DVD-Schema

Als Nächstes wird eine Klasse angelegt, die für das Amazon DynamoDB Schema benötigt wird.

Dazu legen wir eine neue Klasse mit dem Namen DVD.cs an.

Und fügen den folgenden “using” Ausdruck hinzu.

using Amazon.DynamoDB.DataModel;

Wir fügen die folgenden Eigenschaften hinzu und überschreiben die ToString Methode.

public class DVD
{
    public string Title { get; set; }

    public int ReleaseYear { get; set; }

    public ListActorNames { get; set; }

    public string Director { get; set; }

    public string Producer { get; set; }

    public override string ToString(){
        return string.Format(@"{0} - {1} Actors: {2}", Title, ReleaseYear, string.Join(", ", ActorNames.ToArray()));}
    }
}

Nun müssen wir Amazon DynamoDB spezifische Attribute hinzufügen, um die Tabelle, den Hash Key und Range Key identifizieren zu können. Im Folgenden befindet sich der Code der endgültigen DVD.cs inkl. aller notwendigen Attribute.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Amazon.DynamoDB.DataModel;

namespace DVDsOnCloud
{
[DynamoDBTable("DVD")]
    public class DVD
    {
        [DynamoDBHashKey]
        public string Title { get; set; }

        [DynamoDBRangeKey]
        public int ReleaseYear { get; set; }

        [DynamoDBProperty]
        public List ActorNames { get; set; }

        public string Director { get; set; }

        public string Producer { get; set; }

        public override string ToString()
        {
            return string.Format(@"{0} - {1} Actors: {2}", Title, ReleaseYear, string.Join(", ", ActorNames.ToArray()));
        }
    }
}

Ein Hash Key ist vergleichbar mit dem Primary Key einer Tabelle. Es wird erwartet, dass dieser immer einzigartig ist und ist der am meisten genutzte Key für Anfragen. Der Range-Key ist ein sekundärer Schlüssel, der von DynamoDB verwendet wird, um einen sortierten Index-Bereich zu schaffen. Obwohl der Range Key optional ist, kann die Kombination von Hash Key und Range Key die Query-Performance optimieren.

Schritt 3 – Erstellen der DVDLibrary Hilfsklasse

Nun erstellen wir einen Wrapper für die DynamoDB API innerhalb einer Klasse, die von einem Client genutzt werden kann. Dazu erstellen wir eine neue Klasse mit dem Namen DVDLibray.cs.

Wir fügen die folgenden “using” Ausdrücke hinzu.

using Amazon;
using Amazon.DynamoDB;
using Amazon.DynamoDB.Model;
using Amazon.DynamoDB.DataModel;
using Amazon.SecurityToken;
using Amazon.Runtime;

Schritt 4 – Hinzufügen der öffentliche Mitglieder und des Konstruktors

Nun fügen wir den Konstruktor zur DVDLibrary Klasse hinzu. Der Konstruktor verwendet den AWS Security Token Authentifizierung, um die Anmeldedaten zu überprüfen.

AmazonDynamoDB client;
public DVDLibrary()
{
    AmazonSecurityTokenServiceClient stsClient = new AmazonSecurityTokenServiceClient();
    RefreshingSessionAWSCredentials sessionCredentials = new RefreshingSessionAWSCredentials(stsClient);
    client = new AmazonDynamoDBClient(sessionCredentials);
}

Schritt 5 – Initialisierung der Amazonas DynamoDB Tabelle

In diesem Schritt initialisieren wir Amazon DynamoDB Tabelle. Wir stellen sicher, dass die Tabelle nicht existiert und erstellen eine neue. Zudem konfigurieren wir die benötigten Parameter, wie den bereitgestellten Durchsatz, Hash Key und Range Key. Das Erstellen einer Amazon DynamoDB Tabelle dauert eine Weile. Zu dieser Zeit können keine weiteren Operationen durchgeführt werden. Daher wird die Methode solange blockiert, bis der Status der Tabelle in den Zustand “Active” wechselt.

public void Init()
{
    List currentTables = client.ListTables().ListTablesResult.TableNames;
    if (!currentTables.Contains("DVD"))
    {
        CreateTableRequest reqCreateTable = new CreateTableRequest();
        CreateTableResponse resCreateTable=new CreateTableResponse();

        reqCreateTable.TableName = "DVD";

        reqCreateTable.ProvisionedThroughput = new ProvisionedThroughput();
        reqCreateTable.ProvisionedThroughput.ReadCapacityUnits=10;
        reqCreateTable.ProvisionedThroughput.WriteCapacityUnits=10;

        reqCreateTable.KeySchema = new KeySchema();

        reqCreateTable.KeySchema.HashKeyElement = new KeySchemaElement();
        reqCreateTable.KeySchema.HashKeyElement.AttributeName = "Title";
        reqCreateTable.KeySchema.HashKeyElement.AttributeType = "S";

        reqCreateTable.KeySchema.RangeKeyElement = new KeySchemaElement();
        reqCreateTable.KeySchema.RangeKeyElement.AttributeName = "ReleaseYear";
        reqCreateTable.KeySchema.RangeKeyElement.AttributeType = "N";

        resCreateTable = client.CreateTable(reqCreateTable);

        while (resCreateTable.CreateTableResult.TableDescription.TableStatus != "ACTIVE")
        {
            System.Threading.Thread.Sleep(5000);
        }
    }

}

Bei Amazon DynamoDB besteht die Möglichkeit, den Anforderungsdurchsatz festzulegen, den eine Tabelle erreichen soll. Der Service sorgt dann dafür, die Ressourcen bereitstehen, mit denen die erforderliche Durchsatzrate erreicht wird. Die Durchsatzanforderungen können in Bezug auf die Lesekapazität und Schreibkapazität in der Tabelle festgelegt werden. Dazu werden beim Erstellen einer Tabelle die erforderlichen Lese- und Schreibkapazitätsanforderungen angegeben. Auf dieser Basis partitioniert Amazon DynamoDB automatisch die entsprechende Anzahl von Ressourcen und reserviert diese, damit der Durchsatz erreicht wird.

Schritt 6 – Hinzufügen einer neuen DVD

Nun erstellen wir eine Funktion mit dem Namen AddDVD, die das DVD Objekt akzeptiert und ein Element in der Amazon DynamoDB erstellt.

public void AddDVD(DVD dvd)
{
    DynamoDBContext context = new DynamoDBContext(client);
    context.Save(dvd);
}

Schritt 7 – Ändern einer vorhandenen DVD

Als Nächstes erstellen wir eine Methode ModifyDVD, die versucht eine vorhandene DVD zu laden, diese zu modifizieren und anschließend zu speichern. Wird das Element nicht gefunden, kommt es zu einer Exception.

public void ModifyDVD(DVD dvd)
{
    DynamoDBContext context = new DynamoDBContext(client);
    DVD oDVD = context.Load(dvd.Title, dvd.ReleaseYear);
    if(oDVD==null)
        new Exception("Non-existent DVD");
    context.Save(dvd);
}

Schritt 8 – Alle DVDs ausgeben

Um alle DVDs auszugeben, führen wir einen Table Scan durch.

public IEnumerable GetAllDVDs()
{
    DynamoDBContext context = new DynamoDBContext(client);
    IEnumerable alldvds=context.Scan();
    return alldvds;
}

Wie bei jeder anderen Datenbank auch, ist ein vollständiger Scan auf Amazon DynamoDB kostspielig. Diese Operation berücksichtigt nicht den Hash Key und Range Key und durchläuft jedes Element. Der Scanvorgang wird beendet, wenn die aggregierte Größe der gescannten Objekte 1MB übersteigt. Der Client muss die Operation für den Rest der Elemente dann erneut starten.

Schritt 9 – DVDs auf Basis des Titels und Erscheinungsjahrs suchen

Um nach den DVDs zu suchen, benötigen wir den Hash Key als auch den Range Key. Daher wird diese Methode beide Schlüssel nutzen, um die DVDs zu durchsuchen.

public IEnumerable SearchDVDs(string title, int releaseyear)
{
    DynamoDBContext context = new DynamoDBContext(client);
    IEnumerable alldvds = context.Query(title, Amazon.DynamoDB.DocumentModel.QueryOperator.Equal, releaseyear);
    return alldvds;
}

Schritt 10 – DVDs auf Basis des Titels suchen

Wenn das Erscheinungsjahr nicht zu den Suchkriterien gehören soll, nutzen wir nur die folgende Methode, die nur auf Basis des Titels sucht.

public List>SearchDVDByTitle(string title)
{
    DynamoDBContext context = new DynamoDBContext(client);
    QueryRequest reqQuery = new QueryRequest();
    reqQuery.TableName = "DVD";
    reqQuery.HashKeyValue = new AttributeValue() { S = title };

    QueryResponse resQuery = client.Query(reqQuery);

    return resQuery.QueryResult.Items;
}

Schritt 11 – Löschen der DVD

Mit der folgenden Methode löschen wir eine DVD.

public void DeleteDVD(DVD dvd)
{
    DynamoDBContext context = new DynamoDBContext(client);
    DVD oDVD = context.Load(dvd.Title, dvd.ReleaseYear);
    if (oDVD == null)
        new Exception("Non-existent DVD");
    context.Delete(dvd);
}

Im Folgenden befindet sich der gesamte Quellcode für die DVDLibrary.cs.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Amazon;
using Amazon.DynamoDB;
using Amazon.DynamoDB.Model;
using Amazon.DynamoDB.DataModel;
using Amazon.SecurityToken;
using Amazon.Runtime;

namespace DVDsOnCloud
{
    class DVDLibrary
    {
        AmazonDynamoDB client;
        public DVDLibrary()
        {
            AmazonSecurityTokenServiceClient stsClient = new AmazonSecurityTokenServiceClient();
            RefreshingSessionAWSCredentials sessionCredentials = new RefreshingSessionAWSCredentials(stsClient);
            client = new AmazonDynamoDBClient(sessionCredentials);
        }

        public void Init()
        {
            List currentTables = client.ListTables().ListTablesResult.TableNames;
            if (!currentTables.Contains("DVD"))
            {
                CreateTableRequest reqCreateTable = new CreateTableRequest();
                CreateTableResponse resCreateTable=new CreateTableResponse();

                reqCreateTable.TableName = "DVD";

                reqCreateTable.ProvisionedThroughput = new ProvisionedThroughput();
                reqCreateTable.ProvisionedThroughput.ReadCapacityUnits=10;
                reqCreateTable.ProvisionedThroughput.WriteCapacityUnits=10;

                reqCreateTable.KeySchema = new KeySchema();

                reqCreateTable.KeySchema.HashKeyElement = new KeySchemaElement();
                reqCreateTable.KeySchema.HashKeyElement.AttributeName = "Title";
                reqCreateTable.KeySchema.HashKeyElement.AttributeType = "S";

                reqCreateTable.KeySchema.RangeKeyElement = new KeySchemaElement();
                reqCreateTable.KeySchema.RangeKeyElement.AttributeName = "ReleaseYear";
                reqCreateTable.KeySchema.RangeKeyElement.AttributeType = "N";

                resCreateTable = client.CreateTable(reqCreateTable);

                while (resCreateTable.CreateTableResult.TableDescription.TableStatus != "ACTIVE")
                {
                    System.Threading.Thread.Sleep(5000);
                }
            }

        }

public void AddDVD(DVD dvd)
{
    DynamoDBContext context = new DynamoDBContext(client);
    context.Save(dvd);
}

        public void ModifyDVD(DVD dvd)
        {
            DynamoDBContext context = new DynamoDBContext(client);
            DVD oDVD = context.Load(dvd.Title, dvd.ReleaseYear);
            if(oDVD==null)
                new Exception("Non-existent DVD");
            context.Save(dvd);
        }

        public IEnumerable GetAllDVDs()
        {
            DynamoDBContext context = new DynamoDBContext(client);
            IEnumerable alldvds=context.Scan();
            return alldvds;
        }

        public IEnumerable SearchDVDs(string title, int releaseyear)
        {
            DynamoDBContext context = new DynamoDBContext(client);
            IEnumerable alldvds = context.Query(title, Amazon.DynamoDB.DocumentModel.QueryOperator.Equal, releaseyear);
            return alldvds;
        }

        public List>SearchDVDByTitle(string title)
        {
            DynamoDBContext context = new DynamoDBContext(client);
            QueryRequest reqQuery = new QueryRequest();
            reqQuery.TableName = "DVD";
            reqQuery.HashKeyValue = new AttributeValue() { S = title };

            QueryResponse resQuery = client.Query(reqQuery);

            return resQuery.QueryResult.Items;
        }


        public void DeleteDVD(DVD dvd)
        {
            DynamoDBContext context = new DynamoDBContext(client);
            DVD oDVD = context.Load(dvd.Title, dvd.ReleaseYear);
            if (oDVD == null)
                new Exception("Non-existent DVD");
            context.Delete(dvd);
        }
    }

 }

Der komplette Quellcode

Im Folgenden ist der vollständige Code des Clients zu finden, der auf die DVDLibrary zugreift.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DVDsOnCloud
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create the helper object
            DVDLibrary DVDLib= new DVDLibrary();

            //Initialize
            DVDLib.Init();

            //Create the DVD object
            DVD dvd = new DVD() { Title = "Businessman", ReleaseYear = 2011, ActorNames = new List { "Mahesh", "Kajal" }, Director = "Puri Jagannath", Producer = "Venkat" };

            //Add the new DVD
            DVDLib.AddDVD(dvd);

            //Print all the DVDs
            foreach (var odvd in DVDLib.GetAllDVDs())
                Console.WriteLine(odvd.Title);

            //Create a new DVD object with modified values
            DVD newdvd = new DVD() { Title = "Businessman", ReleaseYear = 2011, ActorNames = new List { "Mahesh Babu", "Kajal Agarwal" }, Director = "Puri Jagannath", Producer = "Venkat" };

            //Commit the changes
            DVDLib.ModifyDVD(newdvd);


            //Search for the DVD
            foreach (var dvd in DVDLib.SearchDVDs("Businessman",2011))
                Console.WriteLine(dvd.Director);

            //Delete the DVD
            DVDLib.DeleteDVD(newdvd);
         }
    }
}

Quelle: http://cloudstory.in

Categories
Services @de

"No Cloud without automation!" – Die Cloud vom CloudPilot steuern lassen

Der Satz, “No Cloud without automation!” stammt nicht von mir, sondern wurde von Chris Boos, CEO der arago AG 2010 auf dem CloudCamp in Hamburg geprägt. Und auch wenn diese Aussage mehr als nachvollziehbar und einleuchtend ist, kann ich auf der Stelle mehrere Anbieter nennen, die zwar Cloud auf ihren Angeboten stehen haben, aber nicht mehr als gewöhnliche Standard Webhoster sind.

Das Chris Boos oder vielmehr die arago AG nach dem Motto “No Cloud without automation!” leben und dessen Philosophie verinnerlicht haben, zeigen einmal mehr die Lösungen, die das Unternehmen im Portfolio hat. So steht bspw. mit dem AutoPilot bei der arago AG alles im Zeichen der Automatisierung.

Der arago Autopilot

Beim arago Autopilot handelt es sich um eine wissensbasierte Architektur, die in der Lage ist, automatisiert Incidents und Changes im IT-Betrieb nach Ursachen zu analysieren und anschließend aktiv geeignete Lösungsstrategien zu entwickeln und diese ebenfalls umzusetzen. Was IT-Administratoren und IT-Experten an dieser Stelle wahrscheinlich sehr ungerne lesen werden: Der AutoPilot kann alle ihre Aufgaben automatisiert durchführen. Dabei greift er auf einen Wissenspool zurück, der vergleichbar wie ein WiKi von entsprechenden Experten gepflegt wird. Das dort abgelegte Wissen wir genutzt und ständig zu neuen Skripten zusammengefasst.

Somit wird das Wissen der IT-Experten in einfache, modulare und wiederverwendbaren Knowledge Items (KI) erfasst und mit einem Modell der Unternehmens-IT verknüpft. So kann bspw. die Störung eines Exchange Servers, eine administrative Tätigkeit, für einen bestimmten Knoten innerhalb des Modells anhand der KIs automatisiert durch den AutoPilot durchgeführt werden. Er startet, überwacht und passt mögliche Änderungen während der Analyse an und erstellt Befehle, um das Problem zu lösen. Weiterhin sorgt er für die Dokumentation seiner Tätigkeiten. Kann eine Störung nicht automatisch behoben werden, sorgt das System dafür, dass alle Informationen und Analyse-Ergebnisse menschenlesbar in ein Ticket-System übertragen werden und der Administrator wird informiert.

Der arago CloudPilot

Beim arago CloudPilot handelt es sich um eine spezielle From des AutoPilot. Er konzentriert sich auf zwei Aufgaben:

  1. Management von Abhängigkeiten zwischen mehreren Cloud-Plattformen
  2. Management der Nutzung verschiedener Provider für eine Cloud-Plattform

Beide Punkte werden dadurch sichergestellt, dass zusätzlich zum AutoPilot ebenfalls fertige Knowledge Items ausgeliefert werden, die auf bereits bekannte Cloud-Infrastrukturen abgestimmt sind. Diese können entweder direkt eingesetzt oder vorher auf die eigene Umgebung angepasst werden. Der CloudPilot arbeitet wie ein menschlicher Administrator und integriert sich so in eine bestehende IT-Landschaft.

Dazu greift er auf einen Wissenspool zurück, in dem das gesamte Betriebswissen aller IT-Experten, wie bereits vom Autopilot bekannt, abgelegt ist. Natürlich ist der CloudPilot nur so gut wie die IT-Experten, die die Wissenbasis mit Informationen versorgen.

Stimmt der Kunde zu, wird der Wissensppol zwischen allen weiteren Kunden ausgetauscht, um damit einen höheren Wissenstand des CloudPilot zu garantieren und damit den Grad der Automation ständig zu optimieren. Der CloudPilot soll dazu beitragen, dass Wissen langfristig innerhalb eines Unternehmens zu erhalten und zu konservieren.

Zudem wird anhand des modellbasierten Ansatzes eine konsistente Integration in systemunterstützende DBs, wie Asset-Management oder CMDB/CMS sichergestellt. Darüber hinaus basiert der CloudPilot auf der Wissensgraphen-Automatisierung (Knowledgegraph Automation) und kann mittels Integration des IT-Modells in das sogenannte MARS-Modell alle Zusammenhänge und Abhängigkeiten innerhalb der IT-Infrastruktur verstehen.

Der CloudPilot ist in der Lage ca. 80% aller Vorfälle, Störungen und Probleme innerhalb des System- und Anwendungsbetriebs ohne manuellen Eingriff zu beheben. Er trifft daher Entscheidungen, wie sie ein menschlicher Administrator ebenfalls treffen würde.

Categories
News

MobileIron eröffnet Rechenzentrum in Deutschland für sicheres Enterprise Mobile Device Management in der Cloud

MobileIron, Lösungsanbieter im Bereich für sicheres Mobile Device und Application Management für Unternehmen, eröffnet ein Rechenzentrum in Deutschland, um dort seine MobileIron Connected Cloud zu betreiben. Dabei soll es sich nach eigenen Angaben um den ersten Mobile Device Management-Cloud-Service handeln, den Unternehmen in weniger als einer Stunde vollständig in ihre bestehende Sicherheitsinfrastruktur integrieren können.

Unternehmen können damit Smartphones und Tablets der mobilen Betriebssysteme Google Android und Apple iOS gemäß ihrer Firmenrichtlinie weltweit ausrollen und sicher verwalten. MobileIron bietet ein mehrstufiges Security-Management für mobile Endgeräte und Applikationen. Es umfasst die Erkennung von „Bad Apps“, die Identifizierung kompromittierter Geräte, selective Wipe nicht nur für E-Mail- und PIM-Daten sondern auch für Apps inklusive ihrer Daten, granular einstellbare Datenschutz-Richtlinien, ActiveSync-Zugangskontolle sowie zertifikatsbasierte Sicherheit ohne Kompromisse durch unsicheren Rollout der Zertifikate.

Die MobileIron ConnectedCloud stellt Unternehmen eine hoch skalierbare Infrastruktur zur Verfügung, mit der sie beliebig viele Smartphones und Tablets sicher administrieren können – ohne in eine eigene IT-Infrastruktur investieren zu müssen.