More questions to ask when choosing a cloud provider for S/4HANA

This post is the second in a two-part interview series with Brian Burke, global SAP solutions executive with IBM SAP Alliance. To read this first part of the interview, click here.
Thoughts on Cloud (ToC): What questions should companies ask a prospective managed cloud services provider for SAP S/4HANA?
Brian Burke, global SAP solutions executive, IBM SAP Alliance: S/4HANA demands high levels of availability, performance and storage capability, so you must be sure your cloud provider is going to deliver what you need. A clear understanding of service level agreements (SLAs) is crucial.
Most cloud vendors offer a standard 99.5 percent availability SLA, and many provide enhanced options of up to 99.7 percent for S/4HANA. However, nearly all cloud SLAs for SAP S/4HANA are measured differently.
For example, some providers offer SLAs at the hardware and operating system (OS) level only. These SLAs ensure that the server is on and the OS is running, but they do not necessarily mean that anybody can use the application. What good is that?
When you’re evaluating cloud providers, here are some important questions to ask and have documented regarding SLAs: do the SLAs refer only to the hardware and the OS, or do they go to the application level? Are the SLAs guaranteed worldwide? How will SLAs be measured, and how are penalties calculated?
You should also ask about the provider’s strategy, solutions and schedule for SAP tasks such as backup, security and disaster recovery.
ToC: What type of support do cloud managed services providers offer for SAP S/4HANA?
BB: Many providers use pools of people who may possess different skill levels based on when they are working. If your environment goes down in the middle of the night, you may find yourself working with a newly trained resource rather than an experienced professional. That can cause problems, especially because certain workloads in SAP demand higher levels of skill to manage.
To drive accountability, the cloud provider should assign a project executive as the point of contact for issues as well as set up periodic checkpoints. If you have an issue, that’s the person to call.
ToC: What role do data centers play in choosing a provider?
BB: SAP ERP applications reach across your entire business, so a standard experience across global deployment is important. Companies should choose providers with a network of data centers that can deliver cross-regional consistency so that there’s no issue when you connect them all. Because not all workloads have the same requirements, companies may also want a provider that can deliver a hybrid solution that includes public or private cloud deployments or on-premises options if needed.
You also need to ask about the transparency of the data center. Where does your data reside? Many cloud providers will tell you the region, but that isn’t good enough for a lot of companies. They need to know the exact location of their data, either for compliance reasons or just for their own peace of mind.
To estimate your annual savings from implementing cloud managed services, try the Cost Benefits Estimator.
To learn how deploying SAP applications in a managed cloud environment may reduce complexities and costs, visit the IBM Cloud Managed Services for SAP website.
The post More questions to ask when choosing a cloud provider for S/4HANA appeared first on Cloud computing news.
Quelle: Thoughts on Cloud

[New Podcast] PodCTL #1 – 3.6 Reasons to Love Kubernetes

While there are many great technology podcasts to choose from, we felt like there wasn’t one that primarily focused on the rapidly evolving world of containers and Kubernetes. So to fill that gap, we’re starting the PodCTL (@podctl) podcast, a weekly show that focuses on the community, technology and people/companies making progress on this rapidly […]
Quelle: OpenShift

Intro to CI/CD: How to make Jenkins build on Github changes

The post Intro to CI/CD: How to make Jenkins build on Github changes appeared first on Mirantis | Pure Play Open Cloud.
Yes, I admit it, i was once a “Cowboy Coder,” one of those programmers who worked alone, and didn’t bother with paltry things like “version control.”  To be fair, tools like Jenkins, which make it easy to automatically build an application, didn’t exist back then. Fortunately, today I can set up a Jenkins server to create a Continuous Integration/Continuous Deployment (CI/CD) pipeline, automatically building, testing, and deploying changes to an application any time they’re committed to a repository.
It’s a good thing, too, because today it’s not just about applications; even infrastructure is frequently so complex that it needs to be treated like code, with instructions for creating it versioned and stored so that it can be run automatically.
So it’s time to learn about how CI/CD works.  And where better to start than with Jenkins, which frequently sits at the heart of the matter? In this series of articles, we’re going to look at how to perform various tasks with Jenkins, such as creating a pipeline, allowing for human intervention, and performing tests and security scanning.
Today we’ll start at the very beginning, with how to install Jenkins and get it to build your project whenever someone pushes changes to Github.
In general, we’re talking about four steps:

Install the prerequisites
Install and initialize Jenkins
Connect Jenkins to Github
Create a project to build your application

Before we start, however, let’s talk a little bit about what Jenkins actually is and what it does for us.
What is Jenkins?
Jenkins is arguably the standard tool used for automatic deployment of applications.  Packaged as a self-contained Java application, Jenkins enables you to create “jobs” that carry out specific tasks when certain events occur.
For example, you might configure a job that runs unit tests against your codebase once a day, sending an email with the results to a specified list of people. You might set it up so that it acts as a distributor of the “latest” version of your application at any given time.  Or you might, as we are going to do in this tutorial, simply set it up to build your application whenever changes are pushed to Github, thus making certain that code doesn’t get too badly out of sync.
Jenkins comes with a number of different plugins that help integrate with various applications and systems, and hundreds of plugins are available for it. There are probably very few CI/CD-related tasks that Jenkins can’t do.  (In fact, I can’t think of any off the top of my head.)
You can even create complicated pipelines for Jenkins to follow, including multiple “stages”. For example, Mirantis Cloud Platform (MCP) uses Jenkins as part of its CI/CD process, pushing code to a staging environment automatically but requiring human approval before changes are pushed to production.
Let’s start by installing and initializing Jenkins.
Installing Jenkins
The first step, of course, is to install and initialize Jenkins.  As a Java application, it can run pretty much anywhere but the Jenkins site does have instructions and downloads that make installation easy on a number of different platforms, including various Linux flavors, Windows, and MacOS.  In our case, we’re going to use a fresh Ubuntu 16.04 VM to make sure that we haven’t left out any steps.
To get up and running, we’re going to execute the following steps:

Install Git
Create a local test repository to make sure Git is working, and to have something to test Jenkins with
Install Java8
Install Jenkins
Initialize Jenkins

Fortunately, we can use Ubuntu’s built-in package management system, apt-get, to do most of what we need to do.
Install Git
To install Git on Ubuntu, we just have to execute two steps:
sudo apt-get update
sudo apt-get install git
Once Git is finished installing, you can test it by checking out an existing Github repository.  For example, in my case, I’m going to use:
git clone https://www.github.com/nickchase/jenkins-example
This repo consists of two files:
Jenkinsfile
README.md
The files themselves aren’t very important at this stage; they don’t actually do anything significant. We just want to have the repo ready so we can see that Jenkins does go ahead and build the project when we make changes.  To do that, we do need to create a simple Jenkinsfile.  In my case, I’m using:
pipeline {
agent any
stages {
stage(‘myStage’){
steps {
sh ‘ls -la’
}
}
stage(‘Build’) {
steps {
sh ‘ls’
}
}
}
}
Note also that while Jenkins runs in Java and is therefore platform independent, the build scripts themselves are not; if you are running Jenkins on a Windows machine, replaceNote that this file doesn’t actually do much of anything, except output the contents of the directory (twice). It certainly doesn’t build anything. We’ll talk more about creating a Jenkinsfile that actually builds and deploys an app in future articles, but for now we just want to make sure everything works, so don’t worry about trying to figure it out.
Note also that while Jenkins runs in Java and is therefore platform independent, the build scripts themselves are not; if you are running Jenkins on a Windows machine, replace:
sh ‘ls -la’
and
sh ‘ls’
with
bat ‘dir’
Install Java 8
Because Jenkins is a Java application, we will, of course, have to have Java installed.  Unfortunately, it does require Java 8, so it’s not as simple as just installing the default JDK, which is, at the time of this writing, Java 7. Fortunately, though, it’s not overly difficult.  
To install Java 8, start by referencing Oracle’s repos, then update apt-get so it knows where to look. Once you’ve done that, you can simply install Java 8 directly:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
You’ll need to follow the prompts and agree to Oracle’s license agreement.

 
Install Jenkins
The process for installing Jenkins is similar to that for Java 8, in that you’ll need to add a new repository, update apt-get, then install.  You do, however, first need to add the Jenkins key to your system:
wget -q -O – https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add –
Once you’ve done that, you’ll need to manually add the repo by adding the line:
deb https://pkg.jenkins.io/debian-stable binary/
To your /etc/apt/sources.list file. To do this, simply edit the file, as in:
sudo vi /etc/apt-get/sources.list
Once you’ve done that, update apt-get and install, as in:
sudo apt-get update
sudo apt-get install jenkins
Initialize Jenkins
Before you can actually use Jenkins, you’ll need to initialize it.  To do that, point your browser at http://localhost:8080. You’ll be faced with a screen asking for the administrator password.

The easiest way to get this password is to just copy it from the initialAdminPassword file:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword | pbcopy
Next Jenkins will ask you to decide what plugins you want installed; everything we need is in the “recommended” set, so just choose that.
 
Once the plugins are installed, you’ll need to create a new user:

It’s not necessary to use the same credentials you use for GitHub.
Connect Jenkins to Github
Our ultimate goal is to create a project that builds the application when changes are submitted to Github, but in order to do that, we need to connect Jenkins to Github via the Github API.  To do that, we need to create a personal access token using our Github account.
Create a Github access token
To create a Github access token, log into your Github account and go to Settings/Personal Access Token. From there, you can click Generate New Token.

Github enables you to control the capabilities of your new access token with a pretty fine level of granularity, and in a real world situation you will want to choose the bare minimum of capabilities.  In this case, however, give the token all privileges and click Generate Token.

Make sure to copy your new token; once you navigate away from this page, you won’t be able to get it back.

Add Github access token to Jenkins
To add your new token to Jenkins, go back to the Jenkins window and click Credentials.

Choose the Jenkins provider, then the Global Credentials (unrestricted) domain. Click Add Credentials.
In this case, we want to create a Secret Text credential, so set the Kind, then add the text and name it using the ID field.

Click OK to save your changes.
Add Github credentials to Jenkins
We’re also going to need to use our regular credentials to connect to Github, so click Add Credentials again.
This time, choose Username with Password for the Kind and enter your GitHub username and password. You don’t need to name this one (though you can); it’ll show up under the username.

Click OK to save your changes.
Restart Jenkins
Before we can actually connect to Github, we’ll want to restart Jenkins so the credentials are available to us. To do that, point your browser at:

http://localhost:8080/restart

Confirm the restart and wait for Jenkins to come back up.  When it does, log in with the username and password you created earlier.
Now we can actually go ahead and make the connection to GitHub.
Connect Jenkins to Github
In order for Jenkins to know that a change has been submitted (and thus that it needs to build the app) it has to know to check with the Github API. In order to make that happen, we need to configure that capability from within Jenkins itself.
To start, click Manage Jenkins, then Configure System.

Scroll down to the GitHub section and under GitHub Servers, click Add GitHub Server, then GitHub Server again.

Give the server a name, then choose your secret text credentials and click Test Connection to make sure everything is configured properly.

Scroll down and click Save.

Now we’re ready to create the actual Jenkins job that builds the app when changes are pushed.
Create a Jenkins that builds when changes are pushed to Github
We’re almost finished. We just need to create a job that automatically triggers when Jenkins sees a change to the repo.
Start by clicking New Item.

Specify a name for the project and choose Multibranch Pipeline, then click OK.

Scroll down to Branch Sources, then click Add Source, then GitHub.

Choose the credentials you entered earlier, then specify the owner of the repo you’re going to be using. This will make it possible for you to choose the specific repo to monitor and build.

If you scroll down, you’ll notice that the default is to use build instructions in the Jenkinsfile, which we added earlier.

Finally, under Scan Multibranch Pipeline Triggers tick the box for Periodically if not otherwise run and set the time appropriately. This is how often Jenkins will look for changes.

In our case we’re going to use 1 minute just to make sure it’s working, but you probably don’t need to build that often.
Finally, click Save.
Test it out
When you save the project, it will automatically scan the repo and build to make sure everything is working.

You can see the results of the build by click the build number

To see the results, you can click Console output

Now let’s make sure the actual integration is working; go ahead and make a change to one of the files in the repo and push the change to Github, as in:
vi README.md
(make change)
git add README.md
git commit -m “Fixed README”
git push
You may need to enter your GitHub credentials on the command line to get the change to go through.
Once the change has been pushed to GitHub, within the next 60 seconds or so, you will see a new build starting:

So that gets us started! Next time, we’ll talk about some of the more complex tasks you can accomplish with Jenkins.  What would you like to learn how to do?  Let us know in the comments!
The post Intro to CI/CD: How to make Jenkins build on Github changes appeared first on Mirantis | Pure Play Open Cloud.
Quelle: Mirantis

IBM Cloud Event Management is now in beta

Does your DevOps or operations teams ever:

Get swamped with a storm of operational events?
Have trouble prioritizing or relating events from multiple sources?
Allow missed or delayed events to become more severe problems?

IBM Cloud Event Management can now help you navigate the storm without getting shipwrecked.
Enable your DevOps and IT operations teams to resolve application, service and infrastructure problems promptly.
Cloud Event Management automatically correlates events into prioritized incident views. It also notifies the right person at the right time, with integrated, automated notifications. This initiates a fast response and keeps everyone in sync. To quickly resolve incidents, it even matches in-context runbooks with events.
Cloud Event Management:  Identify, notify, and resolve critical incidents fast

Check out how you can resolve incidents fast:

Expedite problem determination: Automatically ingest thousands of events from disparate sources and correlate them into prioritized incidents
Restore service quickly: Resolve simple outages automatically, free up first responders for the hard tasks
Bridge the gap between development and operations teams: Relieve pressure on teams by automatically routing incidents to the right people
Assess and improve operational health: Observe user activity and feedback to evolve runbook guidance and automation

The offering is immediately ready to use from the cloud. Get to Cloud Event Management in the IBM Cloud catalog here.

A version of this post first appeared on the Bluemix Blog.
The post IBM Cloud Event Management is now in beta appeared first on Cloud computing news.
Quelle: Thoughts on Cloud

SAB Holding improves project profitability with SAP on IBM Cloud

Dealing with disparate information systems is the bane of every project manager’s existence. How can you create reports on time or see the big picture when you have to pull data from one system and manually compare it to another? You’re at a distinct disadvantage when you don’t have the insights you need.
Such was the case for SAB Holding, a conglomerate headquartered in Saudi Arabia. The company found its construction subsidiary struggling to get a clear view of materials on hand, procurement, planning and scheduling, as well as process and project documentation. Short of having someone on hand to take notes, there was no good way to keep close tabs on a project.
For example, the company carried more inventory than it needed to, which was inefficient.
A new technology platform
SAB Holding needed a streamlined way to conduct business so its projects could run more profitably. Leaders investigated a new technology platform to handle the company’s rapid growth and enable it to take on more projects. SAB Holding chose SAP S/4HANA because it’s a modern, high-performance technology solution that can scale to fit its needs going forward.
SAB Holding’s executives decided on a cloud deployment because they didn’t want to invest in or think about managing a data center or try to keep up with technology changes. The company looked at several providers and ultimately selected IBM Cloud for SAP Applications, a fully managed, highly secure platform. IBM has global data center coverage and SLA for SAP application availability.
SAB execs chose to use IBM Cloud Managed Services so it would have access to IBM Cloud specialists who could help accelerate time to market and deliver around-the-clock support. SAB Holding leaders would not need to concern themselves with the associated systems administration and maintenance.
Getting started
With a large project pending, the initial ERP environment consisting of several mission-critical SAP S/4HANA applications was set up in just seven days.
TechnoWireless, the SAB Holding IT subsidiary tasked with guiding the project, worked with support from IBM to migrate existing data and implement the new solution. The team deployed multiple SAP  S/4HANA databases for development, quality and production to the IBM Cloud, which supported 15 users to start. Eventually the solution will support 200 users and SAB Holding expects its data to grow by 5 percent per month.
Now project managers can view timely reports from an integrated system that comprises finance, supply chain management, project system and enterprise content management information.
Next steps
Since the construction industry demonstrated early success with the new SAP HANA on IBM Cloud solution, other SAB Holding companies will follow, including two subsidiaries in Dubai and three in Saudi Arabia.
Additionally, SAB Holding formed The Innovation IT Company to take the end-to-end SAP and IBM solution to market as a commercial offering to help other organizations become more efficient. SAB Holdings will begin with the construction industry and move on to other sectors.
With SAP S/4HANA on IBM Cloud, SAB Holding has become smarter, leaner and more efficient, all while creating another revenue stream for its own business.
Read the case study for more details.
Learn more about IBM and SAP applications
The post SAB Holding improves project profitability with SAP on IBM Cloud appeared first on Cloud computing news.
Quelle: Thoughts on Cloud